如何检查 MySQL 中是否存在表,如果表不存在则创建?
mysqlmysqli database更新于 2023/12/8 9:32:00
如果您尝试创建表并且表名已经存在,则 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)