MySQL-Anweisungsanordnung und zusammenfassende Einführung

MySQL-Anweisungsanordnung und zusammenfassende Einführung

SQL-Anweisungen (Structured Query Language), also eine strukturierte Abfragesprache, sind die Standardsprache für die Bedienung und Suche in relationalen Datenbanken. SQL-Anweisungen werden im Allgemeinen in die folgenden Kategorien unterteilt:

  1. DCL (Database Control Language)-Anweisungen: hauptsächlich ergänzt durch die beiden Schlüsselwörter GRANT und REVOKE
  2. DDL-Anweisungen (Database Definition Language): hauptsächlich ergänzt durch vier Schlüsselwörter: CREATE, ALTER, DROP und TRUNCATE
  3. DML-Anweisungen (Database Manipulation Language): hauptsächlich ergänzt durch drei Schlüsselwörter: INSERT, UPDATE und DELETE
  4. Abfrageanweisung: hauptsächlich durch SELECT-Anweisung vervollständigt
  5. Transaktionskontrollanweisungen: hauptsächlich ergänzt durch die drei Schlüsselwörter COMMIT, ROLLBACK und SAVEPOINT

Hinweis: Bei SQL-Anweisungen wird die Groß-/Kleinschreibung nicht beachtet. Daher sind „create“ und „CREATE“ dasselbe.

1. DCL-Erklärung

DCL-Anweisungen werden zum Autorisieren und Widerrufen von Benutzerberechtigungen verwendet. Sie können Berechtigungen für verschiedene Benutzer steuern, die Datenbanksicherheit erhöhen und Datenbankwartungen durchführen. Im Allgemeinen verwenden Datenbankadministratoren den Superuser „root“, um Vorgänge auszuführen.

Der MySQL-Berechtigungsbefehl lautet „grant“ und der Befehl zum Widerrufen der Berechtigung lautet „revue“.

1. Format der Erteilungsgenehmigung:

Gewähren Sie der durch „Passwort“ identifizierten Benutzername@'IP' die Berechtigungsliste für die Bibliothek.Tabelle.

2. Format der Berechtigung zum Widerrufen:

Berechtigungsliste für Bibliothek.Tabelle von Benutzername@'IP' widerrufen;

2. DDL-Anweisungen

Datenbankobjekte:

Tabelle, Datenwörterbuch, Einschränkung, Ansicht, Index, Funktion, gespeicherte Prozedur, Trigger

Die Schlüsselwörter CREATE, ALTER und DELETE werden zum Erstellen, Ändern und Löschen von Datenbankobjekten verwendet. Hier verwenden wir die gängigsten Operationen an Tabellen als Beispiel.

  • Die Datentypen der Datenbank finden Sie unter: //www.jb51.net/article/55853.htm
  • Informationen zu Datenbankintegritätsbeschränkungen finden Sie unter: https://www.jb51.net/article/154000.htm

1.ERSTELLEN:

CREATE TABLE [Schemaname.] Tabellenname (
Die Spaltendefinitionen in dieser Tabelle
);

z.B

CREATE TABLE-Test (
StuId VARCHAR(8) Primärschlüssel,
StuName VARCHAR(30) NOT NULL,
StuAge SMALLINT NICHT NULL,
StuGeburtsdatum Uhrzeit
);

Hinweis: Zeigen Sie die Tabellenstruktur an: BESCHREIBEN Sie den Tabellennamen;

2.ALTER:

1) Spalten hinzufügen:

ALTER TABLE Tabellenname
ADD-Spalte Spaltenname1 Datentyp [Standardausdruck] [ERSTE|NACH Spaltenname];
columnName1: der Name der neu hinzugefügten Spalte;
Datentyp: Datentyp;
Standardausdruck: Integritätsbedingung;
FIRST|AFTER colName: Einfügeposition. Standardmäßig wird es in die letzte Spalte eingefügt. FIRST steht in der ersten Spalte. AFTER colName wird nach der angegebenen Spalte eingefügt.

z.B

ALTER TABLE-Test
ADD-Spalte StuMajor VARCHAR (20) NICHT NULL NACH StuName;

2) Spalten ändern

ALTER TABLE Tabellenname CHANGE alterName neuerName Datentyp;

z.B

ALTER TABLE-Test CHANGE StuBirth Geburtstagsjahr;

3) Spalten löschen

ALTER TABLE Tabellenname DROP Spalte Spaltenname;

z.B

ALTER TABLE-Test DROP-Spalte StuMajor;

4) Ändern Sie den Tabellennamen

ALTER TABEL Tabellenname RENAME TO neuer Tabellenname;

z.B

ALTER TABLE-Test umbenennen in Student;

3.Tropfen

Löschen einer Tabelle
DROP TABLE Tabellenname;

z.B

DROP TABLE-Student;

4.TRUNCATE

Das Löschen aller Daten in einer Tabelle unter Beibehaltung ihrer Struktur nennt man „Trunkierung“.
TRUNCATE TABLE Tabellenname;

z.B

TRUNCATE TABLE-Student;

3. DML-Anweisungen

1. EINFÜGEN

Die Standard-SQL-Anweisung erlaubt nur das gleichzeitige Einfügen einer Datenzeile, MySQL erweitert sie jedoch so, dass das gleichzeitige Einfügen mehrerer Datenzeilen möglich ist.

Fügen Sie ein Datenelement ein:

INSERT INTO Tabellenname VALUES (Wert1, Wert2, ...);

Mehrere Datensätze einfügen:

INSERT INTO Tabellenname VALUES (Wert1, Wert2, ...), (Wert1, Wert2, ...), (Wert1, Wert2, ...);

z.B

INSERT INTO student VALUES('001','Lisa',20,1997),('002','Rose',21,1996);

2.AKTUALISIERUNG

UPDATE Tabellenname SET COLUMN1 = VALUE1[, COLUMN2 = VALUE2]...
[WO BEDINGUNG];

Addieren Sie beispielsweise 1 zum Alter aller Schüler über 20.

UPDATE student SET StuAge = StuAge+1 WHERE StuAge>20;

3.LÖSCHEN

LÖSCHEN AUS Tabellenname [WHERE BEDINGUNG];

Löschen Sie beispielsweise alle Informationen zu Schülern des Jahrgangs 1997.

LÖSCHEN VON Student, WO Geburtstag = 1997;

4. Abfrageanweisung

1. Einzeltabellenabfrage:

SPALTE1, SPALTE2 AUSWÄHLEN …
VON Datenquelle [WO BEDINGUNG]
[GROUP BY Spaltenname]
[ORDER BY Spaltenname DESC|ASC]

Wählen Sie beispielsweise die Informatik-Studierenden aus, sortieren Sie diese absteigend nach der Matrikelnummer und lassen Sie sich nur die Studierendennamen anzeigen.

Wählen Sie StuName FROM Student aus 
WO StuMajor = 'CS'
ORDER BY StuId DESC;

2. Abfrage mehrerer Tabellen:

1) Einfache äußere Verknüpfungsmethode

WÄHLEN SIE WERT1[,WERT2]...
VON Tabellenname1, Tabellenname2
WO Tabellenname1.Spalte1 = Tabellenname2.Spalte2[UND ...];
Auf WHERE folgen die Verbindungsbedingungen und Abfragebedingungen

2) Selbstverbindung: Manchmal müssen Sie sich mit sich selbst verbinden, was als Selbstverbindung bezeichnet wird

z.B

Es gibt folgende Tabelle temp

CREATE TABLE emp(
ID INT AUTO_INCRETMENT PRIMÄRSCHLÜSSEL,
Name VARCAHR(255),
Manager-ID INT,
FOREIGN KEY(managerId) verweist auf temp(id)
);

Es gibt vier Datensätze

ID-Name Manager-ID
1 aaa null
2 bbb 1
3 ccc 1
4 ddd 1

Abfrage der Tabelle:

SELECT employee.id, employee.name Mitarbeitername, manager.name Managername FROM emp Mitarbeiter, emp Manager
WO Mitarbeiter.ManagerId = Manager.ID;

