کامپیوتر، مهندسی ۳۳۱ بازدید

سه نوع اطلاعات پایگاه داده MySQL وجود دارند که می‌توان به دست آورد:

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

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

به دست آوردن تعداد ردیف‌هایی که از یک کوئری تأثیر پذیرفته‌اند

در این بخش روش کسب این اطلاعات را معرفی می‌کنیم.

مثال PERL

در اسکریپت‌های DBI، تعداد ردیف‌های تأثیر پذیرفته به وسیله ()do یا از طریق دستور ()execute بازگشت می‌یابد و این مسئله به چگونگی اجرای کوئری وابسته است.

# Method 1
# execute $query using do( )
my $count = $dbh->do ($query);
# report 0 rows if an error occurred
printf "%d rows were affected\n", (defined ($count) ? $count : 0);

# Method 2
# execute query using prepare( ) plus execute( )
my $sth = $dbh->prepare ($query);
my $count = $sth->execute ( );
printf "%d rows were affected\n", (defined ($count) ? $count : 0);

مثال PHP

در زبان برنامه‌نویسی PHP، می‌توان تابع ()mysql_affected_rows را برای یافتن تعداد ردیف‌هایی که توسط یک کوئری تغییر یافته است، فراخوانی کرد.

$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");

لیست کردن جدول‌ها و پایگاه‌های داده

لیست کردن همه پایگاه‌های داده و جدول‌های موجود در یک سرور پایگاه داده کار آسانی است. اما در صورتی که دسترسی‌های کافی نداشته باشید، ممکن است با نتایج null مواجه شوید.

به جز روشی که در کد زیر برای این منظور استفاده شده است، می‌توان از کوئری‌های SHOW TABLES یا SHOW DATABASES برای دریافت لیستی از جدول‌ها یا پایگاه‌های داده در PHP یا PERL استفاده کرد.

مثال PERL

# Get all the tables available in current database.
my @tables = $dbh->tables ( );

foreach $table (@tables ){
   print "Table Name $table\n";
}

مثال PHP

<?php
   $con = mysql_connect("localhost", "userid", "password");
   
   if (!$con) {
      die('Could not connect: ' . mysql_error());
   }
   $db_list = mysql_list_dbs($con);

   while ($db = mysql_fetch_object($db_list)) {
      echo $db->Database . "<br />";
   }
   mysql_close($con);
?>

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

چند دستور مهم در MySQL وجود دارند که می‌توان در اعلان MySQL یا با استفاده از اسکریپت‌هایی مانند PHP اجرا کرد و اطلاعات مختلفی در مورد سرور پایگاه داده به دست آورد.

دستور توضیح
()SELECT VERSION رشته معرف نسخه سرور
()SELECT DATABASE نام پایگاه داده جاری (در صورت نبودن، خالی است)
()SELECT USER نام کاربری جاری
SHOW STATUS  نمایش وضعیت سرور
SHOW VARIABLES  نمایش متغیرهای پیکربندی سرور

در این نوشته برخی از دستورها و کوئری‌هایی که برای دریافت اطلاعاتی در مورد پایگاه داده MySQL در محیط‌های مختلف وجود دارند، معرفی کردیم.

اگر این مطلب برایتان مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
شما قبلا رای داده‌اید!
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.

«میثم لطفی» در رشته‌های ریاضیات کاربردی و مهندسی کامپیوتر به تحصیل پرداخته و شیفته فناوری است. وی در حال حاضر علاوه بر پیگیری علاقه‌مندی‌هایش در رشته‌های برنامه‌نویسی، کپی‌رایتینگ و محتوای چندرسانه‌ای، در زمینه نگارش مقالاتی با محوریت نرم‌افزار با مجله فرادرس همکاری دارد.

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد.

مشاهده بیشتر