Fragen zum MySQL-Interview - MySQL-Zeichensatz, Regeln zum Korrekturlesen von Zeichen

Vorwort

Diese Umgebung basiert auf dem Centos 7.8-System zum Erstellen von MySQL-5.7.14 für eine
bestimmte Konstruktion. Weitere Informationen finden Sie unter Aufbau der MySQL-5.7.14-Umgebung


Der MySQL-Zeichensatz enthält zwei Konzepte: Zeichensatz (CHARACTER) und Sortierung (COLLATION):

MySQL-Zeichensatz anzeigen

mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

Anzeigen der Regeln für die MySQL-Zeichensortierung

mysql> show collation;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
| dec8_swedish_ci          | dec8     |   3 | Yes     | Yes      |       1 |
| dec8_bin                 | dec8     |  69 |         | Yes      |       1 |
| cp850_general_ci         | cp850    |   4 | Yes     | Yes      |       1 |
| cp850_bin                | cp850    |  80 |         | Yes      |       1 |
| hp8_english_ci           | hp8      |   6 | Yes     | Yes      |       1 |
| hp8_bin                  | hp8      |  72 |         | Yes      |       1 |
| koi8r_general_ci         | koi8r    |   7 | Yes     | Yes      |       1 |
| koi8r_bin                | koi8r    |  74 |         | Yes      |       1 |
| latin1_german1_ci        | latin1   |   5 |         | Yes      |       1 |
| latin1_swedish_ci        | latin1   |   8 | Yes     | Yes      |       1 |

... ...

1. Wie lauten die Namenssuffixe des MySQL-Zeichensatzes? Was bedeutet das?

Die Benennungsregeln für MySQL-Zeichenfolgen lauten: Beginnen Sie mit dem Namen des Zeichensatzes, der der Zeichenfolge entspricht, zentrieren Sie mit dem Ländernamen (oder zentrieren Sie mit Allgemein) und enden Sie mit ci, cs oder bin.

  • ci: bedeutetGroß- und Kleinschreibung wird nicht berücksichtigt
  • cs: bedeutetGroß- und Kleinschreibung beachten
  • bin bedeutet, nach einem binär codierten Wert zu vergleichen

Zweitens: Ändern Sie den MySQL-Zeichensatz

Wir ändern den Zeichensatz der Datenbank, indem wir die Konfigurationsdatei des MySQL-Dienstes ändern, die global wirksam wird,
um den Zeichensatz der aktuellen Datenbank anzuzeigen

mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

Ändern Sie den Datenbankzeichensatz

#配置文件中添加设置内容
[root@mysql-server ~]# vim /etc/my.cnf
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8

Melden Sie sich von der Datenbank ab, melden Sie sich erneut an und überprüfen Sie den Zeichensatz der Datenbank erneut

mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

Hinweis: Der Standardzeichensatz von character_set_filesystem ist binär. Dies ist eine feste Einstellung und kann nicht geändert werden

Ich denke du magst

Origin blog.csdn.net/XY0918ZWQ/article/details/112567311
Empfohlen
Rangfolge