Diese Abfrage verwendet einen Self-Join, um die Beziehung zwischen Mitarbeitern und Managern anzuzeigen:

  • employee.name Mitarbeitername, manager.name Manager Mitarbeitername und Managername werden umbenannt, und bei der Anzeige von Spalten werden Mitarbeitername und Managername angezeigt;
  • VON emp-Mitarbeiter, emp-Manager. Zwei identische Tabellen müssen unterschieden und unterschiedlich benannt werden.
  • WHERE employee.managerId = manager.id ist die Join-Bedingung

Weitere Informationen zu Mehrtabellenverbindungen finden Sie unter:
https://www.jb51.net/article/154006.htm

5. Transaktionsabwicklung

1. Eine Transaktion ist eine logische Ausführungseinheit, die aus einer oder mehreren Datenbankoperationssequenzen besteht.

Diese Reihe von Vorgängen muss entweder vollständig durchgeführt oder vollständig abgebrochen werden. Programme und Transaktionen sind zwei völlig unterschiedliche Konzepte. Grundsätzlich kann ein Programm mehrere Transaktionen enthalten. In MySQL gibt es mehrere Engines. Die beiden am häufigsten verwendeten Engines sind: InnoDB und MyISAM. InnoDB unterstützt Transaktionen, MyISAM nicht. Sie können sie in der Konfigurationsdatei config ändern.

2. Vier Merkmale von Transaktionen:

  • Atomarität: Eine Transaktion ist die kleinste Ausführungseinheit in einer Anwendung.
  • Konsistenz: Das Ergebnis der Transaktionsausführung muss die Datenbank von einem konsistenten Zustand in einen anderen konsistenten Zustand ändern. Konsistenz wird durch Atomizität gewährleistet
  • Isolierung: Die Ausführung der einzelnen Transaktionen stört sich nicht gegenseitig.
  • Dauerhaftigkeit: Wird auch als Persistenz bezeichnet. Es bedeutet, dass nach der Durchführung einer Transaktion alle an den Daten vorgenommenen Änderungen in der physischen Datenbank gespeichert werden.

Diese vier Merkmale werden auch ACID-Eigenschaften genannt

3. Eine Datenbanktransaktion besteht aus einer Reihe von DML-Anweisungen, einer DDL-Anweisung und einer DCL-Anweisung.

  • DML-Anweisungen verarbeiten Daten
  • Es gibt jeweils nur eine DDL- und eine DCL-Anweisung, da sowohl DDL- als auch DCL-Anweisungen die Transaktion festschreiben.

4. Übermittlung der Transaktion:

  • Commit anzeigen: Commit
  • Automatisches Commit: DDL/DCL-Anweisungen

MySQL deaktiviert Transaktionen (Auto-Commit) standardmäßig. Wenn ein Benutzer eine DML-Anweisung eingibt, wird die Operation standardmäßig festgeschrieben. Um Transaktionen zu aktivieren, können Sie Auto-Commit mit der folgenden Anweisung festlegen:

SET AUTOCOMMIT = {0|1} 0 bedeutet Autocommit ausschalten (Transaktion öffnen), 1 bedeutet Autocommit einschalten (Transaktion schließen)

5. Rollback von Transaktionen

Wenn ein in der Transaktion enthaltener Datenbankvorgang fehlschlägt, wird die Transaktion zurückgesetzt und alle Vorgänge in der Transaktion werden ungültig. Zwei Möglichkeiten:

  • Rollback anzeigen: Rollback
  • Automatisches Rollback: Systemfehler oder erzwungenes Beenden

6. Beispiel:

Wenn Sie eine Transaktion nur vorübergehend starten möchten, können Sie „start transaction“ oder „beginne“ verwenden, um eine temporäre Transaktion zu starten. Nachfolgende DML-Anweisungen werden erst ausgeführt, wenn die Transaktion festgeschrieben oder zurückgesetzt wurde.

eg1

BEGINNEN;
INSERT INTO student VALUES(NULL,'001','aaa');
INSERT INTO student VALUES(NULL,'002','bbb');
INSERT INTO student VALUES(NULL,'003','ccc');
WÄHLEN SIE * VOM Schüler; ①
ROLLBACK;
WÄHLEN SIE * VOM Schüler; ②

