在 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 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