NOT NULL - 指示某列不能存储 NULL 值。
UNIQUE - 保证某列的每行必须有唯一的值。
DEFAULT - 规定没有给列赋值时的默认值。(后面空格直接跟该默认值)
PRIMARY KEY(主码)- NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。对于整数类型的主键,常配搭自增长auto_increment(MySQL特有函数,子代i++)来使用,在插入数据时即可不给该主码对应字段不给值,默认使用前一个+1。
FOREIGN KEY(外码)- 用于关联其他表的主码,保证一个表中的数据匹配另一个表中的值的参照完整性。
-- 创建班级表,有使用MySQL关键字作为字段时,需要使用``来标识
DROP TABLE IF EXISTS classes;
CREATE TABLE classes (
id INT PRIMARY KEY auto_increment,
name VARCHAR(20),
`desc` VARCHAR(100)
);
-- 重新设置学生表结构
DROP TABLE IF EXISTS student;
CREATE TABLE student (
id INT PRIMARY KEY auto_increment,
sn INT UNIQUE,
name VARCHAR(20) DEFAULT 'unkown',
qq_mail VARCHAR(20),
classes_id int,
FOREIGN KEY (classes_id) REFERENCES classes(id)
);
CHECK - 保证列中的值符合指定的条件。MySQL不可以使用CHECK语句,但SQL server中可以使用。