一、mysql判斷表是否存在不存在建立
如果在創建表之前需要先判斷該表是否已經存在,如果不存在則創建,如果存在則不做任何操作。可以通過IF NOT EXISTS參數實現。示例如下:
CREATE TABLE IF NOT EXISTS `students` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
二、mysql查詢表是否存在
可以通過SHOW TABLES語句查詢當前數據庫中是否存在某個表。如果存在,則該表名將會被返回,否則將返回一個空的結果集。
SHOW TABLES LIKE 'students';
如果students表存在,則將返回結果集。否則將返回空結果集。
三、mysql判斷表是否存在來刪除表
如果要刪除一個表,可以事先通過判斷表是否存在來確定是否需要執行DROP TABLE語句。示例代碼如下:
DROP TABLE IF EXISTS `students`;
四、mysql判斷表是否存在表
如果要判斷一個表是否為表對象,可以使用TABLE_TYPE=’BASE TABLE’來判斷。示例代碼如下:
SELECT TABLE_NAME, TABLE_TYPE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'students' AND TABLE_TYPE='BASE TABLE';
五、mysql判斷表是否存在臨時表
如果要判斷一個表是否為臨時表,可以使用TABLE_TYPE=’TEMPORARY’來判斷。示例代碼如下:
SELECT TABLE_NAME, TABLE_TYPE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'temp_table' AND TABLE_TYPE='TEMPORARY';
六、判斷mysql數據表是否存在
可以通過判斷INFORMATION_SCHEMA中的表信息來確定數據表是否存在。如果存在則說明該表已經被創建,否則該表不存在。
SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'students';
如果返回值是1,則該表存在。否則該表不存在。
七、mysql判斷分區是否存在
如果要判斷一個表的分區是否存在,則可以使用PARTITION_NAME來判斷。示例代碼如下:
SELECT COUNT(*) FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'students' AND PARTITION_NAME = 'p0';
如果返回值是1,則該分區存在。否則該分區不存在。
八、mysql判斷數據是否存在
可以使用SELECT COUNT(*)來判斷表中是否存在某些數據。如果返回值是大於0,則說明數據存在,否則數據不存在。
SELECT COUNT(*) FROM students WHERE name = '張三';
如果返回值大於0,則說明該數據存在。否則該數據不存在。
九、mysql判斷索引是否存在
可以使用INFORMATION_SCHEMA.STATISTICS來判斷某個索引是否存在。如果存在則會返回一行記錄,否則返回空結果集。示例代碼如下:
SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'students' AND INDEX_NAME = 'idx_name';
如果返回結果集,則說明該索引存在。否則該索引不存在。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/179956.html