SHOW TABLES LIKE '%tb_bp_d_case%';
優點:簡單直觀。缺點:需完整掃描資料庫表清單,大量表時較慢。
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbname'
AND TABLE_NAME = 'tablename';
優點:精確匹配、可跨資料庫查詢、標準 SQL 相容。推薦生產環境使用。
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) |