如何在MySQL中檢查表是否存在,如果不存在則建立?


如果您嘗試建立一個已存在的表,MySQL 將會發出警告資訊。讓我們驗證一下這個概念。

這裡,我們正在建立一個已存在的表:

mysql> CREATE TABLE IF NOT EXISTS DemoTable
   (
   CustomerId int,
   CustomerName varchar(30),
   CustomerAge int
   );
Query OK, 0 rows affected, 1 warning (0.05 sec)

表名 DemoTable 已經存在。讓我們檢查一下警告資訊。

以下為查詢:

mysql> show warnings;

這將產生以下輸出,即警告資訊:

+-------+------+------------------------------------+
| Level | Code | Message                            |
+-------+------+------------------------------------+
| Note  | 1050 | Table 'demotable' already exists   |
+-------+------+------------------------------------+
1 row in set (0.00 sec)

讓我們更改表名,建立一個不存在的表:

mysql> CREATE TABLE IF NOT EXISTS DemoTable2
   (
   CustomerId int,
   CustomerName varchar(20),
   CustomerAge int
   );
Query OK, 0 rows affected (0.56 sec)

由於該表不存在,因此上面的表已成功建立。

以下是用 insert 命令向表中插入記錄的查詢:

mysql> insert into DemoTable2 values(101,'Chris',23);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable2 values(102,'Robert',24);
Query OK, 1 row affected (0.12 sec)

以下是用 select 命令顯示錶中記錄的查詢:

mysql> select *from DemoTable2;

這將產生以下輸出

+------------+--------------+-------------+
| CustomerId | CustomerName | CustomerAge |
+------------+--------------+-------------+
| 101        | Chris        | 23          |
| 102        | Robert       | 24          |
+------------+--------------+-------------+
2 rows in set (0.00 sec)

更新於:2019年7月30日

1K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.