mysql中設(shè)置外鍵的語(yǔ)法 mysql怎么設(shè)置外鍵?
mysql怎么設(shè)置外鍵?外鍵的設(shè)計(jì)初衷是為了在數(shù)據(jù)庫(kù)端保證對(duì)邏輯上相關(guān)聯(lián)的表數(shù)據(jù)在操作上的一致性與完整性。優(yōu)點(diǎn):精簡(jiǎn)關(guān)聯(lián)數(shù)據(jù),減少數(shù)據(jù)冗余避免后期對(duì)大量冗余處理的額外運(yùn)維操作。降低應(yīng)用代碼復(fù)雜性,減少
mysql怎么設(shè)置外鍵?
外鍵的設(shè)計(jì)初衷是為了在數(shù)據(jù)庫(kù)端保證對(duì)邏輯上相關(guān)聯(lián)的表數(shù)據(jù)在操作上的一致性與完整性。
優(yōu)點(diǎn):
- 精簡(jiǎn)關(guān)聯(lián)數(shù)據(jù),減少數(shù)據(jù)冗余避免后期對(duì)大量冗余處理的額外運(yùn)維操作。
- 降低應(yīng)用代碼復(fù)雜性,減少了額外的異常處理相關(guān)數(shù)據(jù)管理全由數(shù)據(jù)庫(kù)端處理。
- 增加文檔的可讀性特別是在表設(shè)計(jì)開(kāi)始,繪制 ER 圖的時(shí)候,邏輯簡(jiǎn)單明了,可讀性非常強(qiáng)。
- 缺點(diǎn):
- 性能壓力外鍵一般會(huì)存在級(jí)聯(lián)功能,級(jí)聯(lián)更新,級(jí)聯(lián)刪除等等。在海量數(shù)據(jù)場(chǎng)景,造成很大的性能壓力。比如插入一條新記錄,如果插入記錄的表有 10 個(gè)外鍵,那勢(shì)必要對(duì)關(guān)聯(lián)的 10 張表逐一檢查插入的記錄是否合理,延誤了正常插入的記錄時(shí)間。并且父表的更新會(huì)連帶子表加上相關(guān)的鎖。
- 其他功能的靈活性不佳比如,表結(jié)構(gòu)的更新等。
外鍵參照動(dòng)作列表:
- CASCADE:級(jí)聯(lián),子表跟隨父表更新外鍵值
- SET NULL:子表更隨主表更新外鍵值為 NULL
- RESTRICT/ NO ACTION:默認(rèn),限制父表改動(dòng)外鍵值
- SET DEFAULT:目前產(chǎn)生的效果和 RESTRICT 相同。
mysql怎么查看表是否設(shè)置了外鍵?
#查看數(shù)據(jù)庫(kù)所有表SELECT tba.TABLE_NAME FROM information_schema.TABLES tba WHERE tba.TABLE_SCHEMA= "你要查的數(shù)據(jù)庫(kù)名字"#查看某個(gè)庫(kù)中的一個(gè)表是哪些表的外鍵SELECT TABLE_NAME FROM KEY_COLUMN_USAGE WHERE CONSTRAINT_NAME="FK_PRODUCT_ID" AND REFERENCED_TABLE_NAME ="表的名字"AND REFERENCED_TABLE_SCHEMA="表的的數(shù)據(jù)名字"
在MySQL中如何設(shè)置主鍵和外鍵?
工具/原料 電腦 MySQL 方法/步驟 設(shè)置主鍵:
1、通過(guò)終端進(jìn)入到mysql命令行工具。
2、通過(guò)use關(guān)鍵字進(jìn)行到目標(biāo)數(shù)據(jù)庫(kù)里。
3、如原表已有主鍵,先把原來(lái)的主鍵刪除掉,通過(guò)DROP PRIMARY KEY命令:ALTER TABLE `jingyan` DROP PRIMARY KEY。
4、主鍵已經(jīng)沒(méi)有了。
5、通過(guò)命令:ADD PRIMARY KEY來(lái)添加ALTER TABLE `jingyan` ADD PRIMARY KEY ( `id` ) 。
6、輸入后按下回車(chē)鍵即可看到 query ok執(zhí)行成功的字符。
7、回到數(shù)據(jù)庫(kù)的可視化工具,即可顯示現(xiàn)在的表在id列上添加了主鍵了。 設(shè)置外鍵: 1、創(chuàng)建好主從表。 2、選擇主表,點(diǎn)擊設(shè)計(jì)表,進(jìn)入到表設(shè)計(jì)界面。 3、點(diǎn)擊外鍵,進(jìn)入到外鍵設(shè)置界面。 4、先設(shè)置外鍵名稱和選擇主表的外鍵字段。 5、然后在設(shè)置外鍵字段對(duì)應(yīng)從表的數(shù)據(jù)庫(kù)、表名和字。 6、點(diǎn)擊保存就完成外鍵設(shè)置了。
mysql如何查看外鍵?
查看方式主要是通過(guò)第三方工具或者是sql語(yǔ)句,主要有以下三種方式1:使用Navicateformysql,打開(kāi)數(shù)據(jù)庫(kù)、查看數(shù)據(jù)庫(kù)表、查看設(shè)計(jì)表、選擇外鍵選項(xiàng)卡,就可以查看外鍵2:使用sql語(yǔ)句showcreatetable表名這個(gè)命令可以查看表的所有信息,包括一些字段類(lèi)型,字段的約束,外鍵,主鍵,索引,字符編碼等等。3:查看某個(gè)表或者某個(gè)列的外鍵信息selectTABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAMEfromKEY_COLUMN_USAGEwhereREFERENCED_TABLE_NAME="<table>"如果需要查看某一列上的外鍵關(guān)系,需要添加列的條件REFERENCED_COLUMN_NAME.xx=xx方法一比較直觀,方法三比較準(zhǔn)確!