Mysql外键约束的创建与删除的使用


Posted in MySQL onMarch 03, 2022

创建表时创建外键

创建两个表格,

一个名为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 相关文章推荐
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
Apr 05 MySQL
教你解决往mysql数据库中存入汉字报错的方法
May 06 MySQL
MySql学习笔记之事务隔离级别详解
May 12 MySQL
MySql存储过程之逻辑判断和条件控制
May 26 MySQL
SQL IDENTITY_INSERT作用案例详解
Aug 23 MySQL
MySQL中datetime时间字段的四舍五入操作
Oct 05 MySQL
SpringBoot连接MySQL获取数据写后端接口的操作方法
Nov 02 MySQL
浅谈mysql哪些情况会导致索引失效
Nov 20 MySQL
Mysql多层子查询示例代码(收藏夹案例)
Mar 31 MySQL
mysql中如何用命令创建联合唯一索引
Apr 20 MySQL
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
Apr 20 MySQL
使用Mysql计算地址的经纬度距离和实时位置信息
Apr 29 MySQL
解决MySQL添加新用户-ERROR 1045 (28000)的问题
Mar 03 #MySQL
MySQL之MyISAM存储引擎的非聚簇索引详解
MySQL中B树索引和B+树索引的区别详解
MySQL的InnoDB存储引擎的数据页结构详解
一文搞清楚MySQL count(*)、count(1)、count(col)区别
Mar 03 #MySQL
SQL注入篇学习之盲注/宽字节注入
MySQL为数据表建立索引的原则详解
Mar 03 #MySQL
You might like
php smarty 二级分类代码和模版循环例子
2011/06/16 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
jquery 常用操作方法
2010/01/28 Javascript
jQuery中delegate和on的用法与区别详细解析
2014/01/26 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
jQuery中通过ajax的get()函数读取页面的方法
2016/02/29 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
2016/08/11 Javascript
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
基于JS实现html中placeholder属性提示文字效果示例
2018/04/19 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
node express使用HTML模板的方法示例
2019/08/22 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
python通过BF算法实现关键词匹配的方法
2015/03/13 Python
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
2015/04/24 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
Python KMeans聚类问题分析
2018/02/23 Python
Python返回数组/List长度的实例
2018/06/23 Python
使用tensorflow实现线性svm
2018/09/07 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
python tornado使用流生成图片的例子
2019/11/18 Python
python numpy数组复制使用实例解析
2020/01/10 Python
区分python中的进程与线程
2020/08/13 Python
python单元测试框架pytest的使用示例
2020/10/07 Python
python接口自动化框架实战
2020/12/23 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
运动会入场词200字
2014/02/15 职场文书
2015年度物业公司工作总结
2015/04/27 职场文书
投资申请报告
2015/05/19 职场文书
学习新党章心得体会2016
2016/01/15 职场文书
变长双向rnn的正确使用姿势教学
2021/05/31 Python
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python
MyBatis-Plus 批量插入数据的操作方法
2021/09/25 Java/Android