【MySQL】sql之约束语句

目录

约束的概念和分类

1.约束的概念

2.约束的分类

Tips : MySQL不支持检查约束

非空约束

唯━约束

主键约束

默认约束

外键约束


约束的概念和分类

1.约束的概念

·约束是作用于表中列上的规则,用于限制入表的数据。
·约束的存在保证了数据库中数据的正确性.有效性和完整性

2.约束的分类

约束名称描述关键字
非空约束保证列中所有数据不能有null值not null
唯一约束保证列中所有数据各不同unique
主健约束主键是一行数据的唯一示识,要求非空且唯一primary key
检查约束保证列中的值满足某一条件check
默认约束保存数据时,未指定值则采用默认值default
外健约束外健用来让两个表的数据之间建立链接,保证数据的一致性和完整性foreign key

Tips : MySQL不支持检查约束
 


非空约束

1.概念

        非空约束用于保证列中所有数据不能有NULL值

2.语法

(1)添加约柬
        --创建表时添加非空约束
                create table 表名(
                列名 数据类型 not null,
                 ...
        );
        

        --建完表后添加非空约束
        alter table 表名 modify 字段名 数据类型 not null ;

(2)删险约束
alter table 表名 modify 字段名 数据类型;

 


唯━约束

1.概念

        ·唯一约束用于保证列中所有数居各不相同

2.语法

(1〕添加约束

        --创建表时添加唯—约束
        create table 表名(
                列名 数据类型
unique [auto_increment],
                -- auto_increment:当不指定值时自动增长
                ...
);
        create table 表名(
            列名 数据类型,
            [constration] [约束名称]
unique(列名)
);

 

        --建完表后添加唯一的束
        alter table 表名 modify 字段名 数据类型
unique;

(2)删除约束
alter table 表名 drop index 字段名;
(特殊)
 

主键约束

1.概念
        ·主建是一行数据的唯一标识,要求非空且唯一
        ·一张表只能有一个主键
2.语法
(1〕添加约束

        --创建表时添加主键约束
       create table 表名(
            列名数据类型
primary key [auto_increment],
            ...
        );
        create table 表名(
            列名 数据类型,
            [constration] [约束名称
primary key(列名)
        );
        

        --建完表后添加主键约末
        alter table 表名 add 
primary key(字段名);

(2)删除约束
alter table 表名 drop
primary key;
 

默认约束

1.概念
·保存数据时,未指定值则采用默认值

2.语法
(1)添加约束

        --创建表时添加默认约束
        create table 表名(
            列名 数据类型 default 默认值,
        );

        --建完表后添加默认约束
        alter table 表名 alter 列名 set drfault 默认值;

(2)删除约束
alter table 表名 alter 列名 drop default;

外键约束

1.概念
·外键用来让两个表的数据之间建立链接。保证数据的一致性和完整性

2.语法
(1)添加约束

--创建表时添加外键约束
        create table 表名(
            列名 数据类型,
            ...
            [constration] [外键名称] foreign key(外键列名) references 主表(主表列名));
        );

        --建完表后添加外键约束
        alter table 表名add constration 外键名称 foreign key (外键字段名称) references 主表名称(主表列名称);

(2)删除约束
alter table 表名 drop foreign key 外键名称;


给一张已经存在的表,添加、删除约束

列级约束
添加:
alter table 表名 modify 列名 列类型 约束类型;
删除:
alter table 表名 modify 列名 列类型;

表级约束
添加:
alter table 表名 add [constraint 约束名字] 约束类型(类名);
删除:
alter table 表名 drop constraint 约束的名字;

列级约束与表级约束的语法区别:

1.书写位置不同
2.定义列数不同
3.是否能够给约束起名字
4.not null 只能起列级约束






 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

iknow181

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

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

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

打赏作者

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

抵扣说明:

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

余额充值