SQL - Hiển thị Cơ sở Dữ liệu: Hướng dẫn cho Người mới Bắt đầu

Xin chào, những người đam mê cơ sở dữ liệu! Hôm nay, chúng ta sẽ bắt đầu một chuyến hành trình thú vị vào thế giới của SQL, cụ thể là cách hiển thị hoặc liệt kê các cơ sở dữ liệu. Đừng lo lắng nếu bạn chưa bao giờ viết một dòng mã trước đây - tôi sẽ là người hướng dẫn thân thiện của bạn, và chúng ta sẽ cùng nhau từng bước. Vậy, hãy lấy một tách cà phê, và cùng nhau khám phá!

SQL - Show Databases

Cơ sở Dữ liệu là gì?

Trước khi chúng ta nhảy vào việc hiển thị cơ sở dữ liệu, hãy nhanh chóng hiểu qua cơ sở dữ liệu là gì. Hãy tưởng tượng một tủ đựng hồ sơ kỹ thuật số nơi bạn có thể lưu trữ, tổ chức và truy xuất thông tin. Đó chính là cơ sở dữ liệu! Trong thế giới máy tính, chúng ta sử dụng cơ sở dữ liệu để theo dõi mọi loại dữ liệu, từ danh mục hàng hóa của trang web mua sắm trực tuyến yêu thích của bạn đến các bài viết trên mạng xã hội.

Tại sao chúng ta cần hiển thị cơ sở dữ liệu?

Hiện tại, bạn có thể đang tự hỏi, "Tại sao chúng ta cần hiển thị cơ sở dữ liệu?" Hãy tưởng tượng bạn là một thư viện trưởng quản lý nhiều thư viện trên khắp thành phố. Có phải sẽ rất hữu ích nếu bạn có danh sách tất cả các thư viện bạn đang quản lý? Đó chính xác là điều mà việc hiển thị cơ sở dữ liệu làm cho chúng ta trong SQL - nó cung cấp cho chúng ta một cái nhìn tổng quan về tất cả các cơ sở dữ liệu mà chúng ta có quyền truy cập.

Liệt kê Cơ sở Dữ liệu bằng SQL

Trong SQL, có nhiều cách để liệt kê hoặc hiển thị cơ sở dữ liệu. Hãy cùng khám phá từng phương pháp một.

Lệnh SHOW DATABASES

Cách đơn giản nhất để liệt kê tất cả các cơ sở dữ liệu là sử dụng lệnh SHOW DATABASES. Nó giống như hỏi SQL, "Hey, bạn có thể hiển thị cho tôi tất cả các cơ sở dữ liệu chúng ta có không?"

SHOW DATABASES;

Khi bạn chạy lệnh này, SQL sẽ trả về danh sách tất cả các cơ sở dữ liệu bạn có quyền truy cập. Nó có thể trông giống như thế này:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| my_first_database  |
+--------------------+

Mỗi hàng trong kết quả này đại diện cho một cơ sở dữ liệu. Những cơ sở dữ liệu như 'information_schema', 'mysql', 'performance_schema', và 'sys' là các cơ sở dữ liệu hệ thống đi kèm với MySQL. Bất kỳ cơ sở dữ liệu nào bạn tự tạo (như 'my_first_database' trong ví dụ này) cũng sẽ xuất hiện trong danh sách này.

Lệnh SHOW SCHEMAS

Bạn có biết rằng 'schema' là từ khác có nghĩa là 'cơ sở dữ liệu' trong SQL? Đúng vậy! Vì vậy, chúng ta cũng có thể sử dụng lệnh SHOW SCHEMAS, điều này làm exactly the same thing as SHOW DATABASES.

SHOW SCHEMAS;

Kết quả bạn nhận được sẽ giống hệt như SHOW DATABASES. Nó giống như hỏi một thực đơn trong nhà hàng - dù bạn nói "Tôi có thể xem thực đơn không?" hay "Tôi có thể xem danh sách các món ăn không?", bạn sẽ nhận được cùng một thứ!

