检查mysql中是否存在表

时间:2013-01-02 21:56:14

标签: mysql

  

可能重复:
  MySQL - check if table exists without using “select from”

我可以依赖此查询来查明指定数据库中的表是否存在或者是否存在某些限制?

SELECT
    `information_schema`.`TABLES`.`TABLE_NAME`
FROM
    `information_schema`.`TABLES`
WHERE
    `information_schema`.`TABLES`.`TABLE_SCHEMA` = 'my_database_name'
AND `information_schema`.`TABLES`.`TABLE_NAME` IN (
    'table_name',
    'table_name',
    'table_name',
    'table_name',
    'table_name',
    'table_name'
)

P.S。 我不需要创建表,只需要检查它是否存在。

2 个答案:

答案 0 :(得分:6)

或者你可以使用这个(更长的查询)。

SELECT count(*)
FROM information_schema.tables
WHERE table_schema = 'databasename'
AND table_name = 'tablename'

答案 1 :(得分:2)

您可以执行以下操作:

SHOW TABLES LIKE tablename;

根据OP的评论 - 编辑:

检查演示。它显示了这样的代码:

SHOW TABLES LIKE 'user%';

结果:

TABLES_IN_DB_2_8B528 (USER%)
user_images
users