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

Meta Viewport ermöglicht die Vollbildanzeige von Webseiten auf dem iPhone

In meiner Verzweiflung dachte ich plötzlich: Wie i...

Detaillierte Erklärung zur Verwendung verschiedener MySQL-Indizes

1. Langsames Abfrageprotokoll 1.1 MySQL-Protokoll...

Implementierung von LNMP für die separate Bereitstellung von Docker-Containern

1. Umweltvorbereitung Die IP-Adresse jedes Contai...

Detaillierte Erklärung des Vue-Mixins

Inhaltsverzeichnis Lokales Mixin Globale Mixins Z...

MySQL 5.7.21 Installations- und Konfigurations-Tutorial

Die einfache Installationskonfiguration von mysql...

Detaillierte grafische Erläuterung der MySql5.7.18-Zeichensatzkonfiguration

Hintergrund: Vor langer Zeit (2017.6.5, der Artik...

Centos8 (Minimalinstallation) Tutorial zur Installation von Python3.8+pip

Nachdem ich die Installation von Python8 minimier...

Eine kurze Analyse der Konfigurationselemente des Angular CLI-Releasepfads

Vorwort Bei der Projektfreigabe ist immer eine Ve...

Uniapp WeChat-Applet: Lösung bei Schlüsselfehler

Uniapp-Code <Vorlage> <Ansicht> <i...

js, um einen einfachen Bild-Drag-Effekt zu erzielen

In diesem Artikel wird der spezifische Code von j...