如何检查MySQL中是否存在表并创建它是否不存在?

如果您尝试创建表并且表名已经存在,则MySQL将给出警告消息。让我们验证一下这个概念。

在这里,我们正在创建一个已经存在的表-

mysql> CREATE TABLE IF NOT EXISTS DemoTable
   (
   CustomerId int,
   CustomerName varchar(30),
   CustomerAge int
   );

表名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
   );

由于该表尚不存在,因此已在上面成功创建了该表。

以下是使用insert命令在表中插入记录的查询-

mysql> insert into DemoTable2 values(101,'Chris',23);
mysql> insert into DemoTable2 values(102,'Robert',24);

以下是查询以使用select命令显示表中的记录-

mysql> select *from DemoTable2;

这将产生以下输出

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