Bei MySQL-Zeichentypen wird die Groß-/Kleinschreibung beachtet.

Bei MySQL-Zeichentypen wird die Groß-/Kleinschreibung beachtet.

Standardmäßig sind MySQL-Zeichentypen nicht case-sensitiv, d. h. select * from t where name='AAA' ist dasselbe wie ='aaa'. Das Folgende ist ein Testbeispiel

(root@localhost)[hallo]> Tabelle erstellen test1(id int, name varchar(10));
(root@localhost)[hallo]> in test1 Werte einfügen(1,'aaa'),(2,'AAA'),(3,'bbb'),(4,'BbB');
(root@localhost)[hallo]> wähle * aus test1;
+------+------+
| Ich würde | Name |
+------+------+
| 1 | aaa |
| 2 | AAA |
| 3 | bbb |
| 4 | BbB |
+------+------+

(root@localhost)[hallo]> wähle * aus test1, wobei Name = 'AAA' ist;
+------+------+
| Ich würde | Name |
+------+------+
| 1 | aaa |
| 2 | AAA |
+------+------+

(root@localhost)[hallo]> wähle * aus test1, wobei Name = "aaa" ist;
+------+------+
| Ich würde | Name |
+------+------+
| 1 | aaa |
| 2 | AAA |
+------+------+

Es ist ersichtlich, dass es nach der Where-Bedingung keinen Unterschied zwischen den Ergebnissen von ‚AAA‘ und ‚aaa‘ gibt.

Wenn Sie nur „AAA“ finden möchten, gibt es dazu mehrere Möglichkeiten.
1. Fügen Sie das binäre Schlüsselwort zu SQL hinzu

(root@localhost)[hallo]> wähle * aus Test1, wobei Binärname = ‚AAA‘ ist;
+------+------+
| Ich würde | Name |
+------+------+
| 2 | AAA |
+------+------+

2. Ändern Sie die Spaltendefinition

Sehen Sie sich zunächst die Definition der Originaltabelle an

(root@localhost)[hallo]> zeige Tabelle erstellen test1\G
*************************** 1. Reihe ***************************
  Tabelle: test1
Tabelle erstellen: CREATE TABLE `test1` (
 `id` int(11) DEFAULT NULL,
 `name` varchar(10) STANDARD NULL
) ENGINE=InnoDB STANDARD-CHARSET=utf8mb4

Ändern Sie die Namensspalte der Tabelle test1

Tabelle testen1 ändern, Spaltennamen varchar(10) ändern, Zeichensatz utf8mb4, utf8mb4_bin sortieren, Standard null;

collate utf8mb4_bin gibt an, dass beim Filtern oder Sortieren nach Groß- und Kleinschreibung beachtet wird.

Überprüfen Sie nun die Definition von test1

(root@localhost)[hallo]> zeige Tabelle erstellen test1\G
*************************** 1. Reihe ***************************
  Tabelle: test1
Tabelle erstellen: CREATE TABLE `test1` (
 `id` int(11) DEFAULT NULL,
 `name` varchar(10) ZEICHENSATZ utf8mb4 SORTIMENT utf8mb4_bin STANDARD NULL
) ENGINE=InnoDB STANDARD-CHARSET=utf8mb4

Führen Sie dann die Abfrageanweisung aus

(root@localhost)[hallo]> wähle * aus test1, wobei name='AAA';
+------+------+
| Ich würde | Name |
+------+------+
| 2 | AAA |
+------+------+

Erstellen Sie als Nächstes eine Test2-Tabelle und Sie werden feststellen, dass die obige Anweisung zum Ändern der Spalte tatsächlich dem Erstellen einer Tabelle mit varchar gefolgt von binär entspricht.

(root@localhost)[hallo]> erstelle Tabelle test2(id int, name varchar(10) binary);
(root@localhost)[hallo]> zeige Tabelle erstellen test2\G
*************************** 1. Reihe ***************************
  Tabelle: test2
Tabelle erstellen: CREATE TABLE `test2` (
 `id` int(11) DEFAULT NULL,
 `name` varchar(10) ZEICHENSATZ utf8mb4 SORTIMENT utf8mb4_bin STANDARD NULL
) ENGINE=InnoDB STANDARD-CHARSET=utf8mb4

So legen Sie die Groß-/Kleinschreibung fest

  • Festlegen der Groß-/Kleinschreibung auf Datenbankebene

erstellen