Lệnh SELECT...FROM

Đối với những ai thích thể hiện kỹ năng SQL của mình nhiều hơn, có một cách khác để liệt kê cơ sở dữ liệu bằng lệnh SELECT. Phương pháp này liên quan đến việc truy vấn INFORMATION_SCHEMA, là một cơ sở dữ liệu lưu trữ thông tin về tất cả các cơ sở dữ liệu khác.

SELECT SCHEMA_NAME
FROM INFORMATION_SCHEMA.SCHEMATA;

Truy vấn này có nghĩa là, "Xin hãy chọn tên của tất cả các schema (cơ sở dữ liệu) từ bảng SCHEMATA của INFORMATION_SCHEMA." Kết quả sẽ trông tương tự như SHOW DATABASES, nhưng ở một định dạng hơi khác:

+--------------------+
| SCHEMA_NAME        |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| my_first_database  |
+--------------------+

Lệnh EXEC sp_databases (SQL Server)

Nếu bạn sử dụng Microsoft SQL Server thay vì MySQL, bạn có một tùy chọn khác: lệnh EXEC sp_databases. Điều này giống như hỏi một robot hữu ích chạy một chương trình đã viết sẵn để lấy danh sách các cơ sở dữ liệu cho bạn.

EXEC sp_databases;

Lệnh này sẽ trả về một tập hợp kết quả với thông tin bổ sung về mỗi cơ sở dữ liệu:

+--------------------+--------------+-------------------+
| DATABASE_NAME      | DATABASE_SIZE| REMARKS           |
+--------------------+--------------+-------------------+
| master             | 6392         | NULL              |
| tempdb             | 16384        | NULL              |
| model              | 16384        | NULL              |
| msdb               | 15928        | NULL              |
| my_first_database  | 8192         | NULL              |
+--------------------+--------------+-------------------+

Ở đây, bạn không chỉ thấy tên cơ sở dữ liệu mà còn cả kích thước và bất kỳ备注 (thường là NULL除非 bạn đã thêm备注).

So sánh các phương pháp

Hãy tóm tắt các phương pháp này trong bảng handy:

Phương pháp Cú pháp Hệ thống cơ sở dữ liệu Độ dễ sử dụng Thông tin bổ sung
SHOW DATABASES SHOW DATABASES; MySQL, MariaDB Rất dễ Không có
SHOW SCHEMAS SHOW SCHEMAS; MySQL, MariaDB Rất dễ Không có
SELECT...FROM SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA; MySQL, MariaDB, PostgreSQL Trung bình Tùy chỉnh
EXEC sp_databases EXEC sp_databases; SQL Server Dễ Hiển thị kích thước và备注

Kết luận

Và đây, các bạn! Chúng ta đã khám phá bốn cách khác nhau để hiển thị hoặc liệt kê các cơ sở dữ liệu trong SQL. Dù bạn thích sự đơn giản của SHOW DATABASES, sự linh hoạt của một lệnh SELECT, hay thông tin bổ sung từ EXEC sp_databases, bạn nay đã có công cụ để có cái nhìn toàn cảnh về thế giới dữ liệu của mình.

Nhớ rằng, việc có thể liệt kê cơ sở dữ liệu giống như có một bản đồ của thế giới dữ liệu của bạn. Đó là bước đầu tiên trong việc định hướng trên biển rộng lớn của thông tin tại fingertips của bạn. Khi bạn tiếp tục hành trình SQL của mình, bạn sẽ thấy mình sử dụng các lệnh này thường xuyên, đặc biệt khi bạn làm việc với các hệ thống mới hoặc cố gắng tìm hiểu trong một môi trường cơ sở dữ liệu phức tạp.

Tiếp tục thực hành, giữ vững sự tò mò, và đừng害怕 thử nghiệm. Trước khi bạn biết điều đó, bạn sẽ đang truy vấn cơ sở dữ liệu như một chuyên gia! Đến gặp lại, chúc các bạn viết mã vui vẻ!

Credits: Image by storyset