资讯专栏INFORMATION COLUMN

MySQL学习记录:约束以及修改数据表

ygyooo / 315人阅读

摘要:约束约束保证数据的完整性和一致性。约束分为表级约束和列级约束。父表子表所参照的表。外键列不存在索引的话,自动创建索引外键约束的参照操作这四个选项是指在在进行了外键约束的创建以后,在更新表的时候,子表是否也进行相应的操作。

约束

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

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

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

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

约束类型包括:

NOT NULL(非空约束)

PRIMARY KEY(主键约束)

UNIQUE KEY(唯一约束)

DEFAULT(默认约束)

FOREIGN KEY(外键约束)

FOREIGN KEYp

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

实现一对一 或者 一对多关系
这也是很多数据库被称为关系型数据库的原因

子表:具有外键列的表。
父表:子表所参照的表。
子表和父表必须有相同的存储引擎,而且必须为InnDB
外键列: 曾加过for in 关键词的列

编辑数据表默认存储引擎
mysql 配置文件

default-storage-engine = INNODB

MySQL中创建外键的错误:1215 Cannot add the foreign key constraint


id为参照列
pid 为外键列

查看索引

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

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

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

外键约束的参照操作

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

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

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

添加约束

添加唯一约束

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

添加外键约束

添加和删除默认约束


删除主键约束

删除唯一约束

删除外键约束

修改列定义 参考

外键约束
MySQL学习手册
mysql/manual

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/47153.html

相关文章

  • java后端的学习之路(一) ------ mysql和jdbc&DBUtils

    摘要:表中的一行一行的信息我们称之为记录。数据控制语言简称,用来定义数据库的访问权限和安全级别,及创建用户。他的特点是非空,唯一。例如将所有账务的金额元进行显示条件查询语句表条件过滤。满足条件操作,不满足不操作,多用于数据的查询与修改。 1.1数据库与数据库管理系统的关系 showImg(https://segmentfault.com/img/bV7zEr?w=621&h=352); ...

    mumumu 评论0 收藏0
  • MySQL学习记录数据类型与操作据表

    摘要:我们在没有明确赋值为的性别情况下,系统默认赋值非他。因为我们是这样表的参考与的零距离接触学习手册技术内幕编程姜承尧 MySQL默认的端口号是: 3306MySQL中的超级用户: root创建数据库 CREATE DATABSE修改数据库 ALTER DATABASE删除数据库 DROP DATABASE showImg(https://segmentfault.com/img/bVSE...

    DangoSky 评论0 收藏0
  • MySQL —— 数据库基础

    摘要:代表数据管理系统,是一种系统软件,提供操作数据库的环境,如,可以通过数据库管理系统对数据进行增删改查。命令服务启动和停止连接和退出数据库代表主机名,代表端口号,和分别代表当前服务的账号和密码。添加默认约束将表列的默认值设置为北京。 showImg(https://segmentfault.com/img/remote/1460000018997470); 阅读原文 前言 MySQL...

    jsliang 评论0 收藏0
  • MySQL —— 数据库基础

    摘要:代表数据管理系统,是一种系统软件,提供操作数据库的环境,如,可以通过数据库管理系统对数据进行增删改查。命令服务启动和停止连接和退出数据库代表主机名,代表端口号,和分别代表当前服务的账号和密码。添加默认约束将表列的默认值设置为北京。 showImg(https://segmentfault.com/img/remote/1460000018997470); 阅读原文 前言 MySQL...

    Martin91 评论0 收藏0
  • MySQL —— 数据库基础

    摘要:代表数据管理系统,是一种系统软件,提供操作数据库的环境,如,可以通过数据库管理系统对数据进行增删改查。命令服务启动和停止连接和退出数据库代表主机名,代表端口号,和分别代表当前服务的账号和密码。添加默认约束将表列的默认值设置为北京。 showImg(https://segmentfault.com/img/remote/1460000018997470); 阅读原文 前言 MySQL...

    xcold 评论0 收藏0

发表评论

0条评论

ygyooo

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<