>데이터 베이스 >MySQL 튜토리얼 >SQL을 사용하여 특정 데이터베이스에서 테이블 이름을 검색하려면 어떻게 해야 합니까?

SQL을 사용하여 특정 데이터베이스에서 테이블 이름을 검색하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-09 07:28:44393검색

How Can I Retrieve Table Names from a Specific Database Using SQL?

특정 데이터베이스에서 테이블 이름을 검색하는 SQL 쿼리

데이터베이스 관리자와 애플리케이션 개발자는 특정 데이터베이스 내의 테이블 이름 목록을 검색해야 하는 경우가 많습니다. 접근 방식은 데이터베이스 시스템(예: MySQL, SQL Server, Oracle)에 따라 약간 다릅니다. 데이터베이스 스키마 구조의 차이로 인해 보편적으로 호환되는 단일 쿼리는 불가능합니다.

과제: 표준 INFORMATION_SCHEMA 쿼리는 원하는 데이터베이스뿐만 아니라 서버에 있는 모든 데이터베이스의 테이블을 반환하는 경우가 많습니다.

해결책: 쿼리에 데이터베이스별 필터를 추가해야 합니다.

데이터베이스별 쿼리:

  • SQL 서버:
<code class="language-sql">SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG = 'dbName'</code>
  • MySQL:
<code class="language-sql">SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA = 'dbName'</code>

"dbName"을 대상 데이터베이스의 실제 이름으로 바꾸세요.

  • 오라클:

Oracle의 경우 INFORMATION_SCHEMA 접근 방식이 다릅니다. 현재 사용자의 스키마에 대한 테이블을 검색하려면:

<code class="language-sql">SELECT TABLE_NAME FROM USER_TABLES</code>

다른 스키마를 지정하려면(적절한 권한 필요):

<code class="language-sql">SELECT TABLE_NAME FROM DBA_TABLES WHERE OWNER = '<schema_name>'</code>

<schema_name>을 스키마 소유자 이름으로 바꿉니다.

이 정보는 테이블 이름 검색을 위한 적응형 SQL 솔루션을 제공하여 다양한 데이터베이스 플랫폼 간의 호환성을 보장합니다. 환경에 맞게 dbName 또는 schema_name 값을 조정하는 것을 잊지 마세요.

위 내용은 SQL을 사용하여 특정 데이터베이스에서 테이블 이름을 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.