에 대한 크기, num_tables, default_charset, default_collation : 캐릭터 세트를 추가하는 방법을 알아 내기 위해쿼리 NUM_ROWS, 모든 데이터베이스 지금 나는이 가지고 올 수있었습니다
SELECT
table_schema AS 'name_db',
sum(table_rows) AS 'num_rows_db',
SUM(data_length + index_length)/1024/1024 AS 'size_db(MB)',
count(*) as 'num_tables_db'
FROM
information_schema.TABLES
GROUP BY table_schema;
그리고 지금은 시도하고를 모든 데이터베이스에 대해 데이터 정렬을 수행하는 방법을 잘 모르겠습니다.
나는 information_schema.SCHEMATA 테이블이 DEFAULT_CHARACTER_SET_NAME
및 DEFAULT_COLLATION_NAME
개의 컬럼을 가지고 있다는 것을 알아 냈습니다. 위의 쿼리에이 정보를 추가하고 싶습니다. 또한, 크기에 따라 Kb 또는 MB로 db 크기를 표시하는 쉬운 방법이 있는지 여부를 알고 싶습니다 (예 : heidiSQL 요약과 같이).
추측이 내 첫 번째 쿼리의에 의해 SCHEMA_NAME
을 사용하여이 두 테이블 만 그룹 간의 조인의 일종을해야하는 것은 나를 혼란 :/
데이터베이스의 charset 및 데이터 정렬은 _by default_를 제외한 테이블의 설정을 제어하지 않습니다. 표 설정과 열 설정 비교. 그래서, 나는 당신이 요구 한 것에 대한 유용성에 의문을 제기합니다. 또 다른 접근 방법은'... GROUP_CONCAT (DISTINCT character_set) ... FROM COLUMNS ...'이것은 각 데이터베이스에 대해 현재 사용중인 모든 문자셋을 표시합니다. 기본 설정을 사용할지 또는 사용중인 설정을 사용할지 여부를 명확히하십시오. (예,'JOIN'이 필요할 것 같습니다.) –
@RickJames 실제로 제가 좋은 점은 제가 실제로 여기에서 달성하고자하는 것은 제 서버의 모든 데이터베이스에 대한 최대 관련 정보를 보여주는 것입니다 ~ 상자 당 20db 피팅 작은 공간 (1 또는 2 cmd 프롬프트 페이지 그래서 나는 모든 정보를 한 번에 볼 수 있습니다). 현재 각 데이터베이스에 사용중인 모든 문자 집합을 표시하는 것이 더 좋은 아이디어처럼 들리 겠지만 내 쿼리에 추가하기가 너무 어려울까요? 당신이 볼 수 있듯이 내 SQL 기술은 거의 녹슨 것들이며, 결국 따라 잡을 필요가있다 : D – BPL