پایگاه داده MySQLچگونه اطلاعات ساختار جدول داده وضعیت و شماره نسخه را بررسی کنیم؟

خروجی ابرداده

ممکن است بخواهید سه نوع اطلاعات زیر را در مورد MySQL بدانید:

  • اطلاعات نتیجه پرس و جو: تعداد رکوردهای تحت تأثیر عبارت SELECT، UPDATE یا DELETE.
  • اطلاعات در مورد پایگاه داده ها و جداول داده: حاوی اطلاعات ساختار پایگاه داده و جدول داده ها است.
  • اطلاعات سرور MySQL: شامل وضعیت فعلی سرور پایگاه داده، شماره نسخه و غیره است.

در خط فرمان MySQL به راحتی می توانیم اطلاعات سرور فوق را بدست آوریم.اما اگر از یک زبان برنامه نویسی مانند Perl یا PHP استفاده می کنید، باید یک تابع رابط خاص را برای دریافت آن فراخوانی کنید.در ادامه به طور مفصل معرفی می کنیم.


تعداد رکوردهای تحت تأثیر عبارت پرس و جو را دریافت کنید

نمونه PERL

در اسکریپت های DBI، تعداد رکوردهایی که تحت تاثیر دستور قرار می گیرند توسط توابع do() or execute() برمی گردند:

# 方法 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);

نمونه PHP

در PHP، می‌توانید از تابع mysqli_affected_rows() برای دریافت تعداد رکوردهای تحت تأثیر یک کوئری استفاده کنید.

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

فهرست پایگاه های داده و جداول داده ها

شما به راحتی می توانید لیستی از پایگاه های داده و جداول را در سرور MySQL دریافت کنید.اگر مجوزهای کافی نداشته باشید، نتیجه صفر خواهد شد.
همچنین می توانید از عبارت SHOW TABLES یا SHOW DATABASES برای دریافت لیستی از پایگاه های داده و جداول داده استفاده کنید.

نمونه PERL

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

نمونه PHP

مثال زیر خروجی تمام پایگاه های داده در سرور MySQL است:

مشاهده تمام پایگاه های داده

<?
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);
?>

دریافت ابرداده سرور

دستورات زیر را می توان در خط فرمان MySQL یا در اسکریپت هایی مانند اسکریپت های PHP استفاده کرد.

فرمان دادنشرح
SELECT VERSION( )اطلاعات نسخه سرور
انتخاب پایگاه داده ( )نام پایگاه داده فعلی (یا خالی بازگشت)
انتخاب کاربر( )نام کاربری فعلی
نمایش وضعیتوضعیت سرور
نمايش متغيرهامتغیرهای پیکربندی سرور