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

MySQL数据库——外键约束

原创
作者头像
落雨
发布2022-03-07 11:57:37
34.1K0
发布2022-03-07 11:57:37
举报
文章被收录于专栏:落雨的专栏落雨的专栏

概述

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

语法

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

代码语言:javascript
复制
[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
复制
ALTER TABLE <数据表名> ADD CONSTRAINT <外键名>
FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>);

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

删除外键约束

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

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

查看外键约束

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 语法
    • 在创建表时给字段设置外键
      • 修改表时添加外键约束
        • 删除外键约束
          • 查看外键约束
          相关产品与服务
          云数据库 SQL Server
          腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档