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

本文详细介绍了MySQL中的表约束,包括查看约束的方法、主键约束的创建与删除(单一主键、复合主键)、外键约束的建立与移除,以及唯一约束、默认值和非空约束的使用。通过实例演示了各种约束的创建与管理,帮助理解数据表的完整性和有效性保证。
摘要由CSDN通过智能技术生成

约束概述

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

查看约束

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,需要先删除自增属性 在删除主键

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值