mysql 外键查询_mysql 外键查询(mysql数据库多表联查)

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 15:48   3935   0

mysql 外键查询(mysql数据库多表联查)

2020-07-24 11:51:00

共10个回答

查看方式主要是通过第三方工具或者是sql语句,主要有以下三种方式1:使用Navicateformysql,打开数据库、查看数据库表、查看设计表、选择外键选项卡,就可以查看

cdfd97c11ac56fbf99b7f2f71b15d136.png

现有两个表table1和table2,id相同,均为主键,也就是外键SELECTA.*,B.*fromtable1asA,table2asBwhereA.*=B.*andA.*=*把*换成你的条件--#完了

88cc8f9fed543016ce59e4fc090dc054.png

外键只是一种完整性的约束.从SQL语句上面来说,有没有外键,查询语句的写法差不多都是一样的.SELECTd.nameFROMbusinessASbJOINemployeeASeON(b.employee_id=e.id)JOINdepartmentASdON(e.department_id=d.id)WHEREd.code='编号'ANDb.upDate<='日期'ANDb.downDate>='日期'

cf118f48c083899cc05fcf13aa0853af.png

外键只是一种完整性的约束.从SQL语句上面来说,有没有外键,查询语句的写法差不多都是一样的.SELECTd.nameFROMbusinessASbJOINemployeeASeON(b.employee_id=e.id)JOINdepartmentASdON(e.department_id=d.id)WHEREd.code='编号'ANDb.upDateANDb.downDate>='日期'

16e003e9f99a03d5ee06af6a20fc19aa.png

用字段的完全限定名:表名.字段名tablename.fieldname

b9789e9c341411ad0ffba936c1551c36.png

select*frominformation_schema.TABLE_CONSTRAINTStwheret.TABLE_NAME='itcast_student'andCONSTRAINT_TYPE='FOREIGNKEY';不加type的话,就是所有的约束了,你知道的,还有可以用图形界面的工具啊操作很方便,不用写sql就可以删除,比如:navicatformysql,mysqlworkbench都是很好用的管理工具!

cc862346eea73d6d5ffa7cff7169b0dd.png

selecta.id,b.id,c.idfromaleftjoinbona.bid=b.idleftjoincona.cid=c.id

c6c99298ade5c89b194369aa7dece8ba.png

selectt.book_typefromt_bookb,t_book_typetwhereb.type_id_fk=t.typeid

7e4f2dd7ff18870c2be38fe0ef90e6fc.png

#查看数据库所有表SELECTtba.TABLE_NAMEFROMinformation_schema.TABLEStbaWHEREtba.TABLE_SCHEMA='你要查的数据库名字'#查看某个库中的一个表是哪些表的外键SELECTTABLE_NAMEFROMKEY_COLUMN_USAGEWHERECONSTRAINT_NAME='FK_PRODUCT_ID'ANDREFERENCED_TABLE_NAME='表的名字'ANDREFERENCED_TABLE_SCHEMA='表的的数据名字'

d0f4a32052caccecd9664b08a2086189.png

判断外键关系可以使用如下SQL查询语句.SELECT*FROM`information_schema`.`KEY_COLUMN_USAGE`whereconstraint_name='key_name'

d9be8a500424a5c55666f5e3a75c58c7.png

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP