答案是通过查询information_schema.TABLES来判断表是否存在;具体可用SELECT COUNT(*) AS table_exists FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'your_database_name' AND TABLE_NAME = 'your_table_name'; 返回1表示存在,0表示不存在。
要判断某个数据表是否存在于 MySQL 数据库中,可以通过查询 information_schema 系统数据库来实现。这个数据库保存了所有数据库、表、列等元信息。
your_database_name 和 your_table_name 为实际的数据库名和表名:
SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'your_database_name' AND TABLE_NAME = 'your_table_name';
SELECT COUNT(*) AS table_exists FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'your_database_name' AND TABLE_NAME = 'your_table_name';
USE database_name; 切换到了目标数据库,可以简化查询:
SELECT COUNT(*) AS table_exists FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'your_table_name';
myapp 中是否存在表 users:
SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'myapp' AND TABLE_NAME = 'users';