ホームページ >データベース >mysql チュートリアル >[mysql チュートリアル] MySQL メタデータ

[mysql チュートリアル] MySQL メタデータ

黄舟
黄舟オリジナル
2016-12-26 17:30:531134ブラウズ

MySQL メタデータ

MySQL に関する次の 3 種類の情報を知りたい場合があります:

クエリ結果情報: SELECT、UPDATE、または DELETE ステートメントの影響を受けるレコードの数。

データベースとデータテーブル情報: データベースとデータテーブルの構造情報が含まれます。

MySQL サーバー情報: データベース サーバーの現在のステータス、バージョン番号などが含まれます。

MySQL コマンド プロンプトでは、上記のサーバー情報を簡単に取得できます。 ただし、Perl や PHP などのスクリプト言語を使用する場合は、それを取得するために特定のインターフェイス関数を呼び出す必要があります。 次に詳しく紹介していきます。

クエリステートメントの影響を受けるレコード数を取得します

PERL インスタンス

DBI スクリプトでは、ステートメントの影響を受けるレコード数は関数 do() またはexecute() を通じて返されます:

# 方法 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(&#39;Could not connect: &#39; . 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 VERSION( ) サーバーのバージョン情報

SELECT DATABASE( ) 現在のデータベース名 (または空を返す)

SELECT USER( ) 現在のユーザー名

SHOW STATUS サーバーのステータス

SHOW VARIABLES サーバー設定変数

上記は、[mysql チュートリアル] の MySQL メタデータの内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。