Fallstricke basierend auf MySQL-Standardsortierregeln

Fallstricke basierend auf MySQL-Standardsortierregeln

Der Standardtyp varchar in MySQL ist case-insensitive (insensitive). Wenn Sie möchten, dass MySQL case-sensitiv ist, müssen Sie die Sortierregeln festlegen:

utf8_bin speichert jedes Zeichen in einer Zeichenfolge als Binärdaten und unterscheidet zwischen Groß- und Kleinbuchstaben.

utf8_genera_ci unterscheidet nicht zwischen Groß- und Kleinschreibung. ci ist die Abkürzung für case insensitive (Kassenschutz), was bedeutet, dass die Groß- und Kleinschreibung nicht berücksichtigt wird.

utf8_general_cs unterscheidet zwischen Groß- und Kleinschreibung. cs ist die Abkürzung für „Case Sensitive“.

Bei der Verwendung von utf8_genera_ci wird die Groß-/Kleinschreibung nicht beachtet. Dies führt zu Problemen, wenn der Inhalt dieses Felds die Groß-/Kleinschreibung beachtet, z. B. wenn es als Code oder Bestätigungscode verwendet wird, bei dem die Groß-/Kleinschreibung beachtet wird.

Die Option utf8_general_cs ist generell nicht verfügbar, daher kann zur Unterscheidung von Groß- und Kleinschreibung nur utf8_bin verwendet werden.

1) Das Festlegen der Sortierregeln ist umkehrbar. Wenn die zuvor festgelegten Sortierregeln die Anforderungen nicht erfüllen, können nach dem Ändern der Sortierregeln verstümmelte Zeichen auftreten. Wenn die ursprünglichen Sortierregeln wiederhergestellt werden, verschwinden die verstümmelten Zeichen.

2) Sie können den varchar-Typ in varbinary ändern

3) Wenn Sie bereits die Standardsortierregel utf8_genera_ci verwendet haben und die Ergebnisse case-sensitiv abfragen möchten, können Sie dies bei der Abfrage einschränken:

binäre Spalte aus Tabelle auswählen;

oder

Wählen Sie Spalte2 aus der Tabelle, in der sich die binäre Spalte befindet;

Ergänzung: Zeichensatz und Sortierung in MySQL

Zeichensatz:

Zeichen ist der allgemeine Begriff für verschiedene Texte und Symbole, und Zeichensatz ist eine Sammlung von Zeichen. Gängige Zeichensatznamen: ASCII-Zeichensatz, GB2312-Zeichensatz, BIG5-Zeichensatz, GB18030-Zeichensatz, Unicode-Zeichensatz usw.

Die Zeichenkodierung ist erforderlich, damit Computer Text in verschiedenen Zeichensätzen erkennen können. Daher verwenden einige Zeichensätze 2 Bytes pro Zeichen und einige Zeichensätze verwenden 3 Bytes pro Zeichen.

Sortierregeln: Beispiele

Was ist der Unterschied zwischen utf_bin und utf_general_ci?

ci steht für Case Insensitive, was so viel heißt wie „Groß-/Kleinschreibung nicht berücksichtigen“. a und A werden bei der Zeichenbeurteilung gleich behandelt;

bin ist binär, a und A werden unterschiedlich behandelt.

Bei utf8_general_ci wird die Groß-/Kleinschreibung nicht berücksichtigt. Sie sollten dies bei der Registrierung Ihres Benutzernamens und Ihrer E-Mail-Adresse verwenden.

utf8_general_cs unterscheidet zwischen Groß- und Kleinschreibung. Wenn Sie dies für Ihren Benutzernamen und Ihre E-Mail-Adresse verwenden, hat dies negative Folgen.

utf8_bin: Zeichenfolge. Jede Zeichenfolge wird als Binärdaten gespeichert. Es unterscheidet zwischen Groß- und Kleinschreibung und kann binäre Inhalte speichern.

Daher beschreiben die Sortierregeln hauptsächlich, ob zwischen Groß- und Kleinschreibung unterschieden wird und wie die Speicherung erfolgt.

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Beispiel für utf8mb4-Sortierung in MySQL
  • Sortieren von MySQL-Aggregatfunktionen
  • MySQL-Sortierung mittels Index-Scan
  • Einige weniger bekannte Sortiermethoden in MySQL
  • Beschreibung der chinesischen Sortierregeln für MySQL
  • MySQL-Sortierprinzipien und Fallanalyse
  • Sortierung und Paginierung von MySQL-Abfragen
  • So verwenden Sie Indizes zur Optimierung von MySQL ORDER BY-Anweisungen
  • Mysql-Sortierung und Paginierung (Order by & Limit) und vorhandene Fallstricke
  • Details zur MySQL-Sortierfunktion

<<:  Einfache Installation des vi-Befehls im Docker-Container

>>:  Einfaches Beispiel zum Hinzufügen und Entfernen von HTML-Knoten

Artikel empfehlen

Verwendung des Linux-Datumsbefehls

1. Befehlseinführung Mit dem Datumsbefehl wird di...

Detaillierte Erläuterung der CSS-Bildspleißtechnologie (Sprite-Bild)

CSS-Bildspleißtechnologie 1. Bildzusammenfügung B...

Vue implementiert Upload-Komponente

Inhaltsverzeichnis 1. Einleitung 2. Ideen Zwei Mö...

Tutorial zur Remote-Verbindung mit einer MySQL-Datenbank unter Linux

Vorwort Ich bin kürzlich bei der Arbeit auf diese...

Zusammenfassung der Linux-Befehle zur Dateiverzeichnisverwaltung

Befehl „touch“ Es hat zwei Funktionen: Eine beste...

3 Codes zur automatischen Aktualisierung von Webseiten

Tatsächlich ist es sehr einfach, diesen Effekt zu ...

So aktualisieren Sie Ubuntu 20.04 LTS unter Windows 10

23. April 2020: Heute können Sie mit Ubuntu 20.04...

Tutorial zum Importieren und Exportieren von Docker-Containern

Hintergrund Die Popularität von Docker hängt eng ...

Analyse der Protokolldateien im Tomcat-Protokollverzeichnis (Zusammenfassung)

Bei jedem Start von Tomcat werden die folgenden P...