MySQL中常见的列约束

MySQL可以对要插入的值进行验证,只有符合条件才允许插入,例如:编号不允许重复,性别的值只能是男女...

create table t1 (

id int primary key , 列类型 + 列约束

);

1.主键约束---primary key

声明了主键约束的列上不允许出现重复的值,一个表中只能有一个主键约束,通常加在编号列上,会加快数据的查找速度。

null表示空,表示一个暂时无法确定的值,例如:无法确定商品的价格,库存量(null是关键字不能加引号)

声明了主键约束的列上不允许插入null

2.非空约束---not null

声明了非空约束的列上不允许插入null。

3.唯一约束----unique

声明了唯一约束的列上不允许插入重复的值,允许插入null,甚至多个null

4.默认值约束----default

可以使用default关键字来设置默认值,如果不设置默认值,则默认值为null,具体应用默认值有两种方式:

insert into laptop values(1,'小米',default...);

insert into laptop(lid,title) values(2,'戴尔');#没有出现的列会自动使用默认值。

5.检查约束----check

也称自定义约束,用户可以添加自定义的约束条件

create table student(

score tinyint check(score>=0 and score 分数0-100

);

mysql 不支持检查约束,后期通过JS来实现

6.外键约束

声明了外键约束的列上要插入的值必须在另一个表的主键中出现过,目的是为了让两个表之间建立关联。

外键约束允许插入null

foreign key(外键列) references 另一个表(主键列)

外 当前表 参考

外键列的列类型要和另一个表主键列的列类型要保持一致

另外,自增列也是数据库中常用的:

auto_incerment: 自动增长,设置了自增列,在插入数据的时候,只需要赋值为null,就会获取最大值然后加1插入

注意事项:

自增列必须添加在整数形式的主键列

自增列允许手动赋值

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值