Cơ sở dữ liệu MySQLLàm thế nào để kiểm tra trạng thái và thông tin cấu trúc bảng dữ liệu số phiên bản?

MySQL metadata

Bạn có thể muốn biết ba loại thông tin sau về MySQL:

  • Thông tin kết quả truy vấn: Số lượng bản ghi bị ảnh hưởng bởi câu lệnh SELECT, UPDATE hoặc DELETE.
  • Thông tin về cơ sở dữ liệu và bảng dữ liệu: Chứa thông tin cấu trúc của cơ sở dữ liệu và bảng dữ liệu.
  • Thông tin máy chủ MySQL: Chứa trạng thái hiện tại của máy chủ cơ sở dữ liệu, số phiên bản, v.v.

Trong dấu nhắc lệnh MySQL, chúng ta có thể dễ dàng lấy thông tin máy chủ ở trên.Nhưng nếu bạn sử dụng ngôn ngữ kịch bản như Perl hoặc PHP, bạn cần phải gọi một hàm giao diện cụ thể để lấy nó.Tiếp theo chúng tôi sẽ giới thiệu chi tiết.


Nhận số lượng bản ghi bị ảnh hưởng bởi câu lệnh truy vấn

Phiên bản PERL

Trong tập lệnh DBI, số lượng bản ghi bị ảnh hưởng bởi câu lệnh được trả về bởi các hàm do () hoặc thi hành ():

# 方法 1
# 使用do( ) 执行  $query 
my $count = $dbh->do ($query);
# 如果发生错误会输出 0
printf "%d 条数据被影响\n", (defined ($count) ? $count : 0);
# 方法 2
# 使用prepare( ) 及 execute( ) 执行  $query 
my $sth = $dbh->prepare ($query);
my $count = $sth->execute ( );
printf "%d 条数据被影响\n", (defined ($count) ? $count : 0);

Phiên bản PHP

Trong PHP, bạn có thể sử dụng hàm mysqli_affected_rows () để lấy số lượng bản ghi bị ảnh hưởng bởi một truy vấn.

$result_id = mysqli_query ($conn_id, $query);
# 如果查询失败返回 
$count = ($result_id ? mysqli_affected_rows ($conn_id) : 0);
print ("$count 条数据被影响\n");

Danh sách cơ sở dữ liệu và bảng dữ liệu

Bạn có thể dễ dàng nhận được danh sách cơ sở dữ liệu và bảng trong máy chủ MySQL.Nếu bạn không có đủ quyền, kết quả sẽ trả về null.
Bạn cũng có thể sử dụng câu lệnh SHOW TABLES hoặc SHOW DATABASES để nhận danh sách cơ sở dữ liệu và bảng dữ liệu.

Phiên bản PERL

# 获取当前数据库中所有可用的表。
my @tables = $dbh->tables ( );
foreach $table (@tables ){
   print "表名 $table\n";
}

Phiên bản PHP

Ví dụ sau xuất ra tất cả cơ sở dữ liệu trên máy chủ MySQL:

Xem tất cả cơ sở dữ liệu

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
$db_list = mysqli_query($conn, 'SHOW DATABASES');
while ($db = mysqli_fetch_object($db_list))
{
 echo $db->Database . "<br />";
}
mysqli_close($conn);
?>

Nhận siêu dữ liệu máy chủ

Các câu lệnh sau có thể được sử dụng tại dấu nhắc lệnh MySQL hoặc trong các tập lệnh, chẳng hạn như tập lệnh PHP.

chỉ huy描述
CHỌN PHIÊN BẢN ()Thông tin phiên bản máy chủ
CHỌN CƠ SỞ DỮ LIỆU ()tên cơ sở dữ liệu hiện tại (hoặc trả về trống)
CHỌN NGƯỜI DÙNG ()tên người dùng hiện tại
HIỂN THỊ TÌNH TRẠNGtrạng thái máy chủ
HIỂN THỊ BIẾNBiến cấu hình máy chủ