집 >데이터 베이스 >MySQL 튜토리얼 >SQL을 사용하여 특정 데이터베이스에서 테이블 이름을 검색하려면 어떻게 해야 합니까?
특정 데이터베이스에서 테이블 이름을 검색하는 SQL 쿼리
데이터베이스 관리자와 애플리케이션 개발자는 특정 데이터베이스 내의 테이블 이름 목록을 검색해야 하는 경우가 많습니다. 접근 방식은 데이터베이스 시스템(예: MySQL, SQL Server, Oracle)에 따라 약간 다릅니다. 데이터베이스 스키마 구조의 차이로 인해 보편적으로 호환되는 단일 쿼리는 불가능합니다.
과제: 표준 INFORMATION_SCHEMA
쿼리는 원하는 데이터베이스뿐만 아니라 서버에 있는 모든 데이터베이스의 테이블을 반환하는 경우가 많습니다.
해결책: 쿼리에 데이터베이스별 필터를 추가해야 합니다.
데이터베이스별 쿼리:
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG = 'dbName'</code>
<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!