Detaillierte Erklärung der MySQL-Syntax, Sonderzeichen und regulären Ausdrücke

Detaillierte Erklärung der MySQL-Syntax, Sonderzeichen und regulären Ausdrücke

Häufig verwendete Anzeigebefehle für MySQL

1. Zeigen Sie die Liste der Datenbanken im aktuellen Datenbankserver an:

mysql> SHOW DATABASES;

Hinweis: Die MySQL-Datenbank enthält MySQL-Systeminformationen. Wenn wir Passwörter ändern und neue Benutzer hinzufügen, verwenden wir diese Datenbank tatsächlich, um Vorgänge auszuführen.

2. Rufen Sie die Datenbank auf:

mysql> USE 庫名;

2. Zeigen Sie die Datentabelle in der Datenbank an:

mysql> SHOW TABLES;

3. Zeigen Sie die Struktur der Datentabelle an:

mysql> DESCRIBE 表名;

4. Datenbank erstellen:

mysql> CREATE DATABASE 庫名;

5. Erstellen Sie eine Datentabelle:

mysql> USE-Bibliotheksname;
mysql> CREATE TABLE Tabellenname (Feldname VARCHAR (20), Feldname CHAR (1));

6. Löschen Sie die Datenbank:

mysql> DROP DATABASE 庫名;

7. Mehrere Datentabellen löschen:

mysql> DROP TABLE 表名,表名;

8. Löschen Sie die Datensätze in der Tabelle:

mysql> DELETE FROM 表名;

9. Zeigen Sie die Datensätze in der Tabelle an:

mysql> SELECT * FROM 表名;

10. Neue Felder in die Tabelle einfügen:

mysql> alter tabel 表名add column 字段名varchar(10);

10. Datensätze in die Tabelle einfügen:

mysql> INSERT INTO 表名VALUES (”hyq”,”M”);

Grammatik:

INSERT [INTO] tbl_name [(col_name,...)] VALUES (PRession,...),…
INSERT [INTO] tbl_name SET col_name=Ausdruck, ...

Hinweis: Beim Einfügen in Django müssen Sie ein zusätzliches ID-Feld hinzufügen: INSERT INTO table name VALUES (1, 'aaa', 'bbb');

11. Ändern Sie den Feldtyp:

mysql> Tabelle ändern Tabellenname Spalte ändern Feldname varchar(12);

11. Aktualisieren Sie die Daten in der Tabelle:

mysql-> UPDATE Tabellenname SET Feldname 1 = ‚a‘, Feldname 2 = ‚b‘ WHERE Feldname 3 = ‚c‘;

12. Laden Sie Daten mithilfe von Text in die Datentabelle:

mysql> LOKALE DATEN INDATEI "D:/mysql.txt" IN TABELLE LADEN Tabellenname;

13. Befehl zum Importieren einer SQL-Datei:

mysql> USE-Datenbankname;
mysql> QUELLE d:/mysql.sql;

14. Ändern Sie das Root-Passwort über die Befehlszeile:

mysql> UPDATE mysql.user SET password=PASSWORD('neues Passwort') WHERE User='root';
mysql> FLUSH-PRIVILEGIEN;

15. Zeigen Sie den Namen der verwendeten Datenbank an:

mysql> DATENBANK AUSWÄHLEN();

16. Aktuellen Benutzer anzeigen:

mysql> BENUTZER AUSWÄHLEN();

Notiz:

1. Alle Vorgänge werden unter der MySQL-Eingabeaufforderung ausgeführt und jeder Befehl endet mit einem Semikolon.

2. SQL-Anweisungen unterscheiden nicht zwischen Groß- und Kleinschreibung

Regeln zur Verwendung von MySQL-Indizes

Die besten Kandidaten für die Indizierung sind Spalten, die in einer WHERE-Klausel, einer JOIN-Klausel, einer ORDER BY-Klausel oder einer GROUP BY-Klausel vorkommen.

Unter welchen Umständen sollten wir keine oder weniger Indizes erstellen?

a. Zu wenige Datensätze in der Tabelle

b. Tabellen, die häufig eingefügt, gelöscht oder geändert werden

