十一、MySQL约束(二)

学习笔记

3、非空约束(not null)

     概念

         MySQL非空约束(not null)指字段的值不能为空,对于使用了非空约束的字段,如果用户            在添加数据时没有指定值,数据库系统会报错。

    语法

    方式1:<字段名><数据类型> not null;

    方式2:alter table 表名 modify 字段 类型 not null;

    添加非空约束-方式1

create table t_user6(

id int;

name varchar(20) not null;

address varchar(20) not null;

);

   添加非空约束-方式2

create table t_user7(

id int,

name varchar(20),

address varchar(20)

);

alter table t_user7 modify name varcher(20) not null;

alter table t_user7 modify address varchar(20) not null;

     删除非空约束 

 alter table 表名 modify 字段 类型

 alter table t_user7 modify name varchar(20);

 alter table t_user7 modify address varchar(20);
     4、唯一性约束(unique)

          概念

             唯一约束(unique key)是指所有记录中字段的指不能重复出现。列如,为id字段加上唯                 一约束后,每条记录的id值都是唯一的,不能出现重复的情况

         语法:

            方式1:

               <字段名><数据类型> unique

           方式2:

alter table 表名 add constraint 约束名 unique(列);

       添加唯一约束-实现方式1

       创建表时指定

create table t_user8(

id int,

name varchar(20),

phone_number varchar(20)  unique – 指定唯一约束

);

     5、默认约束(default)

          概念

              MySQL默认值约束用来指定某列的默认值

         语法

             方式1:<字段名><数据类型> default <默认值>

            方式2:alter table 表名 modify 列名 类型 default 默认值

       添加默认约束-实现方式1 

create table t_user10(

id int,

name varchar(20),

address varchar(20) default ‘北京’  -- 指定默认约束

);

       6、零填充约束(zerofill)

           概念

              1、插入数据时,当该字段的值的长度小于定义的长度时,会在该值的前面补上相应的0.

              2、zerofill默认为int(10).

             3、当使用zerofill时,默认会自动加unsigned(无符号)属性,使用unsigned属性后,数                      值范围是原值的2倍,例如,有符号为-128~+127,无符号为0~256.

          操作: 

create table t_user12(

id int zerofill, -- 零填充约束

name varchar(20)

);

         删除

alter table t_user12 modify id int;

  1. 外键约束(foreign key)FK
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值