집 >데이터 베이스 >MySQL 튜토리얼 >데이터베이스에 데이터가 포함 된 테이블을 확인하는 방법
내의
테이블은 데이터베이스의 모든 테이블에 대한 세부 정보를 제공합니다. 이를 열의 검사와 결합 할 수 있습니다.이 열은 완벽하게 정확하지는 않지만 (특히 InnoDB의 경우에도 근사치가 될 수 있음) 테이블에 데이터가 있는지 여부에 대한 합리적인 표시를 제공합니다. 이와 같은 쿼리가 작동합니다 : information_schema
TABLES
를 데이터베이스의 실제 이름으로 바꾸십시오. 0보다 큰 테이블에는 데이터가 포함될 수 있습니다. 모든 스토리지 엔진에 대해 는 완벽하게 정확하지 않을 수 있습니다. information_schema
데이터베이스에서 비어 있지 않은 테이블을 식별하는 가장 효율적인 방법은 무엇입니까? TABLE_ROWS
비 인식 테이블을 식별하는 효율성은 데이터베이스 및 데이터베이스 시스템 자체의 크기에 크게 의존합니다.
<code class="sql">SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'your_database_name' AND TABLE_ROWS > 0;</code>가장 효율적인 접근 방식은 종종 스캔 한 데이터 양을 최소화하는 경우가 종종 있습니다. 예를 들어, 전체 테이블의 인덱스를 가로 지르는
를 확인하는 대신 다음과 같은 간단한 점검을 시도 할 수 있습니다. 테이블에 하나 이상의 행이있는 경우 모든 행을 계산할 필요없이 즉시 TRUE를 반환합니다. 이것은 큰 테이블의 모든 행을 계산하는 것보다 훨씬 빠릅니다. 이며 약간 다른 구문이 필요할 수 있습니다. 'your_database_name'
및 TABLE_ROWS
를 올바른 값으로 바꾸는 것을 잊지 마십시오. 각 테이블에 대해이 쿼리를 동적으로 생성하거나 저장된 절차 또는 스크립팅 언어를 사용하여 TABLE_ROWS
에서 얻은 테이블 목록을 통해 루프를 사용해야합니다. 빠른 개요의 경우 위에서 설명한 방법이 적합합니다. 그러나 속도는 데이터베이스 크기와 쿼리의 효율성에 따라 다릅니다. 덜 정확하지만 개요가 매우 빠르지 않은 경우 데이터베이스 관리 도구 (Phpmyadmin, Pgadmin, SQL Server Management Studio 등)를 사용할 수 있습니다. 이러한 도구 중 다수는 각 테이블의 행 수를 보여주는 시각적 인터페이스를 제공하므로 테이블이 비어 있는지 아닌지를 빠르게 평가할 수 있습니다. 이것은 조사를위한 좋은 출발점이지만 정확한 행 수를 결정하는 데 SQL 쿼리만큼 정확하지는 않습니다.
특정 데이터베이스에서 데이터가있는 테이블을 찾는 간단한 쿼리가 있습니까? 쿼리는 일반적으로 좋은 출발점입니다.
이 쿼리는 단일 행을 찾 자마자 모든 행과 중지를 계산하지 않습니다. 이 쿼리를 동적으로 생성하거나 저장된 절차 내에서 루프를 사용하여 언어를 스크립팅하여 데이터베이스의 모든 테이블을 반복해야합니다. 이 접근법은 데이터가 포함 된 테이블을 식별하는 합리적으로 간단하고 효율적인 방법을 제공합니다. 그러나 MySQL이 아닌 경우 데이터베이스 시스템의 특정 구문에 대해이 쿼리를 조정하십시오. Postgresql, SQL Server 및 Oracle은 자체 동등한 요소가 EXISTS
위 내용은 데이터베이스에 데이터가 포함 된 테이블을 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!