DDL常见约束类型

本文详细介绍了数据库中DDL(Data Definition Language)的常见约束类型,包括主键约束、外键约束、唯一约束、非空约束和检查约束。这些约束在确保数据完整性和一致性方面起着至关重要的作用。
摘要由CSDN通过智能技术生成

在这里插入图片描述

-- --*********************************************
#外键删除数据(理论上先删除从表,再删主表,but秘籍可以实现直接删主表信息)

#方式一:级联删除:  ON DELETE CASCADE
ALTER TABLE stuinfo ADD FOREIGN KEY(majorid) REFERENCES major(id) ON DELETE CASCADE; 

#方式二:级联置空:  ON DELETE SET NULL
ALTER TABLE stuinfo ADD FOREIGN KEY(majorid) REFERENCES major(id) ON DELETE SET NULL; 
-- --*********************************************
#常见约束
/*
含义:一种限制,用于限制表中的数据的准确性和可靠性
分类:
	1、not null:非空约束(必填项)
	2、default:默认约束,保证该字段有默认值
	3、primary key:主键约束,保证该字段的值具有唯一性,且非空
	4、unique:唯一约束,可以为空
	5、check:检查约束【mysql不支持】 
	6、foreign key:外键约束,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值
		在从表添加外键约束,引用主表中某列的值
添加约束的时机:(添加数据之前)
	1、创建表时
	2、修改表时
约束的添加分类:
	1、列级约束(紧跟列类型之后,在,之前)
		语法上支持6大约束,但外键约束无效果
	2、表级约束(在所有添加字段之后,在结束语句;之前)
		除了非空、默认,其他都支持 
主键和唯一的对比:
	1、都能保证数据的唯一性
	2、主键不能为空,而唯一可以为空,且仅允许出现一个null
	3、每个表最多只能有一个主键,但可以有多个唯一键
	4、都允许组合,但不推荐(语法:primary key(字段1,字段2);unique(字段1,字段2))
外键:
	1、要求在表设置外键关系
	2、从表外键列和主表列的类型应该一致或兼容
	3、主表中的关联列必须是键(主键或唯一键)
	4、删除的时候先删除从表,创建的时候先创建主表 
列级约束表级约束的对比:
	1、列级约束在列的后面,用于限制前面的列;表级约束在所有列的后面,需要在约束后面缀要约束的列
	2、列级约束语法上支持5种约束(cheak不支持),但外键约束没效果;表级约束不支持默认和非空,其他支持(cheak不支持)
	3、列级约束不可以起约束名,表级约束可以,但外键约束名没效果
*/

CREATE DATABASE IF NOT EXISTS students;
-- -----------------------------------------------------*****
#一、创建表时添加约束条件
#通用写法
CREATE TABLE IF NOT EXISTS stuinfo(
	id INT PRIMARY KEY,
	stuname VARCHAR(20) NOT NULL,
	sex CHAR(1),
	seat INT UNIQUE,
	majorid INT,
	CONSTRAINT fk_strinfor_major FOREIGN KEY(majorid)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值