在 MySQL 中选择所有的表
本教程旨在了解如何从 MySQL 中的数据库中获取所有表名。
企业和组织通常需要获取所有表格以分别了解每个表格。当新的个人或数据分析师加入团队时,这一点至关重要。
在这种情况下,公司需要同时获取所有表,以演示每个表的工作情况以及在数据库中创建每个表的原因。
因此,了解如何在单个查询的帮助下访问特定数据库中的所有表名非常重要。
为了更深入地理解这一点,让我们在现有数据库中创建一个表。
然后我们将尝试了解如何获取特定数据库内外不同表的名称。
但是,在开始之前,我们创建一个虚拟数据集来使用。在这里,我们创建了一个表 student_details
以及几行。
-- create the table student_details
CREATETABLEstudent_details(stu_idintunsigned,stu_firstNamevarchar(255)DEFAULTNULL,stu_lastNamevarchar(255)DEFAULTNULL,primarykey(stu_id));-- insert rows to the table student_details
INSERTINTOstudent_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*FROMstudent_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_dummy
和 stu_information
的表。它将确保我们现在有三张表。
现在,让我们获取所有表的名称。
从 MySQL 中的数据库中选择所有表
我们可以借助以下语法通过获取所有表来执行此操作。
SELECTtable_nameFROMinformation_schema.tables;
该查询循环遍历我们的整个 MySQL 服务器,并获取我们数据库中所有已创建表和默认表的名称。它可以帮助创建对我们的服务器和其中的表的深入分析和研究。
现在让我们了解如何从 MySQL 中的特定数据库中获取表。可以借助以下语法来执行此操作。
SELECTtable_nameFROMinformation_schema.tablesWHEREtable_schema='your_database_name';
在这里,在空间 your_database_name
中,我们需要插入数据库的名称以获取其中的所有表。默认情况下,我们在 MySQL 中有名为 boatdb
的数据库。
因此,要从该数据库中获取所有表,我们必须使用以下查询。
SELECTtable_nameasnames_of_tablesFROMinformation_schema.tablesWHEREtable_schema='boatdb';
正如我们在查询中看到的,将获取信息模式中所有表模式设置为 boatdb
的表。查询的输出如下所示。
names_of_tables
stu_information
student_details
student_details_dummy
因此,我们可以看到我们已成功获取特定数据库的所有表。我们可以用我们自己手动创建的数据库替换这个数据库的名称来获取所有的名称。
我们在 MySQL 中有别名 names_of_tables
和 AS
关键字,以增加程序的可读性。
因此,借助上述查询,我们可以在 MySQL 中高效快速地获取数据库内外所有表的名称。