期末自主复习 之 实施数据完整

1. MySQL 提供的约束

为了实施数据完整性,MySQL 提供了以下六种约束。

 

  • (1)主键约束(PRIMARY KEY):定义为主健的字段或字段组合,其取值在表中不能重复,构成主键的字段不能为NULL.

 

  • (2)外键约束(FOREIGN KEY): 定义为外键的字段,其值必须参考被它参照的表的主键的取值,当外键不是构成主键的字段时,可以为NULL.

 

  • (3)唯-约束(UNIQUE): 定义了唯约束的字段在表中的取值不能重复.

 

  • (4)非空约束(NOT NULL):定义了非空约束的字段取值不能为NULL.

 

  • (5)默认约束(DEFAULT): 定义了默认约束的字段,在没有给它输入数据的情况下取默认值.

 

  • (6)检查约束(CHECK): 定义了检查约束的字段,其值必须使CHECK(表达式)中的表达式的返回值为TRUE.

那我们该如何添加自己所需的约束呢~


添加约束的情况有两种:

①在已存在的数据表中添加约束

②在创建数据表的同时添加约束


我们先来看①这种情况

  1. 添加约束,语法格式如下:

添加主键约束:

ALTER TABLE 表名 ADD PRIMARY KEY (字段名);

添加外键约束:

ALTER TABLE 表名 ADD FOREIGN KEY (字段名) REFERENCES 父表名(字段名);

添加唯一约束:

ALTER TABLE 表名 ADD UNIQUE (字段名);

添加检查约束:

ALTER TABLE 表名 ADD CHECK (字段名);

     2. 删除约束,语法格式如下:

删除主键:

ALTER TABLE  表名 DROP PRIMARY KEY;

删除外键:

ALTER TABLE  表名 DROP FOREIGN KEY 约束名;

删除唯一约束:

ALTER TABLE  表名 DROP [INDEX | KEY ]约束名;

删除检查约束:

ALTER TABLE  表名 DROP CHECK 约束名;

   3. 添加和删除非空约束和默认约束,语法格式如下:

 

ALTER TABLE 表名 MODIFY 字段名 数据类型 [NOT NULL | DEFAULT 默认值];

 


呼~①结束

看官 别走 你难道忘记上文的②了吗

d2ef68978d2a462b8c121ccedf20f69c.png


 

②在创建数据表的同时添加约束

 

不知道大家还记不记得我上一篇数据表的创建与管理中的suinfo表,本趴菜来放个图:

 

06356b7a208f459fa8865b29171c7642.png

 

假设我要在创建suinfo表同时为其添加约束,代码如下:

 

CREATE TABLE stuinfo(

stuno CHAR(4) PRIMARY KEY,

stuname CHAR(5) NOT NULL,

stusex ENUM('男','女'),

stubirthday DATE,

stuaddress VARCHAR(60) DEFAULT '地址不详');


 

 如何查看(一览)我们的表结构?

 

DESC 表名;

 

 

 

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值