MySQL 约束
查看约束
select * from information_schema.table_constraints
where table_name='要查看的表名'
按约束的作用范围
列级约束: 将此约束声明在对应字段的后面
表级约束:在表中所有字段都声明完,在所有字段的后面声明的约束,可以声明组合约束
约束的作用
- not null 非空约束
- unique 唯一约束
- primary key 主键约束
- foreign key 外键约束
- check 检查约束
- default 默认值约束
添加约束
声明表定义约束
create table 表名 (
id int not null
);
声明表之后,追加、删除约束
alter table 表名
modify 列 类型 约束 — 追加约束 写上约束便可,若删除约束 不写约束便可
sql server 追加约束
alter table 表名
add constraint 约束名 约束类型 (字段)alter table 表名
add constraint ch_tel check( 列名 like [0-9] [0-9][0-9][0-9] )
非空约束
声明表定义约束
create table 表名 (
id int not null
);
声明之后追加约束
alter table 表名
modify 列 类型 not null— 追加约束 写上约束便可,若删除约束 不写约束便可
删除非空约束
alter table 表名
modify 列 类型 — 除去 not null 便可
唯一约束 UNIQUE
- 同一个表可以有多个唯一约束
- 唯一约束可以是某一列的值唯一,也可以多个列组合的值唯一(复合约束)
- 唯一约束允许列值为空, 主键约束 是特殊的唯一约束,只是不允许为 null,即 主键约束(primary key)相当于 唯一约束 非空约束组合,主键约束 列 不允许重复,且不能出现 空值 null
- 在创建唯一约束的时候,若没有给唯一约束 命名,则默认和列名相同。复合唯一约束,没命名,也取 复合列中的第一个列 做为约束名
- Mysql 会给唯一约束的列上默认创建一个唯一索引, SQL server 中 主键约束,会默认创建一个 唯一索引
在create table 添加唯一约束
create table 表名(
sut_NO char(8) UNIQUE, – 列级约束
sut_ID char(18), – , 别忘记
constraint 约束名 UNIQUE(sut_ID ) 可以简写 UNIQUE KEY (sut_ID) —表级约束
);
在create table 添加复合唯一约束
create table 表名(
sut_NO char(8) , – 列级约束
sut_ID char(18), – , 别忘记
constraint 约束名 UNIQUE(sut_ID ,sut_NO) 可以简写 UNIQUE KEY (sut_ID,sut_NO) —表级约束
);
建表后 指定唯一约束
方式1 支持复合约束的
alter table 表名 add unique key(字段列表)方式2 不支持复合约束
alter table 表名 modify 字段名 unique
删除唯一约束
alter table 表名
DROP INDEX 索引名查看表的索引
show index from 表名 ;
主键约束 PRIMARY KEY
主键约束: 唯一约束 非空约束 非空且唯一
create table student (
id int autoincrement,
name varchar(10),
stu_ID char(18) primary key -- 列级约束----身份证号
create table student (
id int autoincrement,
name varchar(10),
stu_ID char(18) ,
-- MYSQL 主键名总是PRIMARY ,就算命名了主键约束名,也没用
constraint 约束名 primary key(stu_ID) -- 列级约束----身份证号
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgekkgc
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01