c. Tabellenfelder, die oft zusammen mit dem Hauptfeld abgefragt werden, aber mehrere Hauptfeldindexwerte haben

Erstellen eines zusammengesetzten Indexes:

Es gibt beispielsweise einen Satz wie diesen:

Wählen Sie * aus Benutzern mit Bereich='Peking' und Alter=22;

Wenn wir jeweils einen einzelnen Index für Bereich und Alter erstellen, führt die Erstellung eines zusammengesetzten Indexes für die Spalten „Bereich“ und „Alter“ zu einer höheren Effizienz, da MySQL-Abfragen immer nur einen Index gleichzeitig verwenden können. Dies hat zwar die Effizienz im Vergleich zum vollständigen Tabellenscan ohne Indizierung erheblich verbessert, doch bringt die Erstellung eines zusammengesetzten Indexes für die Spalten „Bereich“ und „Alter“ eine höhere Effizienz.

Wenn wir einen zusammengesetzten Index aus (Bereich, Alter, Gehalt) erstellen, entspricht dies der Erstellung von drei Indizes aus (Bereich, Alter, Gehalt), (Bereich, Alter) und (Bereich), was als bestes linkes Präfix bezeichnet wird.

Die Einrichtung des zusammengesetzten Index und des ganz linken Präfixprinzips:

Wenn Sie eine Spalte mit Zeichenfolgendaten indizieren müssen, empfiehlt es sich, nach Möglichkeit eine Präfixlänge anzugeben. Sie können Präfixe von CHAR-, VARCHAR-, BINARY-, VARBINARY-, BLOB- und TEXT-Spalten indizieren.

Angenommen, Sie erstellen einen zusammengesetzten Index für die Spalten „Bundesland“, „Stadt“ und „PLZ“ einer Tabelle. Die Zeilen im Index sind in der Reihenfolge Staat/Stadt/PLZ angeordnet und werden daher automatisch in der Reihenfolge Staat/Stadt/PLZ sortiert. Dies bedeutet, dass MySQL diesen Index auch dann verwenden kann, wenn Sie in Ihrer Abfrage nur den Wert für den Bundesstaat oder sowohl den Wert für den Bundesstaat als auch die Stadt angeben. Daher kann dieser Index verwendet werden, um nach den folgenden Spaltenkombinationen zu suchen: (Bundesland, Stadt, Postleitzahl)(Bundesland, Stadt)(Bundesland)

Der Index enthält keine Spalten mit NULL-Werten.

Solange die Spalte NULL-Werte enthält, wird sie nicht in den Index aufgenommen. Solange eine Spalte in einem zusammengesetzten Index NULL-Werte enthält, ist diese Spalte für diesen zusammengesetzten Index ungültig. Daher sollten wir beim Entwerfen der Datenbank den Standardwert des Felds nicht auf NULL setzen.

Die MySQL-Abfrage verwendet nur einen Index.

Wenn der Index daher bereits in der Where-Klausel verwendet wird, verwenden die Spalten in der Reihenfolge „Order By“ den Index nicht. Verwenden Sie daher keine Sortiervorgänge, wenn die Standardsortierung der Datenbank die Anforderungen erfüllen kann. Versuchen Sie, die Sortierung mehrerer Spalten zu vermeiden. Bei Bedarf erstellen Sie am besten einen zusammengesetzten Index für diese Spalten.

Im Allgemeinen wird von der Verwendung ähnlicher Operationen abgeraten.

Wenn es verwendet werden muss, stellt sich auch das Problem, wie es verwendet werden soll. wie „%a%“ verwendet den Index nicht, aber wie „aaa%“ kann den Index verwenden.

Führen Sie keine Operationen an der Spalte aus, select * from users where YEAR(adddate)

Ohne Verwendung der NOT IN-Operation:

NOT IN-Operationen verwenden keine Indizes und führen einen vollständigen Tabellenscan durch. NOT IN kann durch NOT EXISTS ersetzt werden.

MySQL-Sondersymbole

% (Prozentzeichen):

