MySQL-约束类型

约束类型

  • 主键约束(Primary key)
  • 唯一约束(unique)
  • 非空约束(not null)
  • 默认约束(default)
  • 外键约束

主键约束(Primary key)

  • 主键约束 唯一非空 后面可以加自增 auto_increment
  • 主键: 表示数据唯一性的字段称为主键
  • 测试:创建学生表,学号为主键
create table student (stuno char(11) primary key);

唯一约束(unique)

  • 创建学生表,身份证号唯一
create table student (stuno char(11) primary key stuname char(10) stuid char(20) unique);
  • 测试
向学生表中插入数据
insert into student values('2018001','张三','110123456781234567');
insert into student values('2018002','张三','110123456781234567');//报错,唯一约束字段的值不能重复
insert into student values('2018003','李四',null);//允许为null,可以有多个

非空约束(not null)

  • 创建学生表,设置姓名为非空

create table student(stuno char(11) primary key,stuname char(10) not null);

  • 测试

insert into student values(‘2018001’,null);
会报错,非空字段的值不允许为null

  • 一个字段可以设置多种约束,顺序任意

默认约束(default)

  • 创建学生表,设置班级名称默认为csd1911

create table student(stuno char(11) primary key,stuname char(10) not null,classname char(20) default ‘csd1911’);

  • 使用默认值的方式
    • 在默认值字段直接写default
    • 不管默认值字段,写出列名,对应相应的列值
  • 测试
  • insert into student values (‘2018001’,‘张三’,‘csd1910’);
  • insert into student values (‘2018002’,‘李四’,default);
  • insert into student (stuno,stuname) values (‘2018003’,'王五);
  • insert into student values(‘2018004’,‘马六’,null);

外键约束(default)

  • 用于定义表与表之间的关系
  • 主表(父表):被参照的表(提供数据的表)
  • 从表(子表):外键所在的表
  • 外键字段的值必须来自于主表中的对应字段或者为null
  • 外键字段参考的主表中的字段必须是唯一的,一般为主键
  • 语法
  • constraint 约束名 foreign key(外键字段名) reference 主表(字段)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值