新聞中心
mysql 主鍵查詢是怎么查的
SELECT
創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站設(shè)計(jì)、做網(wǎng)站與策劃設(shè)計(jì),柳州網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:柳州等地區(qū)。柳州做網(wǎng)站價(jià)格咨詢:13518219792
t.TABLE_NAME,
t.CONSTRAINT_TYPE,
c.COLUMN_NAME,
c.ORDINAL_POSITION
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,
INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c
WHERE
t.TABLE_NAME = c.TABLE_NAME
AND t.TABLE_SCHEMA = 'test'
AND t.CONSTRAINT_TYPE = 'PRIMARY KEY';
測(cè)試執(zhí)行結(jié)果如下:
mysql SELECT
- t.TABLE_NAME,
- t.CONSTRAINT_TYPE,
- c.COLUMN_NAME,
- c.ORDINAL_POSITION
- FROM
- INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,
- INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c
- WHERE
- t.TABLE_NAME = c.TABLE_NAME
- AND t.TABLE_SCHEMA = 'test'
- AND t.CONSTRAINT_TYPE = 'PRIMARY KEY'
- LIMIT 3;
+------------+-----------------+-------------+------------------+
| TABLE_NAME | CONSTRAINT_TYPE | COLUMN_NAME | ORDINAL_POSITION |
+------------+-----------------+-------------+------------------+
| mr_dept | PRIMARY KEY | dept_id | 1 |
| order | PRIMARY KEY | id | 1 |
| tab | PRIMARY KEY | id | 1 |
+------------+-----------------+-------------+------------------+
3 rows in set (0.06 sec)
MySQL之主鍵
主鍵是一個(gè)索引,mysql的索引是B+樹,Mysql會(huì)按照鍵值的大小進(jìn)行順序存放,如果我們?cè)O(shè)置自增id為主鍵,這個(gè)時(shí)候主鍵是按照一種緊湊的接近順序?qū)懭氲姆绞竭M(jìn)行存儲(chǔ)數(shù)據(jù)。如果我們用其他字段作為主鍵的話,此時(shí)Mysql不得不為了將新記錄插到合適位置而移動(dòng)數(shù)據(jù),甚至目標(biāo)頁面可能已經(jīng)被回寫到磁盤上而從緩存中清掉,此時(shí)又要從磁盤上讀回來,這增加了很多額外的開銷,同時(shí)頻繁的移動(dòng)、分頁操作造成了大量的碎片。
- 考慮性能消耗
- 考慮資源消耗
- 考慮分庫分表
在MySQL中如何設(shè)置主鍵和外鍵
工具/原料
電腦??MySQL
方法/步驟
設(shè)置主鍵:
1、通過終端進(jìn)入到mysql命令行工具。
2、通過use關(guān)鍵字進(jìn)行到目標(biāo)數(shù)據(jù)庫里。
3、如原表已有主鍵,先把原來的主鍵刪除掉,通過DROPPRIMARYKEY命令:ALTERTABLE`jingyan`DROPPRIMARYKEY;。
4、主鍵已經(jīng)沒有了。
5、通過命令:ADDPRIMARYKEY來添加ALTERTABLE`jingyan`ADDPRIMARYKEY(`id`)。
6、輸入后按下回車鍵即可看到queryok執(zhí)行成功的字符。
7、回到數(shù)據(jù)庫的可視化工具,即可顯示現(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ù)庫、表名和字。
6、點(diǎn)擊保存就完成外鍵設(shè)置了。
MYSQL查詢表的主鍵
SELECT
t.TABLE_NAME,
t.CONSTRAINT_TYPE,
c.COLUMN_NAME,
c.ORDINAL_POSITION
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,
INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c
WHERE
t.TABLE_NAME = c.TABLE_NAME
AND t.TABLE_SCHEMA = 'test'
AND t.CONSTRAINT_TYPE = 'PRIMARY KEY';
測(cè)試執(zhí)行結(jié)果如下:
mysql SELECT
- t.TABLE_NAME,
- t.CONSTRAINT_TYPE,
- c.COLUMN_NAME,
- c.ORDINAL_POSITION
- FROM
- INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,
- INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c
- WHERE
- t.TABLE_NAME = c.TABLE_NAME
- AND t.TABLE_SCHEMA = 'test'
- AND t.CONSTRAINT_TYPE = 'PRIMARY KEY'
- LIMIT 3;
+------------+-----------------+-------------+------------------+
| TABLE_NAME | CONSTRAINT_TYPE | COLUMN_NAME | ORDINAL_POSITION |
+------------+-----------------+-------------+------------------+
| mr_dept | PRIMARY KEY | dept_id | 1 |
| order | PRIMARY KEY | id | 1 |
| tab | PRIMARY KEY | id | 1 |
+------------+-----------------+-------------+------------------+
3 rows in set (0.06 sec)
mysql數(shù)據(jù)庫中怎么獲取表的主鍵
在SYBASE的ASE和ASA中,可以使用如下的系統(tǒng)存儲(chǔ)過程來獲取主鍵:
exec
sp_pkeys
'table_name';
sql
server也是一樣的!
至于mysql,我沒這個(gè)環(huán)境,相信應(yīng)該有類似的存儲(chǔ)過程的!
如何獲取mysql數(shù)據(jù)庫中某個(gè)表的主鍵或唯一字段
直接查看表結(jié)構(gòu)就可以。方法如下:
1、以第三方軟件Navicat for Mysql為例,登錄指定的數(shù)據(jù)庫。
2、點(diǎn)擊上方圖標(biāo)“查詢”——“新建查詢”。
3、彈出查詢窗口輸入“describe 表名”,這里表名以“test”為例,則寫為“describe test”(不含引號(hào)):
describe?test
4、結(jié)果如圖,其中KEY列,如果顯示“PRI”則代表此列為主鍵。
分享文章:mysql怎么看主鍵 mysql怎么看主鍵是否自增
瀏覽地址:http://fisionsoft.com.cn/article/dodjici.html