Latest web development tutorials

MySQLのメタデータ

あなたは、MySQLに情報は、次の3種類を不思議に思うことがあります。

  • 問い合わせ結果の情報:、Update]選択 、またはレコード文の数に影響を与えるDELETE。
  • 情報データベースとデータテーブルは:情報データベース構造とデータテーブルが含まれています。
  • MySQLサーバーの情報:データベース・サーバーのバージョン番号の現在の状態が含まれています。

MySQLのコマンドプロンプトでは、我々は簡単にサーバーに関するより多くの情報を得ることができます。 あなたはPerlやPHPスクリプト言語を使用する場合は、あなたが特定のインターフェイスを取得するための関数を呼び出す必要があります。 次に、詳細ます。


クエリのステートメントによって影響を受けたレコードの数を取得します。

PERLの例

DBIスクリプトでは、文関数によって影響を受けるレコードの数を返します)((行う)、または実行します。

# 方法 1
# 使用do( ) 执行  $query 
my $count = $dbh->do ($query);
# 如果发生错误会输出 0
printf "%d rows were affected\n", (defined ($count) ? $count : 0);

# 方法 2
# 使用prepare( ) 及 execute( ) 执行  $query 
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);
# 如果查询失败返回 
$count = ($result_id ? mysql_affected_rows ($conn_id) : 0);
print ("$count rows were affected\n");

リストデータベースとデータテーブル

あなたは簡単にMySQLサーバ内のデータベースとデータテーブルのリストを取得することができます。 あなたが十分な権限を持っていない場合、結果はnullを返します。

また、データベースとデータテーブルのリストを取得するには、SHOW TABLESまたはSHOW DATABASESステートメントを使用することができます。

PERLの例

# 获取当前数据库中所有可用的表。
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のコマンドプロンプトで使用することができ、次のコマンド構文はまた、PHPスクリプトとして、スクリプトで使用することができます。

コマンド 説明
バージョンを選択します() サーバのバージョン
SELECT DATABASE() 現在のデータベース名(または戻り空気)
SELECT USER() 現在のユーザー名
SHOWステータス サーバステータス
バリアブルの表示 サーバーの設定変数