복붙노트

[SQL] 어떻게 MySQL 데이터베이스 / 테이블 / 열이 설정 어떤 문자 볼 수 있습니까?

SQL

어떻게 MySQL 데이터베이스 / 테이블 / 열이 설정 어떤 문자 볼 수 있습니까?

의 (기본) 캐릭터 세트는 무엇입니까 :

해결법

  1. ==============================

    1.여기에 내가 그것을 할 거라고 방법 -

    여기에 내가 그것을 할 거라고 방법 -

    스키마를 들어 (또는 데이터베이스 - 그들은 동의어입니다) :

    SELECT default_character_set_name FROM information_schema.SCHEMATA 
    WHERE schema_name = "schemaname";
    

    테이블의 경우 :

    SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,
           information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
    WHERE CCSA.collation_name = T.table_collation
      AND T.table_schema = "schemaname"
      AND T.table_name = "tablename";
    

    열 경우 :

    SELECT character_set_name FROM information_schema.`COLUMNS` 
    WHERE table_schema = "schemaname"
      AND table_name = "tablename"
      AND column_name = "columnname";
    
  2. ==============================

    2.열 경우 :

    열 경우 :

    SHOW FULL COLUMNS FROM table_name;
    
  3. ==============================

    3.데이터베이스의 경우 :

    데이터베이스의 경우 :

    USE your_database_name;
    show variables like "character_set_database";
    -- or:
    -- show variables like "collation_database";
    

    참조 이 페이지. 그리고 MySQL의 설명서를 확인

  4. ==============================

    4.모든 데이터베이스의 경우 서버에 있습니다 :

    모든 데이터베이스의 경우 서버에 있습니다 :

    mysql> SELECT SCHEMA_NAME 'database', default_character_set_name 'charset', DEFAULT_COLLATION_NAME 'collation' FROM information_schema.SCHEMATA;
    

    산출:

    +----------------------------+---------+--------------------+
    | database                   | charset | collation          |
    +----------------------------+---------+--------------------+
    | information_schema         | utf8    | utf8_general_ci    |
    | my_database                | latin1  | latin1_swedish_ci  |
    ...
    +----------------------------+---------+--------------------+
    

    단일 데이터베이스의 경우 :

    mysql> USE my_database;
    mysql> show variables like "character_set_database";
    

    산출:

        +----------------------------+---------+
        | Variable_name              |  Value  |
        +----------------------------+---------+
        | character_set_database     |  latin1 | 
        +----------------------------+---------+
    

    테이블의 데이터 정렬 방법 :

    mysql> USE my_database;
    mysql> SHOW TABLE STATUS WHERE NAME LIKE 'my_tablename';
    

    또는 - 의지 출력 테이블을 생성의 전체 SQL :

    MySQL의> 테이블 my_tablename을 만들 보여

    열의 데이터 정렬 방법 :

    mysql> SHOW FULL COLUMNS FROM my_tablename;
    

    산출:

    +---------+--------------+--------------------+ ....
    | field   | type         | collation          |
    +---------+--------------+--------------------+ ....
    | id      | int(10)      | (NULL)             |
    | key     | varchar(255) | latin1_swedish_ci  |
    | value   | varchar(255) | latin1_swedish_ci  |
    +---------+--------------+--------------------+ ....
    
  5. ==============================

    5.테이블의 경우 :

    테이블의 경우 :

    테이블 표시 상태는 모든 테이블을 나열합니다.

    사용 필터 :

    SHOW TABLE STATUS where name like 'table_123';
    
  6. ==============================

    6.데이터베이스의 경우 :

    데이터베이스의 경우 :

    그냥 다음 명령을 사용합니다 :

    USE db_name;
    SELECT @@character_set_database;
    -- or:
    -- SELECT @@collation_database;
    
  7. ==============================

    7.

    SELECT TABLE_SCHEMA,
           TABLE_NAME,
           CCSA.CHARACTER_SET_NAME AS DEFAULT_CHAR_SET,
           COLUMN_NAME,
           COLUMN_TYPE,
           C.CHARACTER_SET_NAME
      FROM information_schema.TABLES AS T
      JOIN information_schema.COLUMNS AS C USING (TABLE_SCHEMA, TABLE_NAME)
      JOIN information_schema.COLLATION_CHARACTER_SET_APPLICABILITY AS CCSA
           ON (T.TABLE_COLLATION = CCSA.COLLATION_NAME)
     WHERE TABLE_SCHEMA=SCHEMA()
       AND C.DATA_TYPE IN ('enum', 'varchar', 'char', 'text', 'mediumtext', 'longtext')
     ORDER BY TABLE_SCHEMA,
              TABLE_NAME,
              COLUMN_NAME
    ;
    
  8. ==============================

    8.나는 언제나 표 mydatabase.mytable을 만들 SHOW 봐.

    나는 언제나 표 mydatabase.mytable을 만들 SHOW 봐.

    데이터베이스를 들어, 당신이 information_schema.SCHEMATA FROM SELECT DEFAULT_CHARACTER_SET_NAME 볼 필요가 나타납니다.

  9. ==============================

    9.데이터베이스의 기본 데이터 정렬을 참조하십시오 :

    데이터베이스의 기본 데이터 정렬을 참조하십시오 :

    USE db_name;
    SELECT @@character_set_database, @@collation_database;
    

    테이블의 데이터 정렬을 참조하십시오 :

    SHOW TABLE STATUS where name like 'table_name';
    

    열 정렬을 참조하십시오 :

    SHOW FULL COLUMNS FROM table_name;
    
  10. ==============================

    10.테이블과 컬럼의 경우 :

    테이블과 컬럼의 경우 :

    show create table your_table_name
    
  11. ==============================

    11.데이터베이스의 경우 :

    데이터베이스의 경우 :

    SELECT SCHEMA_NAME 'database', default_character_set_name 'charset', DEFAULT_COLLATION_NAME 'collation' FROM information_schema.SCHEMATA;
    

    출력 예 :

    mysql> SELECT SCHEMA_NAME 'database', default_character_set_name 'charset', DEFAULT_COLLATION_NAME 'collation' FROM information_schema.SCHEMATA;
    +----------------------------+---------+--------------------+
    | database                   | charset | collation          |
    +----------------------------+---------+--------------------+
    | information_schema         | utf8    | utf8_general_ci    |
    | drupal_demo1               | utf8    | utf8_general_ci    |
    | drupal_demo2               | utf8    | utf8_general_ci    |
    | drupal_demo3               | utf8    | utf8_general_ci    |
    | drupal_demo4               | utf8    | utf8_general_ci    |
    | drupal_demo5               | latin1  | latin1_swedish_ci  |
    
    ...
    
    +----------------------------+---------+--------------------+
    55 rows in set (0.00 sec)
    
    mysql> 
    
  12. ==============================

    12.데이터베이스의 경우 :

    데이터베이스의 경우 :

    SHOW CREATE DATABASE "DB_NAME_HERE";
    

    데이터베이스 (MySQL은), 기본 문자 집합을 만들 때 / 정렬이 처음 데이터베이스를 만드는 방법에 대한 다른 하나를 선택하는 대신 것을 항상 라틴어

  13. ==============================

    13.많은 사람들이 이전에 쓴 것처럼, SHOW FULL 열은 열 정보를 얻기 위해 선호되는 방법이어야한다. 어떤없는 것은 GET 캐릭터 세트에 대한 방법입니다 직접 메타 데이터 테이블에 도달하지 않고 그 이후 :

    많은 사람들이 이전에 쓴 것처럼, SHOW FULL 열은 열 정보를 얻기 위해 선호되는 방법이어야한다. 어떤없는 것은 GET 캐릭터 세트에 대한 방법입니다 직접 메타 데이터 테이블에 도달하지 않고 그 이후 :

    SHOW FULL COLUMNS FROM my_table WHERE Field = 'my_field'
    SHOW COLLATION WHERE Collation = 'collation_you_got'
    
  14. from https://stackoverflow.com/questions/1049728/how-do-i-see-what-character-set-a-mysql-database-table-column-is by cc-by-sa and MIT license