Mysql外键约束的创建与删除的使用
目录
- 创建表时创建外键
- 给存在的表添加外键
- 删除外键约束
创建表时创建外键
创建两个表格,
一个名为class,
create table classes( id int not null primary key, name varchar(30) );
另一个名为student
create table student( sid int not null primary key, sname varchar(30), cid int not null, constraint fk_cid foreign key(cid) references classes(id) );
这里声明外键的语法为:
constraint 外键名 foreign key(要作为外键字段名) references 主表名(主表中关联的字段)
外键名是在这里给外键新命的名字,用来标记外键。
外键所在的表称为“从表”,主键所在的表称为主表。
给存在的表添加外键
也可以给已经存在的表格添加外键。
alter table student add constraint fk_cid foreigh key(cid) references class(id)
语法:
alter table 从表名 add constraint 外键名 foreign key(cid) references 主表名(主表中关联字段名)
删除外键约束
删除外键约束是指删除某字段的外键属性,而不是删除该字段。
alter table student drop foreign key fk_cid;
语法:
alter table 从表 drop foreign key 外键名;
删除外键是根据创建外键时命名的外键名,不是外键所在的字段名。
外键关联主键后,主键所在的主表将不能被删除。从表依然可以被删除。
到此这篇关于Mysql外键约束的创建与删除的使用的文章就介绍到这了,更多相关Mysql外键约束的创建删除内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
MySQL外键约束(FOREIGN KEY)案例讲解
MySQL 外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用.对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表). 外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性.比如,一个水果摊,只有苹果.桃子.李子.西瓜等 4 种水果,那么,你来到水果摊要买水果就只能选择苹果.桃子.李子和西瓜,其它的水果都是不能购买的. 主表删除某条记录时,从表中与之对应的记录也必须有相应的改变.一个表
-
MySQL 外键约束和表关系相关总结
目录 外键(Foreign Key) 如何确定表关系 如何建立表关系 一对多关系 - 员工表和部门表 多对多 一对一 表关系总结 外键(Foreign Key) 按照上述所说,一张表存储员工信息会极大的浪费资源,重复数据太多,这个问题就类似于将所有的代码都写在了一个py文件中,因此我们可以将一个表拆成不同的表,在这不同的表之间建立关联,而建立关联就需要使用外键foreign key.外键也属于约束条件的一种. 如何确定表关系 表与表之间的关系有三种一对多.多对多.一对一.那么如何确定表与表之间的
-
mysql增加外键约束具体方法
本教程操作环境:windows7系统.mysql8版本.Dell G3电脑. MySQL 外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用.对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表). 外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性. 定义外键时,需要遵守下列规则: 主表必须已经存在于数据库中,或者是当前正在创建的表.如果是后一种情况,则主表与从表是同一个表,这样的表
-
MySQL删除有外键约束的表数据方法介绍
在MySQL中删除一张表或一条数据的时候,出现 [Err] 1451 -Cannot deleteorupdatea parent row: aforeignkeyconstraintfails (...) 这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据.可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况. 禁用外键约束,我们可以使用: SETFOREIGN_KEY_CHECKS=0; 然后再删除数据 启动外键约束,我们可以使用: SETFOREIG
-
MySQL删除表的时候忽略外键约束的简单实现
删除表不是特别常用,特别是对于存在外键关联的表,删除更得小心.但是在开发过程中,发现Schema设计的有问题而且要删除现有的数据库中所有的表来重新创建也是常有的事情:另外在测试的时候,也有需要重新创建数据库的所有表.当然很多自动化工具也可以做这样的事情. 删除表的时候有时会遇到这样的错误消息: ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails 这是因为你尝试删除的表中的
-
MySQL外键约束的实例讲解
MySQL的外键约束是用来在两个表之间建立链接的,其中一个表发生变化,另外一个表也发生变化.从这个特点来看,它主要是为了保证表数据的一致性和完整性的. 对于两个通过外键关联的表,相关联字段中主键所在的表是主表,也称之为父表,外键所在的表是从表,也称之为子表,定义外键的时候需要遵守几个规则: 1.父表必须已经存在于数据库中,或者是当前正在创建的表.如果是后一种情况,则父表与子表是同一个表,这样的表称为自参照表,这种结构称为自参照. 2.必须为父表定义主键. 3.主键不能包含空值,但允许在外键中出现
-
MySQL 关闭子表的外键约束检察方法
准备: 定义一个教师表.一个学生表:在学生表中引用教师表ID create table teachers(teacherID int not null auto_increment primary key,teacherName varchar(8)); create table students(studentID int not null auto_increment primary key,teacherID int not null,studentName varchar(8), con
-
详解MySQL 外键约束
官方文档: https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html 1.外键作用: MySQL通过外键约束来保证表与表之间的数据的完整性和准确性. 2.外键的使用条件 两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持) 外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立: 外键关系的两个表的列必须
-
Mysql外键约束的创建与删除的使用
目录 创建表时创建外键 给存在的表添加外键 删除外键约束 创建表时创建外键 创建两个表格, 一个名为class, create table classes( id int not null primary key, name varchar(30) ); 另一个名为student create table student( sid int not null primary key, sname varchar(30), cid int not null, constraint fk_cid fo
-
MySQL外键约束常见操作方法示例【查看、添加、修改、删除】
本文实例讲述了MySQL外键约束常见操作方法.分享给大家供大家参考,具体如下: 1. 查看数据库表创建的sql语句 show create table vip 2. 查看外键的约束名 CREATE TABLE `vip` ( `id` int(11) NOT NULL AUTO_INCREMENT, `address` varchar(255) DEFAULT NULL, `code` varchar(255) DEFAULT NULL, `mobile` varchar(255) DEFAUL
-
MySQL外键约束(Foreign Key)案例详解
目录 一.MySQL外键约束作用 二.外键约束创建 (一)创建外键约束的条件 (二)在创建数据表时创建外键约束 (三)在创建数据表后添加外键约束 三.外键约束功能演示 总结 今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL外键约束详解. 一.MySQL外键约束作用 外键约束(Foreign Key)即数据库中两个数据表之间的某个列建立的一种联系.这种联系通常是以实际场景中含义完全相同的字段所造成的.MySQL通过外键约束的引入,可以使得数据表中的数据完整性更强,也更符合显示情况.下
-
MySQL外键约束详解
目录 一.MySQL外键约束作用 二.外键约束创建 (一)创建外键约束的条件 (二)在创建数据表时创建外键约束 (三)在创建数据表后添加外键约束 三.外键约束功能演示 今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL外键约束详解. 一.MySQL外键约束作用 外键约束(Foreign Key)即数据库中两个数据表之间的某个列建立的一种联系.这种联系通常是以实际场景中含义完全相同的字段所造成的.MySQL通过外键约束的引入,可以使得数据表中的数据完整性更强,也更符合显示情况.下面,我
-
MySQL外键约束的禁用与启用命令
MySQL外键约束的禁用与启用: MySQL外键约束是否启用是通过一个全局变量标示的: FOREIGN_KEY_CHECKS=0; 禁用状态 FOREIGN_KEY_CHECKS=1; 启用状态 查看当前FOREIGN_KEY_CHECKS的值可用如下命令: SELECT @@FOREIGN_KEY_CHECKS; 禁用外键约束: SET FOREIGN_KEY_CHECKS=0; 启用外键约束: SET FOREIGN_KEY_CHECKS=1; 以上这篇MySQL外键约束的禁用与启用命令就是
-
MySQL数据库多表操作通关指南(外键约束和多表联合查询)
目录 1 多表关系 2 外键约束(FOREIGN KEY) 2.1 外键约束说明 2.2 外键约束的创建 2.3 外键约束实操:一对多关系 2.4 删除外键约束 2.5 外键约束实操:多对多关系 3 多表联合查询 3.1 联合查询的简介和分类 3.2 联合查询数据准备 3.3 交叉联合查询 3.4 内连接查询 3.5 外连接查询 3.6 子查询 3.6.1 子查询说明与实操 3.6.2 子查询中的关键字 3.7 自关联查询 写在最后 1 多表关系 一对一关系 比如:一个人有一个身份证,一个身份证
随机推荐
- JQuery中对Select的option项的添加、删除、取值
- 详解angularjs中的隔离作用域理解以及绑定策略
- Ubuntu系统下用Crontab命令定时执行PHP文件详解
- PHP实现文件上传功能实例代码
- JavaScript中的普通函数与构造函数比较
- 使用phpQuery获取数组的实例
- 一个比较实用的大数据量分页存储过程
- jquery.ui.draggable中文文档
- jQuery的实例及必知重要的jQuery选择器详解
- 深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
- JavaScript学习总结之JS、AJAX应用
- js实现小鱼吐泡泡在页面游动特效
- C#实现Stream与byte[]之间的转换实例教程
- 精彩问答:IE下载故障解决办法
- Python实现大文件排序的方法
- Android实现实时滑动ViewPager的2种方式
- asp.net 计算字符串中各个字符串出现的次数
- 电脑族必看的该喝什么茶有益身体小结
- java处理图片背景颜色的方法
- 我要点爆”微信小程序云开发之项目建立与我的页面功能实现