MySql之约束与设计总结

本文总结了MySQL数据库中的约束类型,包括主键、唯一、非空、外键和默认约束,强调了它们在保证数据正确性、完整性和有效性方面的作用。此外,还探讨了数据库设计,涉及表间关系(一对一、一对多、多对多)和数据规范化,特别是1NF、2NF和3NF的解释及应用实例。
摘要由CSDN通过智能技术生成

1 数据库表的约束

约束的作用:对表中的数据进行限制,保证数据的争取性、有效性和完整性。一个表如果添加 了约束,不正确的数据将无法插入到表中。约束在创建表的时候添加比较合适。

约束种类

约束名 关键字 说明
主键 primary key 非空且唯一
唯一 unique 这一列不能有重复值
非空 not null 这一列必须有值
外键 foreign key 主表中主键列,在从表中外键列
默认 default 如果一列没有值,使用默认值
检查约束 check mysql不支持

1.1 主键约束

作用:用为唯一标识数据库中的每一条记录

通常不用业务字段作为主键,单独给每张表设计一个id的字段,把id作为主键。主键是给数据和程序使用的,不是给最终的客户使用的,所以主键没有含义没有关系,只要不重复非空就行。

(1)在创建表时,添加主键约束:

create table 表名(
	id int primary key, -- 添加主键约束
	字段名 varchar(20);

(2)创建表之后,添加主键约束

ALTER TABLE 表名 MODIFY 字段 INT PRIMARY;
ALTER TABLE 表名 ADD PRIMARY KEY(字段名);

(3) 删除主键:

-- 错误写法:alter table 表名 modify 字段 int;
ALTER TABLE 表名 DROP PRIMARY KEY

(4) 自动增长:如果主键是数值类型的,使用auto_increment 可以来完成值的自动增长,默认值为1。注意:自增长只能用在主键上。

-- 在创建表时,添加主键约束,并且添加自增长约束
create table 表名(
	id int primary key auto_increment, -- 给id添加主键自增长约束
	字段名 varchar(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值