如何在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)
广告