首页
学习
活动
专区
圈层
工具
发布

查看外键名称查看数据库外键名字

我们要进行删除外键时,需要知道外键的名字,那么如何查看数据库外键呢?有2种方式查看: 1.过查看表的方式查看外键名字; 2.通过mysql自带的系统表查看外键。...先来看一下创建外键的方式: 创建外键的方式 更多精彩请访问本文源地址: https://blog.csdn.net/zixiao217 方式一: 在创建表的时候同时指定外键名字 create database...指定外键名字: f_mykey alter table t_score_math add constraint f_mykey -- 该行省略的话,则会自动添加一个名字 foreign key...(uid) references t_user(uid); 查看外键名字的方式 方式一:通过查看表的方式查看外键名字 SHOW CREATE TABLE `t_score_math`; 得到以下结果:...: f_mykey; 方式二:通过mysql自带的系统表查看外键 SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE constraint_schema

2.3K20

数据库外键名称不要用自动生成的名字

很多人用powerdesigner设计数据库,都喜欢直接使用默认生成的主外键名称,我也是不太注意这个外键的名称,默认都是这样的FK_relation_XX,通常这个XX是一个数字;由于业务的变化和数据库的多次调整...;这个数字本身就没有什么意义,如果对数据库的修改并不是每次修改都从设计文件开始修改然后在数据库建立同样名称的字段和外键,那时间久了一定会出现外键名字数据库和设计文件对不上的情况,后面再对数据的结构做调整就会显得冲突越来越多了...如果一开始就将外键的名称使用人工编辑的方式编辑为有意义的名称,就可以降低自动生成外键名称引起冲突的几率,也使数据库抛出外键异常的时候就直接可以根据外键约束的名称判断出是哪个表之间的问题。...看来还是那句话,慢工出细活,这种细都是有实际意义的细节,而不是锦上添花的东西。

