一、默认约束
create table 默认约束(
-> name VARCHAR(10),
-> age INT UNSIGNED DEFAULT 18
-> );
插入指定name为tao的字符串成功
插入指定name,赋值为name,age 错误,只能赋值name
插入age默认值,默认为18
二、非空约束
create table 非空约束(
-> name VARCHAR(20), ###插入字符长20的name
-> sale INT NOT NULL, ###插入非空的字符串
-> year INT NOT NULL DEFAULT 2022 ###插入非空的字符串,默认值为2022
-> );
省略了sale,提示sale的值不能为空
插入name为null的成功
插入year为dafault 默认为2022成功
三、唯一约束
create table 唯一约束_lie(
-> id INT UNSIGNED UNIQUE,
-> name VARCHAR(10) UNIQUE
-> );
create table 唯一约束_biao(
-> id INT UNSIGNED,
-> name VARCHAR(10),
-> UNIQUE(id),
-> UNIQUE(name)
-> );
创建的表结构都是相同的
插入不重复值成功,插入重复值失败
创建新表test
添加唯一约束
四、主键约束
create table 主键约束(
-> id INT UNSIGNED PRIMARY KEY,
-> name VARCHAR(20)
-> );
插入id为1 name为tao成功
插入id为2name为liu成功
插入重复值id为2的失败
删除主键约束
ALTER TABLE 主键约束 DROP PRIMARY KEY
删除id的主键约束
ALTER TABLE my_primary MODIFY id INT UNSIGNED;
五、自动增长
create table 自动增长(
-> id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
-> name VARCHAR(20)
-> );
插入id为空的aaa成功 自动生成id 顺序生成
插入id为0的ddd 成功 自动按顺序往下生成
修改自动增长值为50,再次插入id会从50开始