一.创表基础语法
create table 表名(字段名1 数据类型[列级别约束条件] [默认值],
字段名2 数据类型 [列级别约束条件] [默认值],
字段名3 数据类型 [列级别约束条件] [默认值]。
[表级别约束条件]);
tip:最后一条语句末尾无需逗号,前面语句后都要加逗号
二.约束条件
1.主键约束
二.1.1 单字段主键
即可使用列级约束条件也可使用表级约束条件
列级约束
CREATE TABLE test_tb1
(
id INT(11) PRIMARY KEY,
name VARCHAR(25)
);
表级约束
CREATE TABLE test_tb1
(
id INT(11) ,
name VARCHAR(25),
PRIMARY KEY (id)
);
二.1.2 多字段联合主键
使用表级约束条件创建
CREATE TABLE test_tb1
(
id INT(11),
name VARCHAR(25),
age INT(11),
PRIMARY KEY(id,name)
);
2.外键约束
使用表级约束条件创建
FOREIGN KEY ('列名') REFERENCES '对应主键所在表名'('对应主键名')
后面再加上
ON DELETE SET NULL --删除自动置空 -- ON DELETE SET CASCADE 则是一起删除
3.其他约束
非空约束 NOT NULL,
唯一性约束 UNIQUE,
属性值自增 AUTO_INCREMENT,
默认值约束 DEFAULT 默认值
描述约束 类似注释 comment ‘注释语句’
检查约束,用于限制取值(仅适用于mysql8.0以上版本)
create table test_user
(
id int primary key,
name VARCHAR(20),
sex VARCHAR(1),
grade int,
check (sex='男'or sex='女'),
check (int <= 100)
);
等效于数据类型中的enum
CREATE TABLE student (
name VARCHAR(32),
sex ENUM('男', '女'),
age INT(3),
email VARCHAR(255)
);
2016






