source

선택된 데이터베이스를 확인하는 방법

gigabyte 2022. 12. 28. 21:40
반응형

선택된 데이터베이스를 확인하는 방법

통화 후mysql_select_db데이터베이스를 가져오기 위해 현재 선택된 데이터베이스의 이름을 나중에 출력할 수 있는 방법이 있습니까?이것은 매우 기본적인 것처럼 보이지만, php.net 또는 stackoverflow에서 아무것도 찾을 수 없었습니다(모든 결과는 "no database selected"에 대한 것입니다).

mysql_query(또는 mysqli_query, 더 나은 방법 또는 PDO, 무엇보다도 가장 좋은 방법)를 다음과 같이 사용합니다.

SELECT DATABASE() FROM DUAL;

부록:

가부를 두고 많은 논의가 있다FROM DUAL여기에 포함시켜야 합니다.기술적인 측면에서는 Oracle로부터의 보류이며 안전하게 제거할 수 있습니다.원하는 경우 대신 다음을 사용할 수 있습니다.

SELECT DATABASE();

그렇긴 하지만 주의할 점은FROM DUAL는 실제로 아무것도 하지 않습니다.이것은 유효한 MySQL 구문입니다.엄밀한 관점에서 보면 JavaScript에서 조건부로 한 줄에 중괄호를 넣는 것도 아무것도 하지 않지만 여전히 유효한 방법입니다.

SELECT DATABASE();

p.s. 이 질문은 MySQL 질문이지 Oracle 질문이 아니라는 사실을 반영하기 위해 @cwallenpool의 답변을 수정하고 싶지 않습니다.DUAL.

STATUS 명령어를 사용하면 언제든지 현재 데이터베이스와 현재 사용자를 알 수 있습니다.

여기에 이미지 설명 입력

http://www.php.net/manual/de/function.mysql-db-name.php의 코멘트에서 ericpp % bigfoot.com에서 다음과 같은 것을 발견했습니다.

현재 데이터베이스 이름만 필요한 경우 MySQL의 SELECT DATABASE() 명령을 사용할 수 있습니다.

<?php
function mysql_current_db() {
    $r = mysql_query("SELECT DATABASE()") or die(mysql_error());
    return mysql_result($r,0);
}
?>

SELECT DATABASE()PHPMyAdmin에서 근무했습니다.

@mysql_result(mysql_query("SELECT DATABASE();"),0)

선택된 데이터베이스가 없거나 연결이 없는 경우 반환됩니다.NULL그렇지 않으면 선택한 데이터베이스의 이름입니다.

약간 주제에서 벗어났지만(PHP 대신 CLI 사용) 여전히 알아둘 가치가 있습니다.다음 중 하나를 사용하여 기본 데이터베이스를 표시하도록 프롬프트를 설정할 수 있습니다.

mysql --prompt='\d> '
export MYSQL_PS1='\d> '

또는 일단 안에 들어가면

prompt \d>\_
\R \d>\_

특정 단어를 사용하여 데이터베이스를 필터링하는 다른 방법입니다.

SHOW DATABASES WHERE `Database` LIKE '<yourDatabasePrefixHere>%'
or
SHOW DATABASES LIKE '<yourDatabasePrefixHere>%';

예:

SHOW DATABASES WHERE `Database` LIKE 'foobar%'
foobar_animal
foobar_humans_gender
foobar_objects

언급URL : https://stackoverflow.com/questions/8096550/how-to-determine-which-database-is-selected

반응형