1.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mysql的外键

    在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束。...外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持); 2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引...,但如果在较早的版本则需要显示建立; 3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以; 外键的好处:可以使得两张表关联...,保证数据的一致性和实现一些级联操作; 外键的定义语法: [CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)...ON DELETE、ON UPDATE表示事件触发限制,可设参数: RESTRICT(限制外表中的外键改动) CASCADE(跟随外键改动) SET NULL(设空值) SET DEFAULT(设默认值

    8.7K70

    MySQL数据库外键约束打开与关闭 ️

    MySQL数据库外键约束打开与关闭 ️ 摘要 作为一名技术博主,我们时常需要处理数据库的外键约束。...本文将详细介绍如何使用 SQL 命令临时关闭 MySQL 数据库的外键约束检查,并提供了重新开启外键约束检查的方法。我们将探讨关闭外键约束检查的风险,并提供最佳实践建议,以确保数据的完整性和一致性。...在实际操作中,我们应谨慎使用这一功能,以确保数据的完整性和一致性。...MySQL 数据库的外键约束检查,以及关闭外键约束检查可能带来的风险和最佳实践建议。...在实际应用中,我们应当谨慎操作,始终保证数据的完整性和一致性。 未来展望 未来,随着数据库技术的不断发展,我们期待能够更加智能地处理外键约束,提供更加灵活和高效的数据库管理方案。

    3.5K10

    数据库中内连接、外连接、全连接

    转自:http://blog.csdn.net/yilip/article/details/8065840 内连接:把两个表中数据对应的数据查出来  外连接:以某个表为基础把对应数据查出来(全连接是以多个表为基础...)  student表  no name  1 a  2 b  3 c  4 d  grade表  no grade  1 90  2 98  3 95  内连接 inner join(查找条件中对应的数据...student.no = grade.no  结果  student.no name grade.no grade  1 a 1 90  2 b 2 98  3 c 3 95  左连接(左表中所有数据,右表中对应数据...grade on student.no = grade.no  结果:  student.no name grade.no grade  1 a 1 90  2 b 2 98  3 c 3 95  全外连接...注:access 中不能直接使用full join ,需要使用union all 将左连接和右连接合并后才可以

    6.3K50

    Mysql中的关联查询(内连接,外连接,自连接)

    在使用数据库查询语句时,单表的查询有时候不能满足项目的业务需求,在项目开发过程中,有很多需求都是要涉及到多表的连接查询,总结一下mysql中的多表关联查询 一,内连接查询 是指所有查询出的结果都是能够在连接的表中有对应记录的...例如: 查询所有员工姓名以及他所在的部门名称:在内连接中赵七没有被查出来,因为他没有对应的部门,现在想要把赵七也查出来,就要使用左外连接: SELECT e.empName,d.deptName from...,如果右表没有记录对应的话就显示null 查询结果: 关键字是left outer join,等效于left join,在关联查询中,做外连接查询就是左连接查询,两者是一个概念 三,右外连接是同理的...d on d.id = e.dept; 这里只是把left修改成了right,但是基准表变化了,是以右表的数据去匹配左表,所以左外连接能做到的查询,右外连接也能做到 查询结果: 四,全外连接...顾名思义,把两张表的字段都查出来,没有对应的值就显示null,但是注意:mysql是没有全外连接的(mysql中没有full outer join关键字),想要达到全外连接的效果,可以使用union关键字连接左外连接和右外连接

    5.6K40

    MySQL 数据库 增删查改、克隆、外键 等操作

    扩展功能,字段值自增等 数据表高级操作 克隆表,将数据表的数据记录生成到新的表中 删除记录后主键记录重头开始自增 创建临时表 创建外键约束,保证数据的完整性和一致性 MySQL 六种约束 ----...Linux 中登录Mysql mysql -u root -p密码 1.查看当前服务器中的数据库 SHOW DATABASES; 2.查看数据库中包含的表 USE 数据库名 #注意:数据库名区分大小写....]表名; #如不用USE进入库中,则需加上数据库名 删除数据库 DROP DATABASE 数据库名; #会连库中的表一起删除 删除操作要小心,删除前记得被备份 向表中添加、删除 记录、...,保证数据的完整性和一致性 外键的定义:如果同一个属性字段X 在表一中是主键,而在表二中不是主键,则字段X称为表二的外键。...#外键名建议以“FK_”开头。

    7.1K20

    MySQL 数据库中的锁

    全局锁 顾名思义,全局锁就是对整个数据库实例加锁。 1. FTWRL MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。...如果执行 FTWRL 命令之后由于客户端发生异常断开,那么 MySQL 会自动释放这个全局锁,整个库回到可以正常更新的状态。...MDL 锁 另一类表级的锁是 MDL(metadata lock),这个是 MySQL 5.5 版本中引入了 MDL,当对一个表做增删改查操作的时候,加 MDL 读锁;当要对表做结构变更操作的时候,加...这大大降低了数据库的执行性能。 怎么减少行锁对性能的影响? 关闭死锁检测 控制并发度,业务层面和数据库层面。...另一种就是修改数据库 server 层的源码,在服务端控制并发数量。 拆分更新记录,将一条记录分成多条记录的合计。如果这种方式需考虑数值变更的临界值判断,比如金额为 0 的情况。

    6.5K20

    数据库-MySQL-基础(10)-内连接,外连接,自连接

    目录 内连接 内连接查询语法  案例演示 外连接 外连接查询的语法 案例演示  自连接 自连接查询语法 案例演示 ---- 内连接 内连接查询语法 ——隐式内连接 SELECT 字段列表 FROM...,那么就查询不到 查询结果 ---- 外连接 外连接查询的语法 ——左外连接 SELECT 字段列表 FROM LEFT [OUTER] JOIN 表2 ON 条件  相当于查询表1(左表)的所有数据包含表...1和表2交集部分的数据· ——右连接 SELECT 字段列表 RIGHT  LEFT [OUTER] JOIN 表2 ON 条件  相当于查询表2(右表)的所有数据包含表1和表2交集部分的数据·... outer 可以省略 案例演示  代码(左外连接) --1.查询emp表中所有数据,和对应部门信息(左外连接) -- 表结构: emp ,dept -- 连接条件: emp.dept_id = dept.id...查询结果  代码:外连接查询 --2.查询所有员工emp 及其领导的名字emp ,如果员工没有领导也要查询出结果 --表结构 emp a ,emp b; select * from emp a left

    2.5K40

    MySQL中的内连接与外连接详解:基础与进阶应用

    , e.* from emp e right join dept d on d.deptno=e.deptno; 简单回顾 内连接(Inner Join) 简要回顾:内连接是数据库中最常用的连接方式,...(Outer Join) 外连接分为三种:左外连接、右外连接和全外连接(不过全外连接在MySQL中并不直接支持,可以通过联合查询的方式实现)。...使用场景:左外连接常用于显示所有左表中的记录,即便它们在右表中没有相应的记录。例如,列出所有员工以及他们的销售数据,如果某个员工没有销售数据,也应该显示该员工的信息。...如果某个表中没有匹配的记录,则该表的相关字段显示NULL。但是需要注意的是,MySQL 不直接支持全外连接,通常可以通过联合左外连接和右外连接来实现。...因此,在外连接中,过滤条件应该尽量放在ON子句中,而非WHERE子句中。 MySQL特有的连接语法 自然连接(NATURAL JOIN):自然连接会根据两个表中具有相同名称的所有列进行连接。

    1.7K10

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

    引言: MySQL中经常会需要创建父子表之间的约束,这个约束是需要建立在主外键基础之上的,这里解决了一个在创建主外键约束过程中碰到的一个问题。 1....碰到错误 在创建外键之时,使用的SQL和碰到错误信息如下: alter table `product' add CONSTRAINT `sid_ref` FOREIGN KEY (`sid`)...REFERENCES `sealer` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION 碰到的错误信息如下: 无法正确的插入外键约束。...问题分析 主外键更多的是某表的主键与子表的某个列进行关联,要求是具备相同的数据类型和属性,问题会不会出现在这里?...解决的办法 修改product.sid中的数据类型,添加unsigned和字段的长度,将其设置为相同即可。 5.

    3.8K50

    Mysql自带数据库中的信息

    当你新建一个mysql服务,并且使用root用户登录mysql(或者你拥有相应的权限),会发现mysql预先安装了四个数据库. information_schema mysql perfomance_schema...SCHEMATA:提供了当前mysql实例中所有数据库的信息,我们经常使用的show databases就是从这里读取数据的. TABLES:提供了关于数据库中的表的信息(包括视图)。...COLUMNS:提供了表中的列信息。详细的描述了某个字段属于某张表,某个库,以及其他的字段名,字段类型,权限,备注等信息. STATISTICS:提供了关于表索引的信息。...TABLE_CONSTRAINTS:描述了存在约束的表。以及表的约束类型等。 KEY_COLUMN_USAGE:描述了具有约束的键列。 VIEWS:给出了关于数据库中的视图的信息。...mysql 这是mysql的核心库,我们的用户,密码及权限等相关信息都存储在这里,所以在修改用户或者添加用户等操作的时候,使用grant命令和直接对这个库中的user表进行增删改查的作用是相等的.

    5.5K20

    【MSQL数据库】MySQL中的NULL

    mysql中的NUll是什么 ? 维基百科是这样说的:空值(Null或NULL)是结构化查询语言中使用的特殊标记,是中对数属性未知或缺失的一种标识,用于指示数据库中不具值。...由关系数据库模型的创作者 E.F.科德所引入。SQL空值是用来满足真实关系数据库管理系统(RDBMS)中,支持“缺失信息与不适用的信息”的需求。...另外,数据库中的统计计算,一般将有空值的数据忽略不计。 MYSQL 的null值和’ '值有什么区别呢?...占用空间区别 null值在mysql中的占用空间大小也为null,而’ '值在mysql 中为0。...总结: 在创建MySQL表示尽量要限制not NULL 且给初始值为 ’ ’ 或 0; NULL值在mysql数据库中是占有存储的, ’ ’ 是不占用的。 如果某一列有NULL值,且以此列创建索引。

    4.9K10
    领券