一、默认约束
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开始