어떤 mysql 명령이 데이터베이스의 테이블과 행 수를 표시할 수 있습니까? [폐쇄]

어떤 mysql 명령이 데이터베이스의 테이블과 행 수를 표시할 수 있습니까? [폐쇄]

테이블과 테이블에 있는 행 수를 표시할 수 있는 mysql 명령이 있습니까?

답변1

MySQL 5부터 information_schemaMySQL 데이터베이스의 테이블에 대한 메타데이터가 포함된 가상 테이블을 쿼리할 수 있습니다.

각 데이터베이스의 각 테이블에 대한 행 수를 찾으려면 다음을 수행하십시오.

$ mysql -u root -p \
    -e "select table_schema,table_name,table_rows from information_schema.tables;"
+---------------------+---------------------------------------+------------+
| table_schema        | table_name                            | table_rows |
+---------------------+---------------------------------------+------------+
| information_schema  | CHARACTER_SETS                        |       NULL | 
| information_schema  | COLLATIONS                            |       NULL | 
| information_schema  | COLLATION_CHARACTER_SET_APPLICABILITY |       NULL | 
...
...
| arrdb01             | active_part                           |         24 | 
| arrdb01             | audit_record                          |         19 | 
| arrdb01             | code                                  |          8 | 
| arrdb01             | part_obj                              |          0 | 
| arrdb02             | active_part                           |         24 | 
| arrdb02             | audit_record                          |         14 | 
| arrdb02             | code                                  |          9 | 
| arrdb02             | part_obj                              |          1 | 
| cacti               | cdef                                  |          8 | 
| cacti               | cdef_items                            |         22 | 
| cacti               | colors                                |        215 | 
...
...

위 명령은 information_schema 테이블에서 3개의 열을 선택합니다.

  • table_schema(데이터베이스 이름)
  • 테이블 이름
  • 테이블 행 수

포함된 모든 필드를 보려면 explain 명령을 사용할 수 있습니다.

$ mysql -u root -p -e "describe information_schema.tables"
+-----------------+--------------+------+-----+---------+-------+
| Field           | Type         | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+-------+
| TABLE_CATALOG   | varchar(512) | YES  |     | NULL    |       | 
| TABLE_SCHEMA    | varchar(64)  | NO   |     |         |       | 
| TABLE_NAME      | varchar(64)  | NO   |     |         |       | 
| TABLE_TYPE      | varchar(64)  | NO   |     |         |       | 
| ENGINE          | varchar(64)  | YES  |     | NULL    |       | 
| VERSION         | bigint(21)   | YES  |     | NULL    |       | 
| ROW_FORMAT      | varchar(10)  | YES  |     | NULL    |       | 
| TABLE_ROWS      | bigint(21)   | YES  |     | NULL    |       | 
| AVG_ROW_LENGTH  | bigint(21)   | YES  |     | NULL    |       | 
| DATA_LENGTH     | bigint(21)   | YES  |     | NULL    |       | 
| MAX_DATA_LENGTH | bigint(21)   | YES  |     | NULL    |       | 
| INDEX_LENGTH    | bigint(21)   | YES  |     | NULL    |       | 
| DATA_FREE       | bigint(21)   | YES  |     | NULL    |       | 
| AUTO_INCREMENT  | bigint(21)   | YES  |     | NULL    |       | 
| CREATE_TIME     | datetime     | YES  |     | NULL    |       | 
| UPDATE_TIME     | datetime     | YES  |     | NULL    |       | 
| CHECK_TIME      | datetime     | YES  |     | NULL    |       | 
| TABLE_COLLATION | varchar(64)  | YES  |     | NULL    |       | 
| CHECKSUM        | bigint(21)   | YES  |     | NULL    |       | 
| CREATE_OPTIONS  | varchar(255) | YES  |     | NULL    |       | 
| TABLE_COMMENT   | varchar(80)  | NO   |     |         |       | 
+-----------------+--------------+------+-----+---------+-------+

인용하다

답변2

connect name_of_database;
show tables;
select count(*) from name_of_database.name_of_table;

정규화된 테이블 이름의 전체 목록을 얻으려면 다음을 수행하십시오.

select concat(table_schema, '.', table_name) from information_schema.tables;

답변3

데이터베이스를 선택한 후 다음을 시도하십시오.

SHOW TABLE STATUS LIKE '%'

인용하다:

http://www.geeksww.com/tutorials/database_management_systems/mysql/administration/mysql_tables_statistics_size_engine_no_of_rows_etc.php

관련 정보