Comment faire pour voir quel jeu de caractères une base de données MySQL / table / colonne est?
Qu'est-ce que l' (par défaut) jeu de caractères pour l':
-
De base de données MySQL
-
Table MySQL
-
MySQL colonne
Vous devez vous connecter pour publier un commentaire.
Voici comment je le ferais -
Pour Les Schémas:
Pour Les Tables:
Pour Les Colonnes:
schemaname
peut être que le nom de base de données.schemaname
. En fait c'était juste undatabase name
🙂Pour colonnes:
latin1_swedish_ci
, le jeu de caractères ne peut pas être autre chose quelatin1
. Si le classement estutf8mb4_general_ci
, le jeu de caractères ne peut pas être autre chose queutf8mb4
.Pour bases de données:
Cf. cette page. Et consultez le manuel MySQL
@@
solution à stackoverflow.com/a/30369693/632951Pour toutes les bases de données vous avez sur le serveur:
De sortie:
Pour un Base de données unique:
De sortie:
Obtenir le classement pour les Tables:
OU - sortie complète de SQL pour créer la table:
mysql> show create table my_tablename
Obtenir le classement de colonnes:
de sortie:
type
? J'ai mysql 5.7.9 ettype
montrer ladata type
de la colonne qui n'a pas lacharacter set
. Certains, commeint(10)
varchar(255)
... etc et pasutf8
type
comme ledata type
ainsi @MTK, peut-être au-dessus est un copier coller de l'erreur dans la sortie":" section.Pour tables:
SHOW TABLE STATUS
la liste de toutes les tables.Filtre à l'aide de:
Pour bases de données:
Il suffit d'utiliser ces commandes:
Pour voir le classement par défaut de la base de données:
Pour voir le classement de la table:
Pour voir le classement des colonnes:
J'ai toujours tout regarder
SHOW CREATE TABLE mydatabase.mytable
.Pour la base de données, il semble que vous avez besoin de regarder
SELECT DEFAULT_CHARACTER_SET_NAME FROM information_schema.SCHEMATA
.select default_character_set_name from information_schema.schemata
n'est pas assez parce que vous ne pouvez pas dire que les lignes qui sont en corrélation avec la base de données. Utilisationselect default_character_set_name,schema_name from information_schema.schemata
ou tout simplement:select*from information_schema.schemata
.SELECT * FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '<database-name>' \G;
Et il a très bien fonctionné 🙂 Merci!Pour tables et colonnes:
Pour bases de données:
Exemple de sortie:
Pour bases de données:
Dans la création d'une Base de données (MySQL), jeu de caractères par défaut/classement est toujours le LATIN, au lieu que vous avez sélectionné un autre sur la création initiale de votre base de données
latin1_swedish_ci
parce que Monty Widenius, le créateur de MySQL, est suédois et n'a pas été pensée comme la Grande Image de ce qu'il doit avoir quand il a commencé.Comme beaucoup écrit plus tôt, AFFICHER toutes les COLONNES doivent être la méthode préférée pour obtenir de l'information de la colonne.
Ce qui manque, c'est un moyen d'obtenir charset après que, sans atteindre les tables de métadonnées directement: