Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

4 cách liệt kê tất cả các bảng trong cơ sở dữ liệu MySQL

Dưới đây là bốn cách để liệt kê các bảng trong cơ sở dữ liệu MySQL bằng SQL hoặc dòng lệnh.

SHOW TABLES Lệnh

SHOW TABLES lệnh liệt kê không phải TEMPORARY bảng và dạng xem trong một cơ sở dữ liệu nhất định:

SHOW TABLES;

Kết quả:

+-----------------+
| Tables_in_music |
+-----------------+
| Albums          |
| Artists         |
| Genres          |
| valbumsartists  |
| valbumsgenres   |
| vallalbums      |
| vallartists     |
| vallgenres      |
+-----------------+

Điều đó đã liệt kê tất cả các bảng trong cơ sở dữ liệu hiện tại, được gọi là Music .

Chúng tôi cũng có thể sử dụng FULL công cụ sửa đổi để trả về cột thứ hai hiển thị kiểu:

SHOW FULL TABLES;

Kết quả:

+-----------------+------------+
| Tables_in_music | Table_type |
+-----------------+------------+
| Albums          | BASE TABLE |
| Artists         | BASE TABLE |
| Genres          | BASE TABLE |
| valbumsartists  | VIEW       |
| valbumsgenres   | VIEW       |
| vallalbums      | VIEW       |
| vallartists     | VIEW       |
| vallgenres      | VIEW       |
+-----------------+------------+

Chúng ta có thể thấy rằng hầu hết các kết quả được liệt kê ở đây thực sự là các lượt xem.

Nếu chúng ta chỉ muốn các bảng cơ sở được trả về, chúng ta có thể sử dụng WHERE mệnh đề chống lại Table_type cột:

SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE';

Kết quả:

+-----------------+------------+
| Tables_in_music | Table_type |
+-----------------+------------+
| Albums          | BASE TABLE |
| Artists         | BASE TABLE |
| Genres          | BASE TABLE |
+-----------------+------------+

SHOW TABLES cũng chấp nhận LIKE mệnh đề có thể được sử dụng để thu hẹp kết quả thành chỉ những bảng phù hợp với một mẫu nhất định:

SHOW TABLES
LIKE 'a%';

Kết quả:

+----------------------+
| Tables_in_music (a%) |
+----------------------+
| Albums               |
| Artists              |
+----------------------+

Trong trường hợp này, tôi trả về tất cả các bảng bắt đầu bằng ký tự a .

SHOW TABLE STATUS Lệnh

SHOW TABLE STATUS tương tự như lệnh SHOW TABLES nhưng cung cấp thêm thông tin về mỗi lệnh (non-TEMPORARY ) bàn.

Nó cũng chấp nhận WHERELIKE mệnh đề, như SHOW TABLES .

Ví dụ:

SHOW TABLE STATUS
LIKE 'a%';

Kết quả:

+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+
| Name    | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time | Check_time | Collation          | Checksum | Create_options | Comment |
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+
| Albums  | InnoDB |      10 | Dynamic    |   20 |            819 |       16384 |               0 |        32768 |         0 |             21 | 2022-02-15 09:10:36 | NULL        | NULL       | utf8mb4_0900_ai_ci |     NULL |                |         |
| Artists | InnoDB |      10 | Dynamic    |   16 |           1024 |       16384 |               0 |            0 |         0 |             17 | 2021-11-13 12:56:02 | NULL        | NULL       | utf8mb4_0900_ai_ci |     NULL |                |         |
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+

information_schema.TABLES Bảng

Chúng tôi cũng có thể truy vấn information_schema.TABLES bảng:

SELECT 
    TABLE_NAME
FROM 
    information_schema.TABLES 
WHERE 
    TABLE_SCHEMA LIKE 'Music' AND TABLE_TYPE LIKE 'BASE_TABLE';

Kết quả:

+------------+
| TABLE_NAME |
+------------+
| Artists    |
| Genres     |
| Albums     |
+------------+

Truy vấn điều này mà không lọc kết quả theo TABLE_SCHEMA trả về các bảng từ tất cả các cơ sở dữ liệu. Tương tự, truy vấn nó mà không lọc theo TABLE_TYPE trả về tất cả các loại bảng.

mysqlshow Khách hàng

Một cách khác để làm điều đó là với mysqlshow tính thiết thực.

Để sử dụng tùy chọn này, hãy mở cửa sổ dòng lệnh / dòng lệnh và chạy phần sau (thay thế music với cơ sở dữ liệu mà bạn quan tâm):

mysqlshow music;

Kết quả:

+----------------+
|     Tables     |
+----------------+
| Albums         |
| Artists        |
| Genres         |
| valbumsartists |
| valbumsgenres  |
| vallalbums     |
| vallartists    |
| vallgenres     |
+----------------+

Điều này trả về các dạng xem và bảng.

Đầu ra chỉ hiển thị tên của các cơ sở dữ liệu, bảng hoặc cột mà bạn có một số đặc quyền.

Nếu không có cơ sở dữ liệu nào được cung cấp, danh sách các tên cơ sở dữ liệu sẽ được hiển thị. Nếu không có bảng nào được đưa ra, tất cả các bảng phù hợp trong cơ sở dữ liệu sẽ được hiển thị. Nếu không có cột nào được cung cấp, tất cả các cột và loại cột phù hợp trong bảng sẽ được hiển thị.

Nếu bạn gặp lỗi "quyền truy cập bị từ chối", bạn có thể cần sử dụng sudo và nhập mật khẩu của bạn theo lời nhắc:

sudo mysqlshow music;

Tiện ích này chấp nhận một số tùy chọn, chẳng hạn như --user (để bạn có thể chuyển tên người dùng), --password (để bạn có thể chuyển mật khẩu), --host cho máy chủ lưu trữ đặt máy chủ MySQL, v.v.

Xem tài liệu của MySQL để biết danh sách đầy đủ các tùy chọn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lưu mảng PHP vào MySQL?

  2. MySQL # 1140 - Kết hợp các cột NHÓM

  3. Cách đặt Bộ ký tự và đối chiếu của một cột trong MySQL

  4. SQLException:Không tìm thấy trình điều khiển phù hợp

  5. MySQL - Phiên bản MySQL này chưa hỗ trợ 'LIMIT &IN / ALL / ANY / SOME truy vấn con