mysql约束

时间:2019-08-22
本文章向大家介绍mysql约束,主要包括mysql约束使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
-- 在创建表时设置主键约束
CREATE TABLE tb_emp4
(
id INT(11),
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
PRIMARY KEY(id)
);

-- 在创建表时设置复合主键
CREATE TABLE tb_emp5
(
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
PRIMARY KEY(name,deptId)
);

-- 在修改数据表时添加主键约束
ALTER TABLE tb_emp2
ADD PRIMARY KEY(id);

-- 在创建表时创建外键约束
CREATE TABLE tb_emp6
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
CONSTRAINT fk_emp_dept1
FOREIGN KEY(deptId) 
REFERENCES tb_dept1(id)
);

-- 在修改表时添加外键约束
ALTER TABLE tb_emp2
ADD CONSTRAINT fk_tb_dept1
FOREIGN KEY(deptId)
REFERENCES tb_dept1(id);

-- 删除外键约束
ALTER TABLE tb_emp2
DROP FOREIGN fk_tb_dept1;

-- 在创建表时设置唯一索引
CREATE TABLE tb_emp2
(
id INT PRIMARY KEY,
name VARCHAR(40) UNIQUE,
location VARCHAR(50)
);

-- 在修改表时添加唯一索引
ALTER TABLE tb_dept1
ADD CONSTRAINT unique_name UNIQUE(name);

-- 删除唯一索引
ALTER TABLE tb_dept1
DROP INDEX unique_name;

--在创建表时设置检查约束
CREATE TABLE tb_emp7
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
CHECK(salary>0 AND salary<10000)
);

-- 在修改表时添加检查约束
ALTER TABLE tb_emp7
ADD CONSTRAINT check_id
CHECK(id>0);

-- 在创建表时设置默认值约束
CREATE TABLE tb_dept3
(
id INT(11) PRIMARY KEY,
name VARCHAR(22),
location VARCHAR(50) DEFAULT 'Beijing'
);

-- 在修改表时添加默认值约束
ALTER TABLE tb_dept3
CHANGE COLUMN location
location VARCHAR(50) DEFAULT 'Shanghai';
CHECK(id>0);

-- 删除默认值约束
ALTER TABLE tb_dept3
CHANGE COLUMN location
location VARCHAR(50) DEFAULT NULL;

-- 在创建表时设置非空约束
CREATE TABLE tb_dept4
(
id INT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
location VARCHAR(50)
);

-- 在修改表时添加非空约束
ALTER TABLE tb_dept4
CHANGE COLUMN location
location VARCHAR(50) NOT NULL;

-- 删除非空约束
ALTER TABLE tb_dept4
CHANGE COLUMN location
location VARCHAR(50) NULL;

  

原文地址:https://www.cnblogs.com/277223178dudu/p/11393768.html