在 MySQL 中使用 SHOW TABLES 列出数据库中的表

在 MySQL 中使用 SHOW TABLES 列出数据库中的表

有时候,您需要查询当前数据库中的所有的表,或者检查当前数据库中是否存在指定的表。

MySQL 提供了 SHOW TABLES 命令用来显示指定数据库中的表。

MySQL SHOW TABLES 语法

以下是 MySQL SHOW TABLES 命令的语法:

SHOW TABLES [FROM database_name] [LIKE pattern];

在这个语法中:

FROM database_name 指明了要从中列出表的数据库。它是可选的。如果未指定,则从默认数据库中获取。

LIKE pattern 用来过滤结果,返回符合条件的表的列表。

如果您还没有指定的默认的数据并且在 在 SHOW TABLES 命令中没有使用 FROM,则 MySQL 会返回一个错误:ERROR 1046 (3D000): No database selected 。

MySQL 显示表实例

以下实例显示如何列出 Sakila 示例数据库的表。

使用 mysql 客户端工具连接到 MySQL 服务器:

mysql -u root -p

输入 root 帐户的密码并按 Enter :

Enter password: ********

直接运行下面的命令尝试列出所有的表:

SHOW TABLES;

此时,MySQL 会返回一个错误:ERROR 1046 (3D000): No database selected 。 因为您还未指定默认的数据库。

使用 FROM 子句指定要从中获取表的数据库:

SHOW TABLES FROM sakila;

这里,通过 FROM 关键字指定了要列出数据库 sakila 中的所有的表。下面是输出:

+----------------------------+

| Tables_in_sakila |

+----------------------------+

| actor |

| actor_copy |

| actor_info |

| address |

| category |

| city |

| country |

| customer |

| customer_list |

| film |

| film_actor |

| film_category |

| film_list |

| film_text |

| inventory |

| language |

| nicer_but_slower_film_list |

| payment |

| rental |

| sales_by_film_category |

| sales_by_store |

| staff |

| staff_list |

| store |

| student |

| student_score |

| subscribers |

| test |

| user |

+----------------------------+

使用 USE 命令设置默认的数据库:

USE sakila;

直接运行下面的命令尝试列出所有的表:

SHOW TABLES;

此时, 此命令的输出和上面的命令 SHOW TABLES FROM sakila; 相同。这是因为此时的默认数据库是 sakila。我们不需要在 SHOW TABLES 中通过 FROM 指定数据库名。

通过下面的语句返回名字以 a 开头的表:

SHOW TABLES LIKE 'a%';

+-----------------------+

| Tables_in_sakila (a%) |

+-----------------------+

| actor |

| actor_copy |

| actor_info |

| address |

+-----------------------+

这里模式 'a%' 会匹配以 a 开头且任意长度的字符串。

结论

在本文中,您学习了在 MySQL 中如何使用 SHOW TABLES 语句列出指定数据库中的表。

相关推荐

bt365备用网站 西安快递公司(西安快递公司有哪些)
365bet亚洲投注 字義比較

字義比較

📅 10-04 👁️ 1264
365bet亚洲投注 唐宋诗词中鹧鸪意象的运用及其意蕴(来自网络)