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ụ
<?php $con = mysql_connect("localhost", "userid", "password"); if (!$con) { die('Khong the ket noi: ' . mysql_error()); } $db_list = mysql_list_dbs($con); while ($db = mysql_fetch_object($db_list)) { echo $db->Database . "<br />"; } 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ệnh | Miê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 STATUS | Trạng thái Server |
SHOW VARIABLES | Các biến cấu hình Server |