MySQL 判断表和数据库是否存在


创建一个 WordPress 的插件,在插件被激活的时候创建自定义数据库表,但是如果表已经存在了,那么创建必然会失败,这时候我们就需要先判断指定的表或者数据库是否存在了。

MySQL 判断表和数据库是否存在有四种方式:

SHOW TABLES LIKE

SHOW TABLES LIKE '%wp_order%';
MySQL判断表和数据库是否存在,创建数据库表,SHOW TABLES

TABLE_SCHEMA 和 TABLE_NAME

select TABLE_NAME from INFORMATION_SCHEMA.TABLES where 
TABLE_SCHEMA='dbname' and TABLE_NAME='tablename';
MySQL判断表和数据库是否存在,创建数据库表,SHOW TABLES

如果单纯显示是否存在数据库, 则可用

show databases like 'db_name';

单纯显示是否存在数据表, 则可用

show tables like 'table_name';

表不存在就建立这个表

如果表不存在就建立这个表,那么可以直接用 create table if not exists tablename 这样的指令来建立,不需要先去查询表是否存在,在导出 SQL 文件里面一般都是这样的。

复制表创建新表

create table if not exists like old_table_name;