mysql :
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的建平網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
SELECT
ke.referenced_table_name parent,
ke.table_name child,
ke.REFERENCED_COLUMN_NAME parent_column,
ke.column_name child_column,
ke.constraint_name
FROM information_schema.KEY_COLUMN_USAGE ke
WHERE ke.referenced_table_name IS NOT NULL
and ke.referenced_table_name = 'table_name'
and ke.REFERENCED_TABLE_SCHEMA = 'db_name'
ORDER BY
ke.referenced_table_name;
這個語句是找出表上的主外鍵 或者使用下面的語句
來自MySQL的學(xué)習(xí)筆記,寫的不對的地方大家多多指教哦
什么是外鍵?
假設(shè)有 2 個表,分別是表 A 和表 B,它們通過一個公共字段“id”發(fā)生關(guān)聯(lián)關(guān)系,我們把這個關(guān)聯(lián)關(guān)系叫做 R。如果“id”在表 A 中是主鍵,那么,表 A 就是這個關(guān)系 R 中的主表。相應(yīng)的,表 B 就是這個關(guān)系中的從表,表 B 中的“id”,就是表 B 用來引用表 A 中數(shù)據(jù)的,叫外鍵。所以,外鍵就是從表中用來引用主表中數(shù)據(jù)的那個公共字段。
語法結(jié)構(gòu):
在創(chuàng)建表時添加外鍵約束:
在修改表時定義外鍵約束:
例子1:創(chuàng)建表時添加外鍵約束
首先創(chuàng)建主表:importhead
創(chuàng)建從表:test_mysql.importdetails
查詢外鍵約束的相關(guān)信息:
查詢結(jié)果為:
例子2:修改表時定義外鍵約束
修改表時定義從表test_mysql.importdetails的外鍵約束
刪除外鍵約束使用DROP,語法結(jié)構(gòu)為:
例子:刪除從表test_mysql.importdetails的外鍵約束
在 MySQL 中,有 2 種類型的連接,分別是內(nèi)連接(INNER JOIN)和外連接(OUTER JOIN)。
在 MySQL 里面,關(guān)鍵字 JOIN、INNER JOIN、CROSS JOIN 的含義是一樣的,都表示內(nèi)連接。我們可以通過 JOIN 把兩個表關(guān)聯(lián)起來,來查詢兩個表中的數(shù)據(jù)。
例子:有一張銷售表,如下圖:
有一張會員信息表,如下圖:
通過內(nèi)連接,查詢會員的銷售記錄:
運行語句,結(jié)果如下:
根據(jù)上面的結(jié)果,其實可以得知:內(nèi)連接查詢到結(jié)果集為兩個表的交集部分。
跟內(nèi)連接只返回符合連接條件的記錄不同的是,外連接還可以返回表中的所有記錄,它包括兩類,分別是左連接和右連接。
例子1:左外連接
如果需要查詢所有銷售記錄,則可以使用左外連接
運行語句,結(jié)果為:
從上面的結(jié)果可以得知,LEFT JOIN左邊的表會返回全部記錄,而右邊的表只返回符合連接條件的記錄
例子2:右外連接:
運行語句,結(jié)果為:
從上面的結(jié)果可以得知,RIGHT JOIN右邊的表會返回全部記錄,而左邊的表只返回符合連接條件的記錄
#查看數(shù)據(jù)庫所有表
SELECT tba.TABLE_NAME FROM information_schema.TABLES tba WHERE tba.TABLE_SCHEMA= '你要查的數(shù)據(jù)庫名字'
#查看某個庫中的一個表是哪些表的外鍵
SELECT TABLE_NAME FROM KEY_COLUMN_USAGE WHERE CONSTRAINT_NAME='FK_PRODUCT_ID' AND REFERENCED_TABLE_NAME ='表的名字'AND REFERENCED_TABLE_SCHEMA='表的的數(shù)據(jù)名字'
求采納良心sql啊
information_schema數(shù)據(jù)庫又稱為信息架構(gòu),數(shù)據(jù)表保存了MySQL服務(wù)器所有數(shù)據(jù)庫的信息。如數(shù)據(jù)庫名,數(shù)據(jù)庫的表,表欄的數(shù)據(jù)類型與訪問權(quán)限等。
performance_schema數(shù)據(jù)庫主要用于收集數(shù)據(jù)庫服務(wù)器性能參數(shù),以便優(yōu)化mysql數(shù)據(jù)庫性能。
mysql數(shù)據(jù)庫是存儲著已MySQL運行相關(guān)的基本信息等數(shù)據(jù)管理的數(shù)據(jù)庫。
sys 數(shù)據(jù)庫是mysql5.7增加的,通過這個庫可以快速的了解系統(tǒng)的元數(shù)據(jù)信息
你這個就是把 Car表的type_id 和Types表的 types_id 進行關(guān)聯(lián)就可以 那你tpyes表中的type_id 就要是primarykey 給你說個和你這個一樣簡單的例子吧 表a id-客戶序號 primary-key name-客戶名稱 表b id-序號 nid-客戶序號 products-產(chǎn)品 下面有增刪改查 insert into 表b (`nid`,`products`) values ('1','手機'); update 表b set `products` = '電話' where `nid` = '1' and `products` = 手機'; delete * from 表b where `nid` = '1' and `products` = 手機'; 如果你要查詢的話用下面這句: select b.products, a.name from 表b as b, 表a as a where 表b.uid = 表a.id