在 MySQL 中选择所有的表

Preet Sanghavi 2022年5月13日
在 MySQL 中选择所有的表

本教程旨在了解如何从 MySQL 中的数据库中获取所有表名。

企业和组织通常需要获取所有表格以分别了解每个表格。当新的个人或数据分析师加入团队时,这一点至关重要。

在这种情况下,公司需要同时获取所有表,以演示每个表的工作情况以及在数据库中创建每个表的原因。

因此,了解如何在单个查询的帮助下访问特定数据库中的所有表名非常重要。

为了更深入地理解这一点,让我们在现有数据库中创建一个表。

然后我们将尝试了解如何获取特定数据库内外不同表的名称。

但是,在开始之前,我们创建一个虚拟数据集来使用。在这里,我们创建了一个表 student_details 以及几行。

-- create the table student_details
CREATE TABLE student_details(
  stu_id int unsigned,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Geo","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");

如我们所见,我们将 stu_id 设置为表 student_details 的主键。它将确保此列中的值不能重复或 NULL

此外,我们将 stu_id 列的数据类型设置为 unsigned。上面的查询创建了一个表,其中包含学生的名字和姓氏。

要查看数据中的条目,我们使用以下代码。

SELECT * FROM student_details;

上面的代码将给出以下输出。

stu_id	stu_firstName	stu_lastName
1	      Preet	        Sanghavi
2	      Rich	        John
3	      Veron	        Brow
4	      Geo	        Jos
5	      Hash	        Shah
6	      Sachin	    Parker
7	      David	        Miller

现在让我们以与创建上表相同的方式创建更多名为 student_details_dummystu_information 的表。它将确保我们现在有三张表。

现在,让我们获取所有表的名称。

从 MySQL 中的数据库中选择所有表

我们可以借助以下语法通过获取所有表来执行此操作。

SELECT table_name FROM information_schema.tables;

该查询循环遍历我们的整个 MySQL 服务器,并获取我们数据库中所有已创建表和默认表的名称。它可以帮助创建对我们的服务器和其中的表的深入分析和研究。

现在让我们了解如何从 MySQL 中的特定数据库中获取表。可以借助以下语法来执行此操作。

SELECT table_name FROM information_schema.tables
WHERE table_schema = 'your_database_name';

在这里,在空间 your_database_name 中,我们需要插入数据库的名称以获取其中的所有表。默认情况下,我们在 MySQL 中有名为 boatdb 的数据库。

因此,要从该数据库中获取所有表,我们必须使用以下查询。

SELECT table_name as names_of_tables FROM information_schema.tables
WHERE table_schema = 'boatdb';

正如我们在查询中看到的,将获取信息模式中所有表模式设置为 boatdb 的表。查询的输出如下所示。

names_of_tables
stu_information
student_details
student_details_dummy

因此,我们可以看到我们已成功获取特定数据库的所有表。我们可以用我们自己手动创建的数据库替换这个数据库的名称来获取所有的名称。

我们在 MySQL 中有别名 names_of_tablesAS 关键字,以增加程序的可读性。

因此,借助上述查询,我​​们可以在 MySQL 中高效快速地获取数据库内外所有表的名称。

作者: Preet Sanghavi
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

相关文章 - MySQL Query