пойгоҳи додаҳои MySQLМаълумоти сохтори ҷадвали маълумотҳои ҳолати ва рақами версияро чӣ гуна бояд тафтиш кард?

MySQL метамаълумот

Шумо метавонед се намуди маълумоти зеринро дар бораи MySQL донед:

  • Маълумот дар бораи натиҷаи дархост: Шумораи сабтҳое, ки аз изҳороти SELECT, UPDATE ё DELETE таъсир мерасонанд.
  • Маълумот дар бораи пойгоҳи додаҳо ва ҷадвалҳои маълумот: Маълумоти сохтории пойгоҳи додаҳо ва ҷадвали маълумотро дар бар мегирад.
  • Маълумоти сервери MySQL: Ҳолати ҷории сервери пойгоҳи додаҳо, рақами версия ва ғайраро дар бар мегирад.

Дар сатри фармони MySQL, мо метавонем маълумоти дар боло зикршудаи серверро ба осонӣ ба даст орем.Аммо агар шумо забони скриптро ба монанди Perl ё PHP истифода баред, барои гирифтани он ба шумо лозим аст, ки функсияи мушаххаси интерфейсро даъват кунед.Минбаъд мо ба таври муфассал шинос хоҳем кард.


Шумораи сабтҳоеро, ки ба изҳороти дархост таъсир мерасонанд, гиред

Намунаи PERL

Дар скриптҳои DBI, шумораи сабтҳое, ки ба изҳорот таъсир мерасонанд, бо функсияҳои do( ) ё иҷро ( ) бармегардонанд:

# 方法 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 истифода шаванд.

фармонтавсиф
ИНТИХОБ КАРДАНИ ВЕРСИЯ( )Маълумоти версияи сервер
ИНТИХОБИ МАЪЛУМОТ( )номи ҷории пойгоҳи додаҳо (ё баргардонидани холӣ)
Истифодабарандаро интихоб кунед( )номи корбари ҷорӣ
НИШОН ДОДАНИ СТАТУСҳолати сервер
Тағйирёбандаҳоро нишон диҳедТағйирёбандаҳои конфигуратсияи сервер