Latest web development tutorials

MySQL의 메타 데이터

당신은 MySQL의에게 정보를 다음의 세 가지 유형을 궁금해 수 있습니다 :

  • 쿼리 결과 정보 : UPDATE를 선택하거나 기록 문장의 수에 영향을 삭제합니다.
  • 정보 데이터베이스 및 데이터 테이블 : 정보 데이터베이스 구조 및 데이터 테이블이 포함되어 있습니다.
  • MySQL 서버 정보 : 데이터베이스 서버의 버전 번호의 현재 상태를 포함합니다.

MySQL의 명령 프롬프트에서, 우리는 쉽게 서버에 대한 자세한 정보를 얻을 수 있습니다. 펄 또는 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 상태 서버 상태
SHOW의 VARIABLES 서버 구성 변수