mysql针对某个表记录操作日志_MySQL学习记录:约束以及修改数据表

本文详细介绍了MySQL中的约束类型,包括NOT NULL、PRIMARY KEY、UNIQUE KEY、DEFAULT和FOREIGN KEY,强调了外键在保持数据一致性与完整性中的作用,以及外键约束对外键列索引的要求。此外,还探讨了如何在MySQL中修改数据表,如添加、删除和修改列,以及添加和删除各种约束。
摘要由CSDN通过智能技术生成

f4a31bbd37ece88facf57eb1fd490ec4.png

约束

约束保证数据的完整性和一致性。

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

只针对某一个字段 列级约束

针对两个或两个以上的字段 表级约束

约束类型包括:

NOT NULL(非空约束)

PRIMARY KEY(主键约束)

UNIQUE KEY(唯一约束)

DEFAULT(默认约束)

FOREIGN KEY(外键约束)

FOREIGN KEYp

保持数据的一致性,完整性

实现一对一 或者 一对多关系

这也是很多数据库被称为关系型数据库的原因

0c5c7fb3e97a6ea5d5a829ea5aa8fe15.png

子表:具有外键列的表。

父表:子表所参照的表。

子表和父表必须有相同的存储引擎,而且必须为InnDB

外键列: 曾加过for in 关键词的列

编辑数据表默认存储引擎

mysql 配置文件

default-storage-engine = INNODB

e008e303fb9728f8395de8c3ad7d2068.png

37594e11f172b8fd06de9257b19000f2.png

34d93d8f0c110f44616b1ff5bd38b8a0.png

id为参照列

pid 为外键列

查看索引

ab38638393995397d92768f1da9e7473.png

id字段上已经创建索引,所以说我们的参照列已经有索引

9627bf723df1b908fe0f3739cf793090.png

在users表中存在两个索引,一个是主键索引,在id字段上,因为我们已经加过主键约束;另外在pid字段上系统已经自动的创建了索引。

外键列不存在索引的话,mysql自动创建索引

外键约束的参照操作

3ece190ea70f347c45013d1adcc601aa.png

这四个选项是指在在进行了外键约束的创建以后,在更新表的时候,子表是否也进行相应的操作。

8213caaff50839783a2cc3949d500938.png

在外键约束当中,在实际的开发过程中,我们很少使用物理的外键约束,很多都去使用逻辑的外键约束,因为物理的外键约束只有INNODB这种引擎才会支持,像我们另外的一种引擎MYISAM的引擎则不支持,反过来说,如果我想创建的数据表,假设存储引擎为MYISAM,而且又想使用外键约束的话,其实是不可能实现的,所以说,我们在实际的项目开发中,我们不去定义物理的外键,所谓的逻辑外键指的是就是我们在定义两张表的结构的时候,我们是按照存在的某种结构的方式去定义,但是不去使用FOREIGN KEY这个关键词来定义。

313d156d39c772a2157917c663de32eb.png

修改数据表

添加删除列

修改数据表 无非列的添加列的删除,约束的添加 约束的删除

c9be3c7d83a697f4d5949c6d04230e39.png

b84be8d0cc25c67e5fa9642302e0c8bf.png

8ac623f1e38848f1c265abdfe886aadd.png

eb5fd85c8124eb72f29bb7d78133205e.png

64d91276193841479154688de4ef9ade.png

添加约束

bbc5baeb139ba5aada768c1f68d2c41a.png

添加唯一约束

唯一约束可以有多个 而主键约束只能有一个

56fade0d935aab50500ec13874db3f25.png

添加外键约束

0f5822f0426b807c94832e9f4bd4cd27.png

添加和删除默认约束

95241453922615d445736d8e9352ac7c.png

d4987ed741fc3c0ea2d703b48436ef7a.png

删除主键约束

be3904a407a3f414d248a0d362cf602a.png

删除唯一约束

bee9c40b6ba0d26e07a59ced02a0a5c3.png

删除外键约束

ebb628809c1b0b74866dcb510f402934.png

修改列定义

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值