【MySQL】轻松学习 列的完整性约束2(非空和唯一性约束)

目录

    🍀🍀🍀

    一、设置表字段的非空约束(NOT NULL, NK)

    二、设置表字段唯一约束(UNIQUE,UK)


一、设置表字段的非空约束(NOT NULL, NK)

     当数据库表中的某个字段上的内容不希望设置为NULL时,可以使用NK约束进行设置。NK约束在创建数据库表时为某些字段上加上“NOT NULL”约束条件,保证所有记录中的该字段都有值。如果在用户插入的记录中该字段为空值,那么数据库管理系统会报错。

     设置表中某字段的NK约束非常简单,查看帮助文档可以发现,在MySQL数据库管理系统中是通过SQL语句NOT NULL来实现的,其语法形式如下:

CREATE TABLE tablename(

    propName propType NOT NULL , ......

);

     例如

create table class(
    id int, 
    name varchar(128) NOT NULL, 
    teacher varchar(64)
);


设置表字段唯一约束(UNIQUE,UK)

     当数据库表中某个字段上的内容不允许重复时,可以使用UK约束进行设置。UK约束在创建数据库时为某些字段加上“UNIQUE”约束条件,保证所有记录中该字段上的值不重复。如果在用户插入的记录中该字段上的值与其他记录中该字段上的值重复,那么数据库管理系统会报错。

     设置表中某字段的UK约束非常简单,可以在MySQL数据库管理系统中通过SQL语句UNIQUE来实现,其语法形式如下:

CREATE TABLE tablename(

    propName propType UNIQUE, ......

);

注意: unique 约束允许受约束的字段出现多个空值 NULL, 不算重复


      例如

insert into class 
values(1,'小张','王a老师'),
      (2,null,'王老师'),
      (3,null,'李老师');

      当插入有重复时则会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值