Datenbank erstellen <db_name> Standardzeichensatz utf8mb4, utf8mb4_bin sortieren;

Überarbeiten

Datenbank <Datenbankname> ändern, Standardzeichensatz utf8mb4, utf8mb4_bin sortieren;
  • Festlegen der Groß-/Kleinschreibung auf Tabellenebene

erstellen

Tabelle <tb_name> erstellen (
......
) Engine=InnoDB Standardzeichensatz=utf8mb4 Sortierung=utf8mb4_bin;

Überarbeiten

Tabelle ändern <tb_name> Engine=innodb Standardzeichensatz=utf8mb4 Collate=utf8mb4_bin;
  • Festlegen der Groß-/Kleinschreibung auf Spaltenebene

erstellen

Tabelle <tb_name> erstellen (
`field1` varchar(10) Zeichensatz utf8mb4 sortieren utf8mb4_bin,
......
)

Überarbeiten

Tabelle ändern <tb_name>, Spalte „Feld1“ ändern, varchar (10), Zeichensatz utf8mb4, sortieren utf8mb4_bin, Standard null;

Die Vererbungsbeziehung ist Spalte-->Tabelle-->Bibliothek und die Priorität ist Spalte>Tabelle>Bibliothek

Oben finden Sie Einzelheiten zur Groß- und Kleinschreibung von MySQL-Zeichentypen. Weitere Informationen zur Groß- und Kleinschreibung von MySQL-Zeichentypen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Hinweise zur Groß-/Kleinschreibung bei MySQL
  • So stellen Sie MySQL so ein, dass die Groß-/Kleinschreibung nicht beachtet wird
  • Analyse von Problemen, die durch die Groß-/Kleinschreibung von MySQL verursacht werden
  • So lösen Sie das Problem der Groß-/Kleinschreibung bei MySQL-Abfragen
  • Problem mit der Groß-/Kleinschreibung in der MySQL-Datenbank
  • Detaillierte Erläuterung der Konfigurationsmethode „Groß-/Kleinschreibung ignorieren“ für MySQL-Tabellennamen
  • Linux-System MySQL Passwort vergessen, Passwort zurücksetzen, Groß-/Kleinschreibung von Tabellen- und Spaltennamen ignorieren
  • So unterscheiden Sie Groß- und Kleinbuchstaben in Zeichenfolgen bei MySQL-Abfragen
  • Lösung für MySql-Abfragen ohne Berücksichtigung der Groß-/Kleinschreibung (zwei)
  • Auswahl der Groß-/Kleinschreibung von MySQL-Tabellennamen

<<:  Detaillierte Beschreibung der Funktion von new in JS

>>:  Über das durch die HTML-Kodierung verursachte verstümmelte Problem

Artikel empfehlen

So installieren Sie Nginx an einem bestimmten Ort im Centos-System

Wie installiere ich Nginx an einem bestimmten Ort...

So fügen Sie einem laufenden Docker-Container dynamisch ein Volume hinzu

Jemand hat mich schon einmal gefragt, ob es mögli...

Erste Schritte Tutorial für Anfänger ④: So binden Sie Unterverzeichnisse

Um zu verstehen, was das bedeutet, müssen wir zunä...

Docker richtet Port-Mapping ein, kann aber nicht auf die Lösung zugreifen

#docker ps-Check, alle Ports sind zugeordnet CONT...

So fügen Sie einem Benutzer in einer Linux-Umgebung Sudo-Berechtigungen hinzu

sudo-Konfigurationsdatei Die Standardkonfiguratio...

Erste Schritte mit TS (TypeScript) im Vue-Projekt

Inhaltsverzeichnis 1. Einführung in Typescript 2....

Nicht alle Pop-ups sind betrügerisch. Tipps zum Entwerfen von Website-Pop-ups

Popup-Nachrichten sind bei inländischen Internetd...

Detaillierte Erklärung der Eigenschaften und Funktionen von Vuex

Inhaltsverzeichnis Was ist Vuex? Fünf Eigenschaft...

Änderung des Zeitzonenproblems von MySQL-Containern in Docker

Vorwort Als Ahhang das Springboot-Projekt entwick...

Detaillierte Erklärung des Middleman-Modus von Angular-Komponenten

Inhaltsverzeichnis 1. Mittelsmann-Modell 2. Beisp...

Detaillierte Erklärung verschiedener Bildformate wie JPG, GIF und PNG

Jeder weiß, dass Bilder auf Webseiten im Allgemein...