mysql添加字段时定义候选键_MySQL 表约束

约束概述

对数据表中数据的限制条件叫表的约束,目的是为了保证表中记录的完整和有效。例如非空、唯一等。

查看约束

1 通过查看建表语句 查看表中的约束

show create table tb_name;

2 通过检查约束表 查看约束

select * from information_schema.table_constraints where table_name='usr';

Tips:在MySQL数据库中 所有的约束都存放在information_schema.table_constraints表中~~~~参看~~~~~information_schema数据库介绍

主键约束

什么是主键约束

在MySQL中主键是一种约束,也是一种索引。被设为主键的字段 要求 不重复 不能为空 不能缺省。主键的作用为唯一的确定表中的一条记录。需要注意的是 当主键是复合主键时,不重复的含义是 组合起来不重复即可,单列值允许重复,但不允许同时重复

创建主键

1 在字段中定义主键

create table if not exists user(

id int(11) auto_increment primary key,

name char(64) not null default 'No Name'

);

2 字段定义结束后定义主键

create table if not exists user(

id int(11) auto_increment,

name char(64) not null default 'No Name',

primary key(id,name)

);

-- 注意 声明主键的完整格式应该是这样的

-- constraint 约束名 primary key key_name

3 建表完成后添加主键

上边的两种方式都是在创建表时候指定主键约束,也可以在表建成后添加主键约束

alter table tb_name add primary key(key_name)

-- tb_name 表名

-- primary key() 括号里填写字段名,可以是一个 也可以是多个(复合主键)

删除主键

-- 如果主键字段中包含有自增 auto_increment,需要先删除自增属性 在删除主键

-- 如果没有自增直接删除主键即可

你可能感兴趣的:(mysql添加字段时定义候选键)