Lấy và sử dụng MySQL Metadata



Có 3 thông tin mà bạn muốn có từ MySQL:

  • Thông tin về kết quả của các truy vấn: Bao gồm số bản ghi bị tác động bởi bất kỳ lệnh SELECT, UPDATE, DELETE nào.

  • Thông tin về các bảng và cơ sở dữ liệu: Bao gồm thông tin liên quan tới cấu trúc bảng và cấu trúc cơ sở dữ liệu.

  • Thông tin về MySQL Server: Bao gồm trạng thái hiện tại của Database Server, phiên bản, …

Thực sự dễ dàng để lấy tất cả thông tin tại dòng nhắc lệnh mysql, nhưng trong khi sử dụng PERL hoặc PHP APIs, chúng ta cần gọi các APIs đa dạng để lấy tất cả thông tin này.

Lấy số hàng bị tác động bởi một Truy vấn trong MySQL

Trong PHP, gọi hàm mysql_affected_rows() để tìm xem có bao nhiêu hàng bị ảnh hưởng bởi một truy vấn:

$result_id = mysql_query ($query, $conn_id);
# report 0 rows if the query failed
$count = ($result_id ? mysql_affected_rows ($conn_id) : 0);
print ("$count rows were affected\n");

Liệt kê các bảng và cơ sở dữ liệu trong MySQL

Việc liệt kê các bảng và cơ sở dữ liệu có sẵn với Database Server là khá đơn giản. Kết quả của bạn có thể là NULL nếu bạn không được trao đủ quyền.

Ngoài phương thức đã liệt kê ở trên, bạn có thể sử dụng các truy vấn SHOW TABLES hoặc SHOW DATABASES để lấy danh sách các bảng hoặc cơ sở dữ liệu trong PHP.

Ví dụ

Database . "
"; } mysql_close($con); ?>

Lấy Server Metadata trong MySQL

Các lệnh sau trong MySQL có thể được thực thi hoặc tại dòng nhắc mysql hoặc bởi sử dụng bất kỳ script nào như PHP để lấy các thông tin quan trọng về Database Server.

LệnhMiêu tả
SELECT VERSION( )Phiên bản Server (dạng chuỗi)
SELECT DATABASE( )Tên cơ sở dữ liệu hiện tại (là trống nếu không có)
SELECT USER( )Username hiện tại
SHOW STATUSTrạng thái Server
SHOW VARIABLESCác biến cấu hình Server

Các bài học MySQL phổ biến khác tại VietJack: