CREATE TABLE [tb_name];
1、创建表的主键约束:主键是唯一标识某字段的作用,当该字段为主键的时候,其值必须是唯一的,且不能为空。
mysql>CREATE TABLE student(id INT PRIMARY KEY,
stu_id INT,
course_id INT);id为主键,所有字段都为整数
mysql>CREATE TABLE student (id INT PRIMARY KEY,
stu_id INT,
course_id INT,
PRIMARY KEY(id,stu_id)
); id和stu_id成为主键,两者的组合唯一标识一条记录
2、创建表的外键约束(CONSTRAINT:外键别名;FOREIGN KEY:外键字段;REFERENCES 父表):外键是和另外一个表关联其来的作用,外键必须是另一表的主键,外键可以为空。
mysql>CREATE TABLE student (id INT PRIMARY KEY,
stu_id INT,
course_id INT,
CONSTRAINT c_fk FOREIGN KEY(stu_id,course_id)
REFERENCES example2(stu_id,course)
);表student的stu_id,course_id为外键,外键到example2表的stu_id,course_id主键。example2是student的父表。子表的外键关联的必须是父表的主键。而且,数据类型必须一致。
3、设置表的非空约束(NOT NULL):定义字段值不能为空
mysql>CREATE TABLE student(id INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
stu_id INT,
CONSTRAINT e_fk FOREIGN KEY(stu_id)
REFERENCES example1(stu_id)
); id为主键,NOT NULL定义id和stu_id为非空约束;CONSTRAINT定义外键别名,FOREIGN KEY定义外键字段,REFERENCES定义父表;
4、设置表的唯一约束(UNIQUE):定义字段值唯一。
mysq>CREATE TABLE student(id INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
stu_id INT UNIQUE,
sex CHAR(6),
CONSTRAINT e_fk FOREIGN KEY(sex)
REFERENCES example2(sex),
);id为主键且不能为空;name为字符串类型且不能为空;sut_id为整形且只能唯一;sex为字符串且是外键,example2为student父键。
5、设置表的属性值自动增加:数字自动增长(AUTO_INCREMENT)
mysql>CREATE TABLE student(id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
stu_id UNIQUE AUTO_INCREMENT,
sex CHAR(6) ,
CONSTRAINT e_fk FOREIGN KEY(sex)
REFERENCES example2(sex),
);id为主键且自动增长不能为空,Name为字符串不能为空,stu_id是唯一键自动增长,sex是外键,example2是student的父表。
6、设置表属性的默认值(如果插入一条新的记录没有为这个字段赋值,那么数据库系统会自动为这个字段插入默认值):DEFAULT
mysql>CREATE TABLE student(id INT PRIMARY KEY AUTO_INCREMENT,
name CHAR(20) NOT NULL,
stu_id UNIQUE INT AUTO_INCREMENT,
sex CHAR(6) DEFALUT ‘man‘,
);id为自动增长整数类型,且是主键;name为字符类型,不能为空;stu_id是唯一键自动增长;sex的默认值是man。