一、默认约束

create table 默认约束(
    -> name VARCHAR(10),
    -> age INT UNSIGNED DEFAULT 18
-> );

image.png

image.png

插入指定name为tao的字符串成功

插入指定name,赋值为name,age 错误,只能赋值name

image.png

插入age默认值,默认为18

二、非空约束

create table 非空约束(
    -> name VARCHAR(20), ###插入字符长20的name
    -> sale INT NOT NULL, ###插入非空的字符串
    -> year INT NOT NULL DEFAULT 2022 ###插入非空的字符串,默认值为2022
    -> );

image.png

image.png

省略了sale,提示sale的值不能为空

image.png

插入name为null的成功

image.png

插入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)
    -> );

创建的表结构都是相同的

image.png

插入不重复值成功,插入重复值失败

image.png

创建新表test

image.png

添加唯一约束

四、主键约束

create table 主键约束(
    -> id INT UNSIGNED PRIMARY KEY,
    -> name VARCHAR(20)
    -> );

image.png

插入id为1 name为tao成功

插入id为2name为liu成功

插入重复值id为2的失败

image.png

删除主键约束

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)
    -> );

image.png

image.png

插入id为空的aaa成功 自动生成id 顺序生成

插入id为0的ddd 成功 自动按顺序往下生成

image.png

修改自动增长值为50,再次插入id会从50开始

最后修改:2022 年 10 月 27 日
如果觉得我的文章对你有用,请随意赞赏