Stellt eine Zeichenfolge beliebiger Länge dar (die Länge kann 0 sein). Beispielsweise stellt a%b eine Zeichenfolge beliebiger Länge dar, die mit a beginnt und mit b endet. Beispielsweise erfüllen acb, addgb, ab usw. alle die entsprechende Zeichenfolge _ (Unterstrich):
Stellt ein beliebiges einzelnes Zeichen dar. Beispielsweise stellt a_b eine beliebige Zeichenfolge der Länge 3 dar, die mit a beginnt und mit b endet. Beispielsweise erfüllen acb, afb usw. alle die entsprechende Zeichenfolge

Anführungszeichen:

In SQL werden einfache Anführungszeichen (') für Zeichenfolgenanführungen dringend empfohlen. Obwohl MySQL (die beste Kombination mit PHP) auch doppelte Anführungszeichen (") verwenden kann, wird aus Konsistenzgründen mit SQL Server (einer leistungsstarken Datenbankplattform auf der WINDOWS-Plattform) und Oracle (einer Datenbankplattform für große Websites) die Verwendung von einfachen Anführungszeichen empfohlen. Wenn in der Zeichenfolge auch einfache Anführungszeichen vorkommen, müssen diese in SQL durch zwei einfache Anführungszeichen ('') ersetzt werden, und das DBMS interpretiert sie als einfaches Anführungszeichen.

SQL-Zeilenumbruch- und Zeichenfolgenverkettungszeichen:

Es gibt Unterschiede zwischen MySQL (die beste Kombination mit PHP), SQL Server (eine leistungsstarke Datenbankplattform auf der WINDOWS-Plattform) und Oracle (eine Datenbankplattform für große Websites), die in der folgenden Tabelle aufgeführt sind. MySQL (die beste Kombination mit PHP) SQL Server (eine leistungsstarke Datenbankplattform unter WINDOWS) Oracle (eine Datenbankplattform für große Websites) Zeilenumbruch \n oder \r\n oder CHAR (10) CHAR (13) CHR (10) Zeichenfolgenverkettung CONCAT () + || oder CONCAT ()

Makrovariablenbezeichner (&):

Es hat eine besondere Bedeutung in Oracle (einer großen Website-Datenbankplattform). Es ist ein Makrovariablenbezeichner. Wenn Sie SELECT 'AAA BBB' AS STR FROM DUAL in SQLPLUS ausführen, werden Sie aufgefordert, den Makrovariablenwert einzugeben. Wenn das SQL also ein (&) enthält, wird empfohlen, es in einfache Anführungszeichen zu setzen, z. B. SELECT 'AAA'||'&'||'BBB' AS STR FROM DUAL, dann erfolgt keine Aufforderung.

MySQL regulärer Ausdruck

Verwendung von „Replace“ und „Regexp“

0 Kommentare | Dieser Eintrag wurde am 08. April 2010 veröffentlicht

MySQL-Ersetzungsnutzung

1. ersetzen durch

Ersetze in Tabelle (ID, Name) Werte('1', 'aa'),('2', 'bb')

Der Zweck dieser Anweisung besteht darin, zwei Datensätze in die Tabelle einzufügen. Wenn die Primärschlüssel-ID 1 oder 2 ist, existiert sie nicht

ist gleichbedeutend mit

in Tabelle einfügen (ID, Name) Werte('1', 'aa'),('2', 'bb')

Wenn der gleiche Wert vorhanden ist, werden die Daten nicht eingefügt.

2.ersetzen(Objekt,Suche,Ersetzen)

Ersetzen Sie alle Vorkommen von Suche im Objekt durch Ersetzen.

Wählen Sie Ersetzen('www.163.com','w','Ww')—>WwWwWw.163.com

Beispiel: Ersetzen Sie aa im Namensfeld der Tabelle table durch bb

Tabellensatzname aktualisieren=ersetzen(Name,'aa','bb')

—————————————————————————————–

Erweiterte reguläre Ausdrücke

Eine andere von MySQL bereitgestellte Art der Musterübereinstimmung ist die Verwendung erweiterter regulärer Ausdrücke. Wenn Sie nach einer Übereinstimmung mit solchen Mustern suchen, verwenden Sie die Operatoren REGEXP und NOT REGEXP (oder RLIKE und NOT RLIKE, die Synonyme sind).

Einige Zeichen für erweiterte reguläre Ausdrücke sind:

· „.“ steht für jedes einzelne Zeichen.

· Die Zeichenklasse "[...]" passt zu jedem Zeichen innerhalb der eckigen Klammern. Beispielsweise entspricht „[abc]“ „a“, „b“ oder „c“. Um einen Zeichenbereich zu benennen, verwenden Sie ein "-". „[az]“ entspricht jedem Buchstaben und „[0-9]“ entspricht jeder Ziffer.

· „*“ entspricht keinem oder mehreren der vorangehenden Zeichen. Beispielsweise entspricht „x*“ einer beliebigen Anzahl von „x“-Zeichen, „[0-9]*“ entspricht einer beliebigen Anzahl von Ziffern und „.*“ entspricht einer beliebigen Anzahl von beliebigen Zeichen.

Wenn das REGEXP-Muster irgendwo im getesteten Wert übereinstimmt, stimmt das Muster überein (dies unterscheidet sich vom LIKE-Mustervergleich, der nur übereinstimmt, wenn er mit dem gesamten Wert übereinstimmt).

Um ein Muster so zu positionieren, dass es mit dem Anfang oder Ende des getesteten Werts übereinstimmen muss, verwenden Sie „^“ am Anfang des Musters oder „$“ am Ende des Musters.

Um zu veranschaulichen, wie erweiterte reguläre Ausdrücke funktionieren, sehen Sie hier die oben gezeigte LIKE-Abfrage, die mit REGEXP umgeschrieben wurde:

Um Namen zu finden, die mit „b“ beginnen, verwenden Sie „^“, um den Anfang des Namens abzugleichen:

mysql> SELECT * FROM Haustier WHERE Name REGEXP '^b';

[MySQL-regulärer Ausdruck]

[Löschen Sie alle Tabellen in der MySQL-Datenbank, die nicht mit JP beginnen]

Zusammenfassen

Oben habe ich Ihnen die MySQL-Syntax, Sonderzeichen und die Verwendung regulärer Ausdrücke vorgestellt. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Erläuterung der grundlegenden Syntax gespeicherter Prozeduren in der MySQL-Datenbank
  • Detaillierte Analyse der Syntax von Mysql-Updates zum Ändern mehrerer Felder und
  • Detaillierte Erklärung der MySQL-Alter-Ignore-Syntax
  • Detaillierte Erklärung des mysqlslap-Befehls und der Syntax für den integrierten Stresstest in MySQL 5.7
  • Detaillierte Erläuterung des MySQL 5.7.9-Shutdown-Syntaxbeispiels
  • Grundlegende Syntax und Funktionsweise der MySQL-Datenbank

<<:  Verwendung des Node.js-HTTP-Moduls

>>:  Eine einfache Methode zum Ändern der Größe hochgeladener Nginx-Dateien

Artikel empfehlen

css Alle Elemente ab dem n-ten abrufen

Der spezifische Code lautet wie folgt: <div id...

Div in HTML ausblenden Tabelle ausblenden TABLE- oder DIV-Inhalt im CSS-Stil

Ich habe heute Abend ein Problem gelöst, das mich...

So verwenden Sie Homebrew unter Linux richtig

Viele Leute verwenden Linux Homebrew. Hier sind d...

Gängige Reparaturmethoden für die Trennung der MySQL Master-Slave-Replikation

Inhaltsverzeichnis 01 Problembeschreibung 02 Lösu...

js, um einen Ein- und Ausblendeffekt des Bildes zu erzielen

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

Vue Element-ui-Tabelle realisiert Baumstrukturtabelle

In diesem Artikel wird der spezifische Code der E...

Acht Implementierungslösungen für domänenübergreifendes JS-Frontend

Inhaltsverzeichnis 1. JSONP domänenübergreifend 2...

So testen Sie die maximale Anzahl von TCP-Verbindungen in Linux

Vorwort Es besteht ein Missverständnis bezüglich ...

Tutorial zur Installation von Ceph Distributed Storage mit Yum unter Centos7

Inhaltsverzeichnis Vorwort Konfigurieren Sie die ...

Wissen Sie, welche Möglichkeiten es gibt, in Vue Routen zu überspringen?

Inhaltsverzeichnis Die erste Methode: Router-Link...