自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL數(shù)據(jù)庫(kù)如何快速獲得庫(kù)中無(wú)主鍵的表

數(shù)據(jù)庫(kù) MySQL
總結(jié)一下MySQL數(shù)據(jù)庫(kù)查看無(wú)主鍵表的一些sql,一起來(lái)看看吧。

總結(jié)一下MySQL數(shù)據(jù)庫(kù)查看無(wú)主鍵表的一些sql,一起來(lái)看看吧~

1. 查看表主鍵信息

查看表主鍵信息

  1. SELECT 
  2.  t.TABLE_NAME, 
  3.  t.CONSTRAINT_TYPE, 
  4.  c.COLUMN_NAME, 
  5.  c.ORDINAL_POSITION  
  6. FROM 
  7.  INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t, 
  8.  INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c  
  9. WHERE 
  10.  t.TABLE_NAME = c.TABLE_NAME  
  11.  AND t.CONSTRAINT_TYPE = 'PRIMARY KEY'  
  12.  AND t.TABLE_NAME = '<TABLE_NAME>'  
  13.  AND t.TABLE_SCHEMA = '<TABLE_SCHEMA>'

 

mysql數(shù)據(jù)庫(kù)如何快速獲得庫(kù)中無(wú)主鍵的表

2. 查看無(wú)主鍵表

查看無(wú)主鍵表

  1. SELECT table_schema, table_name,TABLE_ROWS 
  2. FROM information_schema.tables 
  3. WHERE (table_schema, table_name) NOT IN ( 
  4. SELECT DISTINCT table_schema, table_name 
  5. FROM information_schema.columns 
  6. WHERE COLUMN_KEY = 'PRI' 
  7. AND table_schema NOT IN ('sys', 'mysql', 'information_schema', 'performance_schema'); 

mysql數(shù)據(jù)庫(kù)如何快速獲得庫(kù)中無(wú)主鍵的表

3. 無(wú)主鍵表

在Innodb存儲(chǔ)引擎中,每張表都會(huì)有主鍵,數(shù)據(jù)按照主鍵順序組織存放,該類表成為索引組織表 Index Ogranized Table

如果表定義時(shí)沒(méi)有顯示定義主鍵,則會(huì)按照以下方式選擇或創(chuàng)建主鍵:

(1) 先判斷表中是否有"非空的唯一索引",如果有

  • 如果僅有一條"非空唯一索引",則該索引為主鍵
  • 如果有多條"非空唯一索引",根據(jù)索引索引的先后順序,選擇第一個(gè)定義的非空唯一索引為主鍵。

(2) 如果表中無(wú)"非空唯一索引",則自動(dòng)創(chuàng)建一個(gè)6字節(jié)大小的指針作為主鍵。

如果主鍵索引只有一個(gè)索引鍵,那么可以使用_rowid來(lái)顯示主鍵,實(shí)驗(yàn)測(cè)試如下:

  • 刪除測(cè)試表
    1. DROP TABLE IF EXISTS t1; 
  • 創(chuàng)建測(cè)試表
    1. CREATE TABLE `t1` ( 
    2.  `id` int(11) NOT NULL, 
    3.  `c1` int(11) DEFAULT NULL, 
    4.  UNIQUE uni_id (id), 
    5.  INDEX idx_c1(c1) 
    6. ENGINE = 
  • 插入測(cè)試數(shù)據(jù)
    1. INSERT INTO t1 (id, c1) SELECT 1, 1; 
    2. INSERT INTO t1 (id, c1) SELECT 2, 2; 
    3. INSERT INTO t1 (id, c1) SELECT 4, 4; 
    4. ​ 
  • 查看數(shù)據(jù)和_rowid
    1. SELECT *, _rowid FROM t1; 

mysql數(shù)據(jù)庫(kù)如何快速獲得庫(kù)中無(wú)主鍵的表

可以發(fā)現(xiàn),上面的_rowid與id的值相同,因?yàn)閕d列是表中第一個(gè)唯一且NOT NULL的索引。

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(guān)推薦

2023-09-14 23:05:57

? ?MySQL數(shù)據(jù)庫(kù)

2010-07-12 15:49:53

MS SQL Serv

2009-02-02 13:16:23

修復(fù)數(shù)據(jù)表MySQL

2011-05-18 13:16:21

MySQL數(shù)據(jù)庫(kù)鎖定

2010-06-02 11:24:57

MySQL數(shù)據(jù)庫(kù)主鍵

2010-06-07 13:53:04

MySQL數(shù)據(jù)庫(kù)表

2010-05-24 14:38:41

MySQL數(shù)據(jù)庫(kù)

2011-07-19 11:12:36

PHPMySQL數(shù)據(jù)庫(kù)

2011-08-03 10:04:57

SQL Server數(shù)沒(méi)有主鍵的表

2010-10-13 11:54:00

MySQL數(shù)據(jù)庫(kù)表

2010-05-11 13:50:56

MySQL數(shù)據(jù)庫(kù)

2011-03-04 14:13:02

MySQL數(shù)據(jù)庫(kù)

2018-09-11 17:13:23

MySQ數(shù)據(jù)庫(kù)重復(fù)記錄

2009-02-02 16:50:34

數(shù)據(jù)庫(kù)表的鎖定MySQL

2010-06-13 10:59:38

MySQL數(shù)據(jù)庫(kù)

2018-09-13 15:20:24

數(shù)據(jù)庫(kù)MySQLSQL

2010-05-12 17:45:03

MySQL數(shù)據(jù)庫(kù)引擎

2010-05-24 13:14:19

創(chuàng)建MySQL

2023-09-13 14:52:11

MySQL數(shù)據(jù)庫(kù)

2009-02-02 13:43:19

故障檢測(cè)數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)