796 Stimmen

Wie kann ich sehen, welchen Zeichensatz eine MySQL-Datenbank/Tabelle/Spalte hat?

Was ist der (Standard-)Zeichensatz für:

  • MySQL-Datenbank

  • MySQL-Tabelle

  • MySQL-Spalte

2 Stimmen

Für Tabellen und Spalten, verwenden Sie einfach SHOW CREATE TABLE wie erörtert in stackoverflow.com/questions/57628217/

71voto

user1012513 Punkte 1699

Um die Standardsortierung der Datenbank zu sehen:

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

Um die Zusammenstellung der Tabelle zu sehen:

SHOW TABLE STATUS where name like 'table_name';

Um die Zusammenstellung der Spalten zu sehen:

SHOW FULL COLUMNS FROM table_name;

Um den Standardzeichensatz einer Tabelle zu sehen

SHOW CREATE TABLE table_name;

45voto

DC- Punkte 801

Para Datenbanken :

Verwenden Sie einfach diese Befehle:

USE db_name;
SELECT @@character_set_database;
-- or:
-- SELECT @@collation_database;

0 Stimmen

Dies ist die Antwort aus der offiziellen mysql-Dokumentation. dev.mysql.com/doc/refman/8.0/de/charset-database.html

40voto

Eric Punkte 381
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
;

3 Stimmen

Sehr schön, Eric. Fügen Sie diesen Code einfach in die mysql-Befehlszeile ein, drücken Sie die Eingabetaste und Sie erhalten den Zeichensatz jeder Spalte in jeder Tabelle in jeder Datenbank :)

1 Stimmen

@JerryKrinock Sie erhalten alle Spalten der aktuellen Datenbank und nichts, wenn keine Datenbank ausgewählt ist.

36voto

chaos Punkte 118918

Ich schaue mir immer nur SHOW CREATE TABLE mydatabase.mytable .

Was die Datenbank betrifft, so müssen Sie sich folgende Punkte ansehen SELECT DEFAULT_CHARACTER_SET_NAME FROM information_schema.SCHEMATA .

3 Stimmen

In mysql-Datenbanken können Standardzeichensätze verwendet werden

5 Stimmen

select default_character_set_name from information_schema.schemata reicht nicht aus, da man nicht erkennen kann, welche Zeile mit welcher Datenbank korreliert. Verwenden Sie select default_character_set_name,schema_name from information_schema.schemata oder einfach: *`selectfrom information_schema.schemata`** .

0 Stimmen

Ich habe SELECT * FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '<database-name>' \G; Und es hat super funktioniert :) Danke!

23voto

James Punkte 3197

Para Tabellen y Spalten :

show create table your_table_name

3 Stimmen

Sie enthält die vollständige SQL-Anweisung, mit der die Tabelle in ihrer jetzigen Form erstellt werden würde, einschließlich des Zeichensatzes.

0 Stimmen

Wenn in der Spalte kein bestimmter Zeichensatz angegeben ist, wird der Standardzeichensatz der Tabelle verwendet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X