码迷,mamicode.com
首页 > 数据库 > 详细

MySQL添加约束

时间:2020-02-01 14:26:49      阅读:483      评论:0      收藏:0      [点我收藏+]

标签:sql   varchar   添加   incr   建表   alter   foreign   str   color   

六大约束:

  NOT NULL (非空)
  DEFAULT (默认)
  UNIQUE (唯一) 【唯一约束可以为空值,但是不能重复】
  CHECK (检查)【mysql不起作用】
  PRIMARY KEY (主键)【主键约束不能为空值,也不能重复】
  FOREIGN KEY (外键)

约束一般分为列级约束和表级约束。

列级约束不支持外键约束。

表级约束不支持非空和默认。

 

一、创建表时添加约束

模式:

create table 表名(
  a    类型    列级约束,
  b    类型    ,
  表级约束
)

  

举例:

create table test(
  id int primary key  auto_increment,
  name varchar(50) not null,
  sex char default ‘女‘,
  position varchar(10) unique,
  sex2 char(1) check(sex2 = ‘male‘ or sex2 = ‘female‘),
  dept_id int references department(id)
)

 

二、修改表时添加约束

//列级约束
alter table test modify id int primary key;
alter table test modify name varchar(50) not null;
alter table test modify sex char default ‘女‘;
alter table test modify position varchar(10) unique;

//表级约束
//中间起名的部分【】可省略,主键就算起名字也不会起作用,使用默认名字
alter table test add【constraint fk_test_department】 unique(position);
alter table test add【constraint fk_test_department】 primary key(id);
alter table test add 【constraint fk_test_department】 foreign key(dept_id) references department(id);
 

  

MySQL添加约束

标签:sql   varchar   添加   incr   建表   alter   foreign   str   color   

原文地址:https://www.cnblogs.com/pastjx/p/12168934.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!