MySQL veritabanıDurum ve sürüm numarası veri tablosu yapısı bilgileri nasıl kontrol edilir?

MySQL meta veri

MySQL hakkında aşağıdaki üç tür bilgiyi bilmek isteyebilirsiniz:

  • Sorgu sonucu bilgileri: SELECT, UPDATE veya DELETE ifadesinden etkilenen kayıt sayısı.
  • Veritabanları ve veri tabloları hakkında bilgi: Veritabanı ve veri tablosunun yapı bilgilerini içerir.
  • MySQL sunucu bilgileri: Veritabanı sunucusunun mevcut durumunu, sürüm numarasını vb. içerir.

MySQL komut isteminde yukarıdaki sunucu bilgilerini kolayca elde edebiliriz.Ancak Perl veya PHP gibi bir betik dili kullanıyorsanız, onu elde etmek için belirli bir arabirim işlevini çağırmanız gerekir.Daha sonra detaylı olarak tanıtacağız.


Sorgu ifadesinden etkilenen kayıt sayısını alın

PERL örneği

DBI betiklerinde, deyimden etkilenen kayıtların sayısı do( ) veya execute( ) işlevleri tarafından döndürülür:

# 方法 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 örneği

PHP'de, bir sorgudan etkilenen kayıt sayısını almak için mysqli_affected_rows() işlevini kullanabilirsiniz.

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

Veritabanlarının ve veri tablolarının listesi

MySQL sunucusundaki veritabanlarının ve tabloların bir listesini kolayca alabilirsiniz.Yeterli izniniz yoksa, sonuç null değerini döndürür.
Veritabanlarının ve veri tablolarının bir listesini almak için SHOW TABLES veya SHOW DATABASES ifadesini de kullanabilirsiniz.

PERL örneği

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

PHP örneği

Aşağıdaki örnek, MySQL sunucusundaki tüm veritabanlarının çıktısını verir:

Tüm veritabanlarını görüntüle

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

Sunucu meta verilerini alın

Aşağıdaki komut deyimleri MySQL komut isteminde veya PHP betikleri gibi betiklerde kullanılabilir.

komutaçıklama
VERSİYON SEÇ( )Sunucu sürüm bilgisi
VERİTABANI SEÇ( )geçerli veritabanı adı (veya boş dön)
KULLANICI SEÇ( )mevcut kullanıcı adı
DURUM GÖSTERsunucu durumu
DEĞİŞKENLERİ GÖSTERSunucu Yapılandırma Değişkenleri