Comment voir quel jeu de caractères est une firebase database / table / colonne MySQL?

Quel est le charset (par défaut) pour:

Voici comment je le ferais –

Pour les schémas:

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

Pour les tables:

 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"; 

Pour les colonnes:

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

Pour les colonnes :

 SHOW FULL COLUMNS FROM table_name; 

Pour les bases de données :

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

Cf. cette page Et consultez le manuel MySQL

Pour toutes les bases de données que vous avez sur le serveur:

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

Sortie:

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

Pour une seule firebase database :

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

Sortie:

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

Obtenir le classement pour les tables :

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

OU – affichera le code SQL complet pour créer la table:

mysql> show create table my_tablename


Obtenir le classement des colonnes :

 mysql> SHOW FULL COLUMNS FROM my_tablename; 

sortie:

 +---------+---------+--------------------+ .... | field | type | collation | +---------+---------+--------------------+ .... | id | utf8 | (NULL) | | key | utf8 | latin1_swedish_ci | | value | utf8 | latin1_swedish_ci | +---------+---------+--------------------+ .... 

Pour les tables :

SHOW TABLE STATUS toutes les tables.

Filtrer en utilisant:

 SHOW TABLE STATUS where name like 'table_123'; 

Pour les bases de données :

Utilisez simplement ces commandes:

 USE db_name; SELECT @@character_set_database; -- or: -- SELECT @@collation_database; 
 SELECT TABLE_SCHEMA,
        NOM DE LA TABLE,
        CCSA.CHARACTER_SET_NAME AS DEFAULT_CHAR_SET,
        NOM DE COLONNE,
        COLUMN_TYPE,
        C.CHARACTER_SET_NAME
   FROM information_schema.TABLES AS T
   JOIN information_schema.COLUMNS AS C UTILISANT (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,
           NOM DE LA TABLE,
           NOM DE COLONNE
 ;

Je regarde toujours SHOW CREATE TABLE mydatabase.mytable .

Pour la firebase database, il apparaît que vous devez examiner SELECT DEFAULT_CHARACTER_SET_NAME FROM information_schema.SCHEMATA .

Pour les tables et les colonnes :

 show create table your_table_name 

Pour les bases de données :

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

Exemple de sortie:

 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> 

Pour les bases de données :

 SHOW CREATE DATABASE "DB_NAME_HERE"; 

Lors de la création d’une firebase database (MySQL), le jeu de caractères et le classement par défaut sont toujours LATIN, mais vous en avez sélectionné un autre lors de la création initiale de votre firebase database.

Pour voir le classement par défaut de la firebase database:

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

Pour voir la collation de la table:

 SHOW TABLE STATUS where name like 'table_name'; 

Pour voir le classement des colonnes:

 SHOW FULL COLUMNS FROM table_name; 

Comme beaucoup l’ont écrit plus tôt, SHOW FULL COLUMNS devrait être la méthode préférée pour obtenir des informations sur les colonnes. Ce qui manque, c’est un moyen d’obtenir des jeux de caractères sans atteindre directement les tables de métadonnées:

 SHOW FULL COLUMNS FROM my_table WHERE Field = 'my_field' SHOW COLLATION WHERE Collation = 'collation_you_got'