Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Liệt kê tất cả database trong MySQL

Vấn đề: Lấy danh sách tên các database (schema) hiện có

Cần truy vấn hệ thống để xem tất cả database đã tạo.

Giải pháp: Truy vấn information_schema.schemata

Bảng hệ thống information_schema.schemata lưu metadata của tất cả database.

1. Truy vấn cơ bản

SELECT schema_name AS DatabaseName 
FROM information_schema.schemata;

2. Kết quả mẫu

+---------------------------+
| DatabaseName              |
+---------------------------+
| mysql                     |
| information_schema        |
| performance_schema        |
| sys                       |
| business                  |
| sample                    |
| hello                     |
| test                      |
| mybusiness                |
| databasesample            |
| schemasample              |
| universitydatabase        |
| education                 |
| mydatabase                |
| database1                 |
| sampledatabase            |
| test3                     |
| javadatabase2             |
| javasampledatabase        |
| rdb                       |
| onetomanyrelationship     |
| webtracker                |
| web                       |
| commandline               |
| hb_student_tracker        |
| bothinnodbandmyisam       |
| customertracker           |
| tracker                   |
| demo                      |
| customer_tracker_database |
| login                     |
| onlinebookstore           |
| customer-tracker          |
| web_tracker               |
| instant_app               |
| 1233                      |
+---------------------------+

Cách khác: SHOW DATABASES

SHOW DATABASES;

Kết quả tương tự nhưng không dễ dàng lọc/filter trong SQL.

Lọc database do người dùng tạo (loại bỏ hệ thống)

SELECT schema_name 
FROM information_schema.schemata 
WHERE schema_name NOT IN ('mysql', 'information_schema', 'performance_schema', 'sys');

Ứng dụng

  • Script tự động backup tất cả database user.
  • Kiểm tra database tồn tại trước khi tạo.
  • Giao diện admin liệt kê database.