mysql约束

  1. 非空约束NOT NULL 

在一个已创建的表里面增加非空约束:ALTER TABLE `Persons`MODIFY `Age` int NOT NULL;

在一个已创建的表里面删除非空约束:ALTER TABLE `Persons`MODIFY `Age` int   NULL;

2、唯一约束 UNIQUE

    • 当表已被创建时,在 P_Id 列创建 UNIQUE 约束:ALTER TABLE `Persons`ADD UNIQUE(`P_Id`)
    • 当表已被创建时,需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束:ALTER TABLE `Persons`ADD CONSTRAINT uc_PersonID UNIQUE (`P_Id`,`LastName`)
    • 撤销UNIQUE 约束: ALTER TABLE `Persons` DROP INDEX uc_PersonID ;

3.主键约束 PRIMARY KEY

    • 当表已被创建时,在 P_Id 列创建 primary key 约束:ALTER TABLE `Persons`ADD primary key(`P_Id`)
    • 当表已被创建时,需命名primary key 约束,并定义多个列的primary key 约束:ALTER TABLE `Persons`ADD CONSTRAINT prim_PersonID primary key (`P_Id`,`LastName`)
    • 撤销primary key 约束: ALTER TABLE `Persons` DROP primary key ;或者ALTER TABLE `Persons`DROP CONSTRAINT prim_PersonID

4.外键约束FOREIGN KEY

在一个已创建的表里面增加外键约束:ALTER TABLE `Orders`ADD FOREIGN KEY (P_Id) references Persons(ID)

在一个已创建的表里面删除非空约束:ALTER TABLE `Persons` drop FOREIGN KEY

5.检查约束 CHECK

CHECK 约束用于限制列中的值的范围,评估插入或修改后的值;

    • 如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

    • 如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。

建表时增加check约束:

CREATE TABLE `courses`
(`id` int,
`name` varchar(255),
`student_count` int,
`created_at` date,
`teacher_id` int,
CHECK (`student_count` > 0)
)

 

 表已建添加check约束:ALTER TABLE `courses` ADD CHECK ( `student_count` > 0);

6.默认约束 DEFAULT

    • 在一个已创建的表里面增加default约束:ALTER TABLE `Orders`alter city set default 'cd'
    • 在一个已创建的表里面删除default约束:ALTER TABLE `Orders`alter city drop  default

 

 

 

posted @ 2022-05-17 17:54  测试者7月  阅读(27)  评论(0)    收藏  举报