MySQL 最新のマニュアル ...login
MySQL 最新のマニュアル チュートリアル
著者:php.cn  更新時間:2022-04-15 14:04:12

MySQLメタデータ


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('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 VERSION( )サーバーのバージョン情報
SELECT DATABASE( )現在のデータベース名(または空を返す)
ユーザーを選択( )現在のユーザー名
ステータスを表示サーバーステータス
変数を表示サーバー構成変数

PHP中国語ウェブサイト