MySQL学习(七)—— 约束(主键约束,非空约束,唯一约束,外键约束)

问题描述 :

        约束:对表中的数据进行下限定,保证数据的正确性、有效性和完整性

      

解决方案 :

一、主键约束 :primary key

        1.注意 :

                (1)主键非空且唯一

                (2)一张表只能有一个字段为主键

                (3)主键就是表中记录的唯一标识

        2.在创建表时,添加主键约束

                          

        3.删除主键

                        

        4.创建完表后,添加主键

                          

        5.自动增长 (只读取上一位)

                (1) 概念 :如果某一列是数值类型的,使用auto_increment可以来完成值的自动增长

                (2) 在创建表时,添加自动增长

                        

                (3) 删除自动增长

                        

                (4) 创建完表后,添加自动增长

                        

二、非空约束 :not null,某一列的值不能为null

        1.创建表时添加约束

                         

        2.删除name的非空约束

                        

        3.创建完表后,添加非空约束

                        

三、唯一约束 :unique,某一列的值不能重复

        1.注意 :唯一约束可以有null值,但是只能有一条记录为null

        2.在创建表时,添加唯一约束

                         

        3.删除唯一约束

                ​​​​​​​        

        4.创建完表后,添加唯一约束

        ​​​​​​​        ​​​​​​​        

四、外键约束 :foreign key,让表与表产生关系从而确保数据的正确性

        1.在创建时,添加外键

                语法 :

                        create table 表名称(

                                ...

                                外键列,

                                constraint 外键名称 foreign key(外键列名称) reference 主表名称(主表列名称)

                        );

                                

        2.删除外键

                alter table 表名称 drop foreign key 外键名称;

                                

        3.创建表之后,添加外键

                alter table 表名称 add constraint 外键名称 foreign key (外键字段名称) reference 主表名称(主表列名称)

                        

        4.级联操作 :危险且影响效率

                (1)添加级联出操作

                        语法 :alter table 表名称 add constraint 外键名称

                                    foreign key (外键字段名称) reference 主表名称(主表名称)

                                    on update/delete cascade

                                           

                (2)分类 :

                        级联更新 :on update cascade

                        级联删除 :on delete cascade

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值