MySQL6

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%'

你可能感兴趣的:(MySQL6)