특정 데이터베이스에서 테이블 이름을 검색하는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!