偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

總結(jié)一下MySQL數(shù)據(jù)庫查看無主鍵表的一些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數(shù)據(jù)庫如何快速獲得庫中無主鍵的表

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

3. 無主鍵表

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

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

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

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

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

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

  • 刪除測試表
    1. DROP TABLE IF EXISTS t1; 
  • 創(chuàng)建測試表
    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 = 
  • 插入測試數(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ù)庫如何快速獲得庫中無主鍵的表

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

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

2023-09-14 23:05:57

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

2010-07-12 15:49:53

MS SQL Serv

2011-05-18 13:16:21

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

2009-02-02 13:16:23

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

2010-06-02 11:24:57

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

2010-06-07 13:53:04

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

2010-05-24 14:38:41

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

2011-07-19 11:12:36

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

2011-08-03 10:04:57

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

2010-05-11 13:50:56

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

2010-10-13 11:54:00

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

2011-03-04 14:13:02

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

2018-09-11 17:13:23

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

2009-02-02 16:50:34

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

2018-09-13 15:20:24

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

2010-06-13 10:59:38

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

2010-05-12 17:45:03

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

2023-09-13 14:52:11

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

2010-05-24 13:14:19

創(chuàng)建MySQL

2009-02-02 13:43:19

故障檢測數(shù)據(jù)庫
點贊
收藏

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