1.数据表中引用约束条件
(1)单字段主键:
/* PRIMARY KEY 主键,具有唯一,不为空的属性 */
CREATE TABLE td_emp
(
td_id INT PRIMARY KEY,
td_name VARCHAR(50),
td_salary FLOAT
);
运行结果为:
/* 查看表结构 */
DESC td_emp;
运行结果为:
(2)多字段主键:
/* PRIMARY KEY(t_id,t_name)多字段联合主键 */
/* 注意:一般只有ID才要设置主键 */
CREATE TABLE td_emp2
(
t_id INT,
t_name VARCHAR(50),
t_salary FLOAT,
PRIMARY KEY(t_id,t_name)
);
运行结果为:
/* 查看表结构 */
DESC td_emp2;
运行结果为:
(3)外键的使用
/* 创建一张数据附表命名为td_students */
/* 使用外键约束 */
CREATE TABLE td_students
(
st_id INT PRIMARY KEY,
st_name VARCHAR(20) NOT NULL,
st_sex CHAR(2),
st_deptid INT,
CONSTRAINT fk_students_emp FOREIGN KEY(st_deptid) REFERENCES td_emp(td_id)
);
/* 查看表结构 */
DESC td_students;
运行结果为:
(4)使用非空约束
/* 使用非空约束 */
/* 设置了非空约束 NOT NULL 后,那个值得的属性就不能为空,一定要填写。 */
CREATE TABLE td_students01
(
st_id INT PRIMARY KEY,
st_name VARCHAR(20) NOT NULL,
st_sex CHAR(2),
st_deptid INT
);
运行结果为:
/* 查看表结构 */
DESC td_students01;
(5)使用唯一性约束
/* 使用唯一性约束 */
/* 设置了唯一性约束 UNIQUE ,要求该列唯一,允许为空,但只能出现一个空值。 */
CREATE TABLE td_students02
(
st_id INT PRIMARY KEY,
st_name VARCHAR(20) NOT NULL,
st_sex CHAR(2),
st_deptid INT UNIQUE
);
运行结果为:
/* 查看表结构 */
DESC td_students02;
运行结果为:
(6)使用默认约束
/* 使用默认约束 DEFAULT '男' 后,该值的属性会根据默认的属性所执行。*/
CREATE TABLE td_students03
(
st_id INT PRIMARY KEY,
st_name VARCHAR(20),
st_sex CHAR(2) DEFAULT '男',
st_deptid
);
运行结果为:
/* 查看数据表结构 */
DESC td_students03;
运行结果为:
(7)使用自动增加性约束
/* 使用自动增加性约束 */
/* 当 id 设置了自动增加约束 AUTO_INCREMENT 后,id的数字顺序就会自动的增加,不会出现重复效果。 */
CREATE TABLE td_students04
(
st_id INT PRIMARY KEY AUTO_INCREMENT,
st_name VARCHAR(20) NOT NULL,
st_sex CHAR(2) DEFAULT '男',
st_deptid INT UNIQUE
);
运行结果为:
/* 查看表结构 */
DESC td_students04;
运行结果为:
插入语句到数据表td_students04中
/* 插入语句到数据表td_students04中 */
INSERT INTO td_students04(st_name,st_deptid) VALUES('张一',1);
INSERT INTO td_students04(st_name,st_deptid) VALUES('张二',2);
INSERT INTO td_students04(st_name,st_deptid) VALUES('张三',3);
INSERT INTO td_students04(st_name,st_deptid) VALUES('张四',4);
INSERT INTO td_students04(st_name,st_deptid) VALUES('张五',5);
运行结果为:
/* 输入查看数据表内容 */
SELECT * FROM td_students04;
运行结果为:
注意:自动增加的效果起步自加不是从10开始算起的,而是从1开始算的。
注意:这里的每个约束条件属性都可以同时设置在一张数据表中,而我这里的每个约束条件属性用了各自不同的数据表,是为了更好的区分每一个约束条件的属性值。