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)
阅读更多:MySQL 教程