首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 判斷資料表是否存在的 4 種方法

     編輯:MySQL 綜合教學

方法一:SHOW TABLES 模糊比對

SHOW TABLES LIKE '%tb_bp_d_case%';

優點:簡單直觀。缺點:需完整掃描資料庫表清單,大量表時較慢。

方法二:查詢 INFORMATION_SCHEMA(標準、精確)

SELECT TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'dbname' 
  AND TABLE_NAME = 'tablename';

優點:精確匹配、可跨資料庫查詢、標準 SQL 相容。推薦生產環境使用。

方法三:CREATE TABLE IF NOT EXISTS(一步到位)

CREATE TABLE IF NOT EXISTS tablename (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);

若表不存在則建立,存在則靜默成功。無需先查詢再判斷,原子操作避免競態條件。

方法四:以範本表建立新表

CREATE TABLE IF NOT EXISTS new_table LIKE old_table_name;

複製結構(含索引、約束),不複製資料。適合建立分表、備份表結構。

選擇建議

場景推薦方法
應用啟動檢查表是否存在方法二(INFORMATION_SCHEMA)
初始化腳本確保表存在方法三(IF NOT EXISTS)
依現有表結構快速建新表方法四(LIKE)
簡單互動式查詢方法一(SHOW TABLES)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved