成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL數據庫如何快速獲得庫中無主鍵的表

數據庫 MySQL
總結一下MySQL數據庫查看無主鍵表的一些sql,一起來看看吧。

總結一下MySQL數據庫查看無主鍵表的一些sql,一起來看看吧~

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數據庫如何快速獲得庫中無主鍵的表

2. 查看無主鍵表

查看無主鍵表

  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數據庫如何快速獲得庫中無主鍵的表

3. 無主鍵表

在Innodb存儲引擎中,每張表都會有主鍵,數據按照主鍵順序組織存放,該類表成為索引組織表 Index Ogranized Table

如果表定義時沒有顯示定義主鍵,則會按照以下方式選擇或創建主鍵:

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

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

(2) 如果表中無"非空唯一索引",則自動創建一個6字節大小的指針作為主鍵。

如果主鍵索引只有一個索引鍵,那么可以使用_rowid來顯示主鍵,實驗測試如下:

  • 刪除測試表
    1. DROP TABLE IF EXISTS t1; 
  • 創建測試表
    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 = 
  • 插入測試數據
    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. ​ 
  • 查看數據和_rowid
    1. SELECT *, _rowid FROM t1; 

mysql數據庫如何快速獲得庫中無主鍵的表

可以發現,上面的_rowid與id的值相同,因為id列是表中第一個唯一且NOT NULL的索引。

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2023-09-14 23:05:57

? ?MySQL數據庫

2010-07-12 15:49:53

MS SQL Serv

2009-02-02 13:16:23

修復數據表MySQL

2011-05-18 13:16:21

MySQL數據庫鎖定

2010-06-02 11:24:57

MySQL數據庫主鍵

2011-07-19 11:12:36

PHPMySQL數據庫

2010-05-24 14:38:41

MySQL數據庫

2010-06-07 13:53:04

MySQL數據庫表

2011-08-03 10:04:57

SQL Server數沒有主鍵的表

2010-05-11 13:50:56

MySQL數據庫

2010-10-13 11:54:00

MySQL數據庫表

2018-09-11 17:13:23

MySQ數據庫重復記錄

2011-03-04 14:13:02

MySQL數據庫

2009-02-02 16:50:34

數據庫表的鎖定MySQL

2018-09-13 15:20:24

數據庫MySQLSQL

2010-06-13 10:59:38

MySQL數據庫

2023-09-13 14:52:11

MySQL數據庫

2010-05-12 17:45:03

MySQL數據庫引擎

2009-02-02 13:43:19

故障檢測數據庫

2010-05-24 13:14:19

創建MySQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 2018国产精品 | 欧美日韩在线视频一区二区 | h视频在线免费观看 | 欧美日韩久久 | aa级毛片毛片免费观看久 | 一区二区三区四区电影视频在线观看 | 国产免费一区二区三区 | 亚洲免费在线观看视频 | 国产精品a久久久久 | 成人欧美一区二区三区黑人孕妇 | 欧美一级久久 | 国产精品午夜电影 | 91麻豆精品国产91久久久久久久久 | 精品一区二区三区91 | 欧美日一区二区 | 福利网站导航 | 久久av网站 | 热久久性| 久久久999国产精品 中文字幕在线精品 | 日本精品视频在线 | 精品在线免费观看视频 | 777zyz色资源站在线观看 | 成人性生交大片 | 中文字幕乱码一区二区三区 | 99在线观看| 亚洲av毛片 | 做a视频| 超碰在线人| 国产91久久久久久久免费 | 亚洲欧美国产毛片在线 | 成人精品国产一区二区4080 | 伊人成人免费视频 | 国产精品一区三区 | 亚洲精品欧洲 | 97国产精品视频人人做人人爱 | 91麻豆精品国产91久久久更新资源速度超快 | 99在线免费观看 | 日本 欧美 国产 | 99re国产 | 久久精品国产一区二区电影 | av天天看|