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

Die Rolle von nextTick in Vue und mehrere einfache Anwendungsszenarien

Zweck Verstehen Sie die Rolle von nextTick und me...

Ubuntu startet den Remote-Anmeldevorgang des SSH-Dienstes

SSH-Secure-Shell, ermöglicht sichere Remote-Anmel...

CentOS8 - bash: verstümmelte Zeichen und Lösungen

Diese Situation tritt normalerweise auf, weil das...

Beispielcode für HTML-Framesets

Dieser Artikel stellt ein möglichst einfaches Fra...

Detaillierte Erklärung zur Verwendung von MySQL mysqldump

1. Einführung in mysqldump mysqldump ist ein logi...

HTML-Tutorial: Sammlung häufig verwendeter HTML-Tags (6)

Diese eingeführten HTML-Tags entsprechen nicht un...

Drei Möglichkeiten zum Zeichnen einer Herzform mit CSS

Im Folgenden stellen wir drei Möglichkeiten zum Z...

Verwenden von Vue zum Implementieren einer Timerfunktion

In diesem Artikelbeispiel wird der spezifische Co...

So verwenden Sie dl(dt,dd), ul(li), ol(li) in HTML

HTML <dl> Tag #Definition und Verwendung Da...

Docker-Overlay realisiert die Container-Kommunikation zwischen Hosts

Inhaltsverzeichnis 1. Docker-Konfiguration 2. Ers...

IE6 BUG und Fix ist eine vorbeugende Strategie

Originalartikel: Ultimatives IE6-Cheatsheet: So b...

Zusammenfassung der 10 am häufigsten gestellten Fragen in Linux-Interviews

Vorwort Wenn Sie sich auf die Stelle eines Betrie...