DDL
表级约束
#表级约束
CREATE TABLE userinfofo(
id INT,#设置主键
name VARCHAR(20) NOT NULL,
gender VARCHAR(10),
phone CHAR(11),
age INT DEFAULT 20,
address INT,
CONSTRAINT pkey PRIMARY KEY(id), #对id进行约束,把id设为主键
CONSTRAINT uqkey UNIQUE(phone), #对phone进行约束,把phone设为唯一值
#CONSTRAINT ck CHECK(gender='男' OR gender='女'), #check不生效
CONSTRAINT fkey FOREIGN KEY(address) REFERENCES address(id) # 外键
)
# 表级约束的修改
ALTER TABLE userinfo ADD CONSTRAINT FOREIGN KEY(address) REFERENCES address(id)
# 删除外键约束
SHOW CREATE table userinfo
ALTER TABLE userinfo DROP FOREIGN KEY userinfo_ibfk_1
总结
/*
通用格式
create table 表名(
id int primary key,
name varchar(100) not null,
gender varchar(10),
phone char(11),
age int delete 20, #默认值为20
address int,
# 对字段进行约束
constraint 新名字 unique(phone),
# 外键
constraint 新名字(fkey) foreign key(address) references address(id)
)
# 主键约束和唯一值约束对比
保证唯一性 是否可以为空 一张表中是否可以存在多个
唯一值约束 可以 可以 可以
主键约束 可以 不可以 最多一个
# 表级约束的修改
# 增加外键
alter table 表名 add constraint foreign key(表名1) references 表名1(字段)
# 删除外键
show creat table 表名 # 查看外键真正的名字
alter table 表名 drop foreign key 外键的真正名字
*/
# 查看自增长的步长
SHOW VARIABLES LIKE '%auto_increment%'