06-MySQL非外键约束

MySQL中有外键约束和非外键约束, 非外键约束又分为主键约束, 非空约束等, 详细看一下

约束条件约束描述
PRIMARY KEY主键约束,约束字段的值可唯一地标识对应的记录
NOT NULL非空约束,约束字段的值不能为空
UNIQUE唯一约束,约束字段的值是唯一的
CHECK检查约束,限制某个字段的取值范围
DEFAULT默认值约束,约束字段的默认值
AUTO_INCREMENT自动增加约束,约束字段的值自动递增
FOREIGN KEY外键约束,约束表与表之间的关系
-- 举例, 创建一个员工表, 有员工号, 姓名, 性别, 年龄, 邮箱, 列级约束
create table staff (
    sno int ( 5 ) primary key auto_increment,-- 主键自增约束
    sname varchar ( 10 ) not null,-- 非空约束
    gender char ( 1 ) default '男' check ( gender = '男' || gender = '女' ),-- 默认约束和检查约束
    age int ( 3 ) check ( age > 18 || age < 60 ),-- 检查约束
    email varchar ( 50 ) unique -- 唯一性约束
);

-- 举例, 创建一个员工表, 有员工号, 姓名, 性别, 年龄, 邮箱, 表级约束
create table staff (
    sno int ( 5 ) auto_increment,-- 自增只能是列级约束
    sname varchar ( 10 ) not null,-- 非空只能是列级约束
    gender char ( 1 ) default '男',
    age int ( 3 ),
    email varchar ( 50 ),
    constraint pk_sno primary key ( sno ),-- pk_sno主键约束等名字
    constraint ck_gender check ( gender = '男' || gender = '女' ),
    constraint ck_age check ( age > 18 || age < 60 ),
    constraint un_email unique ( email ) 
);

-- 给已经存在的表添加email唯一性约束约束, 其他同理
alter table staff add constraint un_email unique ( email )  -- un_email约束名称
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

绿色的小苹果

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

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

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

打赏作者

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

抵扣说明:

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

余额充值