mysql建立学号与课程编号的索引_数据库mysql 四约束 三范式 六索引

mysql 四约束 三范式 六索引1.MySQL 约束1.约束的作用 分类表列的primary key主键,unique唯一键,not null非空等修饰符常常被称作约束(constraint)约束是数据库用来 提高数据质量和保证数据完整性的一套机制约束作用在表列上,是表定义(DDL语句)的一部分约束分类非空约束(not null)唯一性约束(unique)主键约束(primary key)外键约...
摘要由CSDN通过智能技术生成

mysql 四约束 三范式 六索引

1.MySQL 约束

1.约束的作用 分类

表列的primary key主键,unique唯一键,not null非空等修饰符常常被称作约束(constraint)

约束是数据库用来 提高数据质量和保证数据完整性的一套机制

约束作用在表列上,是表定义(DDL语句)的一部分

约束分类

非空约束(not null)

唯一性约束(unique)

主键约束(primary key)

外键约束(foreign key)

2.查看约束 (索引) 三种方式 desc  show create  show index

desctable_name表名;

show create tabletable_name\G

show index fromtable_name;看不了非空约束

8431f93846450566f774a93f9c86a021.png

f208084cc6959d309698f68e534f4019.png

3.约束的定义方式  列表 和追究定义 primary key主键 案例

创建表时建立约束(事中)建表之前就已经规划好了

create table t (id intprimary key,name char(10));列级定义

2b95b77e275f2a8e6fdd1d26e1803e8a.png

create table t (id int,name char(10),primary key(id));表级定义

3fc735d27b28c05a2b17798725d605c3.png

修改表时追加约束(事后)建表之后根据需要追加

alter table t add primary key(id);追加定义

1553026e6b2ff8a8cebf23b9bcbd16d8.png

create table kwz(id int,name varchar(10),sex char(10),phone char(10),primary key(id,name));

desc kwz;

9a49aac49a925f376d4c2a0626bc5ab5.png

4.非空约束 null 使用modify来追加定义  列级 和追加定义  案例

非空约束用于确保其所在列的值  不能为空值null

只有  列级定义  和  追加定义

语法

create table z(id int not null,name char(10));列级定义

alter table zmodifyname char(10)not null;追加定义

加 非空 约束null

create table z(id int not null,name char(10));

alter table z modify name char(10) not null;

desc z;

insert into z values(1,'aa');

insert into z values(2,'aa');

insert into z values(2,'');

02ffbe6b379475ae81d7c302be2e54dc.png

6d61fd8d18c2bddb79ef8b451830044c.png

f662b363d0cad74cc0c49f8b38ed2098.png

5f2a881b9af77d652164ba17829100d5.png

5.MySQL唯一性约束 unique 案例

表列中不允许有重复值,但是可以有空值

语法

create table t1 (id intunique,name char(10));列级定义

create table t2 (id int,name char(10),unique(id));表级定义

39c8fe2cfeb42d15c787e7d6de481714.png

746808a26a08c3f3f8acd95be7099cb5.png

create table t3 (id int,name char(10));追加定义

alter table t3 modify id int unique;

be5e1b1c8e1486d24c3b26782d404389.png

34e809f1d44127a7e3cde33c807cb18a.png

允许有空值 不允许重复

insert into t3 values(4,'aa');

insert into t3 values(5,'');允许有空值

insert into t3 values(5,'kk');不允许重复

select * from t3;

7bf288cbf434b0d70a86122857a1ad90.png

6.MySQL主键primary key约束 一个表只有 一个主键约束列

表列中不允许有重复值,也不可以有空值

一个表中只能有一个主键约束列,但可以有多个非空+唯一约束的列

语法

create table t (id int primary key,name char(10));列级定义

create table t (id int,name char(10),primary key(id));表级定义

修改表时追加约束(事后)建表之后根据需要追加

alter table t add primary key(id);追加定义

7.MySQL外键foreign key约束 也叫参考约束或一致性约束表级定义

外键 约束引用 主键构成 完整性约束

外键允许有空值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值