English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MySQL에서 다음 세 가지 정보를 알고 싶을 수 있습니다:
조회 결과 정보:SELECT, UPDATE 또는 DELETE 문이 영향을 미친 레코드 수.
데이터베이스 및 데이터테이블 정보:데이터베이스 및 데이터테이블 구조 정보를 포함하고 있습니다.
MySQL 서버 정보:데이터베이스 서버의 현재 상태, 버전 번호 등이 포함되어 있습니다。
MySQL 명령 프롬프트에서는 이러한 서버 정보를 쉽게 가져올 수 있습니다。 하지만 Perl이나 PHP와 같은 스크립트 언어를 사용하면 특정 인터페이스 함수를 호출하여 가져오는 것이 필요합니다。 그다음에 자세히 설명하겠습니다。
DBI 스크립트에서 문장이 영향을 미친 레코드 수는 함수 do( ) 또는 execute( )를 통해 반환됩니다:
# 메서드 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에서는 mysqli_affected_rows() 함수를 사용하여 쿼리가 영향을 미친 레코드 수를 가져올 수 있습니다。
$result_id = mysqli_query($conn_id, $query); # 쿼리 실패 시 반환 $count = ($result_id ? mysqli_affected_rows($conn_id) : 0); print "$count 条数据被影响\n";
MySQL 서버에서 데이터베이스와 테이블 목록을 쉽게 가져올 수 있습니다。 충분한 권한이 없으면 결과가 null로 반환됩니다。
SHOW TABLES 또는 SHOW DATABASES 문을 사용하여 데이터베이스와 테이블 목록을 가져올 수도 있습니다。
# 현재 데이터베이스에서 모든 사용 가능한 테이블을 가져옵니다。 my @tables = $dbh->tables ( ); foreach ($table as @tables) { print "테이블 이름 $table\n"; }
아래 예제는 MySQL 서버 상의 모든 데이터베이스를 출력하는 예제입니다:
<?php $dbhost = 'localhost'; // 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); ?>
다음 명령 문은 MySQL 명령 프롬프트에서 사용할 수 있으며 스크립트에서도 사용할 수 있습니다. PHP 스크립트와 같이 사용할 수 있습니다.
명령 | 설명 |
---|---|
SELECT VERSION( ) | 서버 버전 정보 |
SELECT DATABASE( ) | 현재 데이터베이스 이름 (또는 비어있음) |
SELECT USER( ) | 현재 사용자 이름 |
SHOW STATUS | 서버 상태 |
SHOW VARIABLES | 서버 구성 변수 |