SQL中有哪些约束,分别如何使用?

本文详细解读SQL约束,包括非空(notnull)、默认(default)、主键(primarykey)、唯一(unique)、检查(check)和外键(foreignkey)。通过实例演示如何在数据库设计中应用这些约束,提升数据一致性。
摘要由CSDN通过智能技术生成

首先我们先来了解下什么是SQL约束:

是SQL在创建表数据字段时候的一种限制,用于限制表中的数据,为了保证表中数据的准确和可靠性。

以下分为六大约束:

—not null:非空约束,用于保证该字段的值不能为空

假如创建字段学生姓名和学号不能为空
create table students(
students_name varchar(20) not null,
students_id int not null)

—default:默认约束,如果该字段插入值为空时,此时能将null改成所设置的默认值

假如要创建学生年龄字段,如果没填写的默认为18岁
create table students(
age int default 18)
此时如果插入age数据为null时候,会默认修改成默认值18

—primary key:主键,用于保证该字段的值具有唯一性,并非为空

一般来说像创建id时候,既不能为空值,也不能和其他值重复
create table students(
students_id primary key)

—unique:唯一,用于保证该字段唯一性,但是可以为空值

unique和主键类似,都是具有唯一性,但是主键一个表中只能创建一次,而且不能为空;但唯一在表中可以创建多次,而且可以为null,但因为具有唯一性,所以也只能有一个null

—check:检查约束(mysql中不支持)

一般不使用,mysql中不支持

—foreign key:外键,用于限制两个表的关系,用于保证该字段的值必须来自主表的关联列

这里需要有一个从表和一个主表,从表中一个字段是受主表中的关联列限制

主表:
create table major(
id int primary key,
majorname varchar(20))

从表:
create table stuinfo(
majorid int,
stuname varchar(20),
foreign key(majorid) references major(id))

这里stuinfo中的majorid字段是受到主表major中的id列限制

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Junn225

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值