MySQL--表的约束

四种表的约束:

  • 非空约束:not null
  • 唯一约束:unique
  • 主键约束:primary key
  • 外键约束:foreign key
非空约束
create table user(
	id int,
	name varchar(20) not null
	);
  • 删除name的非空约束
    alter table user modify name varchar(20);
  • 创建表之后,添加非空约束
    alter table user modify name varchar(20) not null;
唯一约束
create table user2(
	id int,
	tel varchar(20) unique
	);
  • 注意:MySQL中,唯一约束限定的列的值可以有多个null
  • 删除唯一约束:
    alter table user2 drop index tel;
  • 在表创建之后,添加唯一约束:
    alter table user2 modify tel varchar(20) unique;
主键约束
create table user3(
	id int primary key,
	name varchar(20)
	);
  • 删除主键:
    alter table user3 drop primary key;
  • 表创建之后,添加主键:
    alter table user3 modify id int primary key;
  • 自动增长(auto_increment),一般和主键一起使用
create table user4(
	id int primary key auto_increment,
	name varchar(20)
	);
  • 删除自动增长:
    alter table user4 modify id int;(不会删除主键)
  • 表创建之后,添加自动增长:
    alter table user4 modify id int auto_increment;
外键约束

foreign key,表与表产生关系

create table grade(
     id int(4) not null primary key,
    name varchar(36)
    );
create table student (
 sid int(4) not null primary key,
 sname varchar(36),
 gid int(4) not null
 );
  • 表创建之后添加外键:
    alter table student add constraint FK_ID foreign key (gid) references grade (id);
  • 删除外键:
  • alter table student drop foreign key FK_ID;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值