前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >MySQL数据库——外键约束

MySQL数据库——外键约束

原创
作者头像
落雨
发布2022-03-07 11:57:37
发布2022-03-07 11:57:37
34.2K00
代码可运行
举报
文章被收录于专栏:落雨的专栏
运行总次数:0
代码可运行

概述

  • 外键约束确保数据的有效性。保证数据的一致性、完整性
  • 外键只能引用外表中列的值
  • 相关联字段中主键所在的表就是主表,外键所在的表就是从表

语法

在创建表时给字段设置外键

代码语言:javascript
代码运行次数:0
复制
[CONSTRAINT <外键名>] FOREIGN KEY 字段名 [,字段名2,…]
REFERENCES <主表名> 主键列1 [,主键列2,…]

mysql>create table students (id int undesigned frimary key auto_increment not null,
    ->name varchar(20) not null,
    ->age tinyint unsigned default 0,
    ->height decimal(5,2),
    ->foregien key(name) reference class(name)
    ->);
#创建students表,对其中name字段设置外键约束,其主表为class表,students表中name的数据只能从class表中的name选取。

修改表时添加外键约束

代码语言:javascript
代码运行次数:0
复制
ALTER TABLE <数据表名> ADD CONSTRAINT <外键名>
FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>);

alter table students add foregien key(name) reference class(name);
#给students表中的name列设置外键,students表中name的数据只能从class表中的name选取。

删除外键约束

代码语言:javascript
代码运行次数:0
复制
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;

alter table students drop foregien fk_name;
#最后是外键约束名,不是设置外键的字段名

查看外键约束

代码语言:javascript
代码运行次数:0
复制
show create table <表名>;
#查看constraint后的内容,就是外键约束名

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 语法
    • 在创建表时给字段设置外键
    • 修改表时添加外键约束
    • 删除外键约束
    • 查看外键约束
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档