数据库——基础语法——约束

数据库——基础语法——约束

概念: 约束是作用于表字段上的规则,用于限制村粗在表中的数据

目的:保证数据库的正确,有效性和完整性

一、常规约束

1. 非空约束

NOT NULL

2. 唯一约束

UNIQUE

3. 默认约束

DEFAULT

4. 检查约束

CHECK

二、主键约束

PRIMARY KEY	

添加外检约束的语法

alter table `表名` add constraint `约束名` 约束类型具体的约束说明

alter table user add constraint PK_user primary key(uid)

三、外键约束

FOREIGN KEY

添加外键的语法

ALTER TABLE  `表名`  ADD CONSTRAINT `约束名称` FOREIGN KEY (`表名中有外键的字段`) REFERENCES `主表名` (`主键字段`)

#给user2表中uid 添加外检 参照的是user表中的Uid主键
ALTER TABLE user2 ADD constraint fk_u1_u2 foreign key (uid) REFERENCES user(uid)

删除外键的语法

ALTER TABLE `表名` DROP FOREIGN KEY   `约束名`;

alter TABLE user2 DROP FOREIGN key fk_u1_u2

外键的行为

行为说明
NOT ACTION当附父表中数据删除、更新时,首先检查是否有对应的外键,如果有责不允许当前操作
RESTRICT当附父表中数据删除、更新时,首先检查是否有对应的外键,如果有责不允许当前操作(默认) **
SET NULL当父表中删除,更新数据时,外键中子表中对应的字段设置为 NULL
CASCADE当在父表中删除,更新数据时外键中子表中对应的字段也跟着删除
1.改变外键行为的语法
#先删除原先的约束
ALTER TABLE `表名` DROP FOREIGN KEY `约束名称`, 
#再添加新的约束
 ADD CONSTRAINT `约束名称` FOREIGN KEY (`外键中子字段`) REFERENCES `主表名` (`主键字段`)  ON DELETE CASCADE;#设置外检约束行为

ALTER TABLE sc ADD CONSTRAINT `sc_ibfk_1` FOREIGN KEY (`sno`) REFERENCES `db1`.`student` (`sno`) ON DELETE NO ACTION ON UPDATE RESTRICT;

四、设置自动增长

AUTO_INCREMENT

在这里插入图片描述

CREATE TABLE `user`(
 	id int(255) PRIMARY KEY  AUTO_INCREMENT  COMMENT '主键',
 	name VARCHAR(10) not NULL UNIQUE COMMENT '姓名',
	age int(255) check(age>0 && age<=120) ,
	status char(1 ) DEFAULT '1' COMMENT'状态',
	gender char(1) COMMENT'性别'
 )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值