① Das Ergebnis der Abfrageanweisung enthält die eingefügten Daten. Wenn Sie die Anweisung jedoch zu diesem Zeitpunkt in einem anderen Befehlszeilenfenster ausführen, werden die oben genannten drei Daten nicht angezeigt. Dies spiegelt die Isolation von Transaktionen wider. Diese drei Daten werden nicht tatsächlich in die physische Datenbank geschrieben.

Nach der Ausführung des Rollback-Vorgangs sind die drei Daten nach begin im Ergebnis der Abfrageanweisung ② nicht mehr sichtbar.

eg2

INSERT INTO student VALUES(NULL,'001','aaa');
INSERT INTO student VALUES(NULL,'002','bbb');
SPEICHERPUNKT p;
INSERT INTO student VALUES(NULL,'003','ccc');
WÄHLEN SIE * VOM Schüler; ①
ROLLBACK AUF p;
WÄHLEN SIE * VOM Schüler; ②

MySQL bietet auch das Schlüsselwort SAVEPOINT zum Festlegen des Mittelpunkts, mit dem die Rollback-Position festgelegt werden kann. Das Ergebnis der Abfrageanweisung bei ① enthält die Ergebnisse von drei eingefügten Daten, aber das Abfrageergebnis bei ② enthält nicht die nach dem Mittelpunkt p eingefügten Daten. Es ist wichtig zu beachten, dass ein Rollback zurück zum Mittelpunkt die Transaktion nicht beendet.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Einige allgemeine SQL-Anweisungen in MySQL
  • Organisieren Sie die häufig verwendeten MySql-Abfrageanweisungen (23 Typen).
  • Die umfassendste Sammlung von MySQL-Abfrageanweisungen
  • Zusammenfassung der MySQL-DML-Anweisungen
  • Sammlung von MySQL-Fuzzy-Abfrageanweisungen
  • Zusammenfassung der MySQL-Anweisungen
  • In der MySQL-Datentabelle verwendete SQL-Anweisungsanordnung

<<:  Detaillierte Erläuterung der grundlegenden Verwaltung der KVM-Virtualisierung in CentOS7

>>:  Codeanalyse synchroner und asynchroner SetState-Probleme in React

Artikel empfehlen

HTML-Tipps, um Ihren Code semantisch zu gestalten

HTML-Semantik scheint ein alltägliches Problem zu...

HTML Table Tag Tutorial (47): Verschachtelte Tabellen

<br />Der Schriftsatz auf der Seite erfolgt ...

MySQLs konzeptionelles Verständnis verschiedener Sperren

Optimistisches Sperren Optimistisches Sperren wir...

Sechs Möglichkeiten zur Steigerung der Geschwindigkeit Ihrer Website

1. Ersetzen Sie die Adresse Ihrer .js-Bibliotheks...

XHTML-Erste-Schritte-Tutorial: XHTML-Tags

Einführung in XHTML-Tags <br />Vielleicht is...

So verwalten Sie zwischengespeicherte Seiten in Vue

Inhaltsverzeichnis Problem 1: Zerstörung 1. Wie m...

HTML+CSS+JS zur Implementierung des Spiels „Nicht auf das Whiteboard treten“

Inhaltsverzeichnis Hintergrund 1. Gedankenanalyse...

Grafisches Tutorial zur MySQL8-Installationsversion

Installation Die erforderlichen Unterlagen finden...

Zusammenfassung der Linux-Befehle zur Dateiverzeichnisverwaltung

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

Details zur zugrundeliegenden Datenstruktur von MySQL-Indizes

Inhaltsverzeichnis 1. Indextyp 1. B+ Baum 2. Was ...

Installieren Sie zwei MySQL5.6.35-Datenbanken unter Win10

Notieren Sie die Installation von zwei MySQL5.6.3...

Spielen Sie mit der Connect-Funktion mit Timeout in Linux

Im vorherigen Artikel haben wir mit Timeouts unte...

IDEA-Konfigurationsprozess von Docker

IDEA ist das am häufigsten verwendete Entwicklung...