테이블의 mysql 검사 데이터 정렬


106

테이블에 어떤 데이터 정렬이 있는지 어떻게 알 수 있습니까? IE보고 싶습니다 :

+-----------------------------+
|  table  |     collation     |
|-----------------------------|
| t_name  |  latin_general_ci |
+-----------------------------+

답변:


159

SHOW TABLE STATUS 데이터 정렬을 포함하여 테이블에 대한 정보를 표시합니다.

예를 들면 SHOW TABLE STATUS where name like 'TABLE_NAME'


78

위의 답변은 훌륭하지만 실제로 사용자가 구문을 조회하지 않아도되는 예제를 제공하지는 않습니다.

show table status like 'test';

test테이블 이름은 어디에 있습니까 ?

(아래 댓글에 따라 수정되었습니다.)


14

INFORMATION_SCHEMA.TABLES특정 테이블에 대한 데이터 정렬을 쿼리 하고 가져올 수도 있습니다 .

SELECT TABLE_SCHEMA
    , TABLE_NAME
    , TABLE_COLLATION 
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 't_name';

SHOW TABLE STATUS관련없는 정보가 많이 포함 된 것과 달리 훨씬 더 읽기 쉬운 출력을 제공합니다 .


데이터 정렬은 열 (테이블 자체와 다른 데이터 정렬이있을 수 있음)에도 적용될 수 있습니다. 특정 테이블에 대한 열 데이터 정렬을 가져 오려면 다음을 쿼리 할 수 ​​있습니다 INFORMATION_SCHEMA.COLUMNS.

SELECT TABLE_SCHEMA 
    , TABLE_NAME 
    , COLUMN_NAME 
    , COLLATION_NAME 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 't_name';

2
mariaDB 10.4에서 작동
Tarator

8

이 쿼리를 사용하십시오.

SHOW CREATE TABLE tablename

테이블과 관련된 모든 정보를 얻을 수 있습니다.


3
SHOW CREATE TABLE은 데이터 정렬을 표시하지 않습니다. 위에서 설명한대로 SHOW TABLE STATUS를 사용해야합니다.
KateYoak

1
mysql 5.5.52에서 나를 위해 작동합니다. ...) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=latin1내 생각 엔 mysql / mariadb의 이후 버전에서 데이터베이스의 기본값으로 설정되면 데이터 정렬이 표시되지 않을 수 있습니다.
DeveloperChris

1
@DeveloperChris 당신이 보여주는 것은 데이터 정렬이 아니라 문자셋입니다. 두 테이블이 동일한 문자 집합을 가질 수 utf8있지만 데이터 정렬 utf8_general_ciutf8_unicode_ci. 이로 인해 HY000, 1267, Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='... 와 같은 오류 메시지가 표시 될 수 있습니다 .
Dewi Morgan

0

이 명령은

mysql> use <database name> 

mysql> show table status like '<table name>';

+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+---------------------+------------+--------------------+----------+----------------+---------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time         | Check_time | Collation          | Checksum | Create_options | Comment |
+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+---------------------+------------+--------------------+----------+----------------+---------+
| test | InnoDB |      11 | Dynamic    |   52 |            315 |       16384 |               0 |            0 |         0 |             59 | NULL        | 2020-04-16 23:00:00 | NULL       | utf8mb4_unicode_ci |     NULL |                |         |
+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+---------------------+------------+--------------------+----------+----------------+---------+
1 row in set (0.01 sec)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.