答案:通过查询information_schema.TABLES可判断表是否存在。执行SQL语句SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = '数据库名' AND TABLE_NAME = '表名',若返回值大于0则表存在,否则不存在;也可使用CASE WHEN返回1或0表示存在与否,适用于脚本中条件判断。

在MySQL中,可以通过查询 information_schema.TABLES 来判断某个表是否存在。这个系统库记录了数据库中所有表的信息。
使用 information_schema 查询表是否存在
执行以下SQL语句,替换其中的数据库名和表名:
SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = '数据库名' AND TABLE_NAME = '表名';如果返回结果大于0,说明表存在;等于0则表示不存在。
更直观的判断方式(返回布尔值)
如果你想得到更清晰的结果,比如直接看到 "exists" 或者布尔标识,可以这样写:
SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END AS table_exists FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'your_database_name' AND TABLE_NAME = 'your_table_name';注意事项
• TABLE_SCHEMA 是数据库名,不是表所在的模式或其他概念,要确保填写正确。
• 表名是区分大小写的,取决于操作系统和MySQL配置(Linux下通常区分,Windows不区分)。
• 如果你在当前数据库中操作,可以用 DATABASE() 函数代替写死数据库名:










