Detaillierte MySQL-CRUD-Anweisungen zum Hinzufügen, Löschen, Ändern und Abfragen einer einzelnen Tabelle

Detaillierte MySQL-CRUD-Anweisungen zum Hinzufügen, Löschen, Ändern und Abfragen einer einzelnen Tabelle

MySQL-Anweisungen zum Hinzufügen, Löschen, Ändern und Abfragen

1. Erstellen Sie ein Übungsblatt

  • Die Übungstabelle hier erfüllt nicht die drei Normalformen

Erste Normalform (auch als 1NF bekannt): Stellen Sie die Atomizität jeder Spalte sicher. Jede Spalte (Feld) in der Datentabelle muss die kleinste unteilbare Einheit sein, d. h. die Atomizität jeder Spalte muss sichergestellt sein. Die Erfüllung der ersten Normalform ist die Mindestanforderung für die Normalisierung eines relationalen Modells. Andernfalls können viele grundlegende Operationen in einem solchen relationalen Modell nicht implementiert werden.
Zweite Normalform (auch als 2NF bekannt): Stellen Sie sicher, dass eine Tabelle nur eine Sache beschreibt. Nach Erfüllung von 1NF dürfen alle Spalten in der Tabelle nur mit einer Spalte verknüpft sein, d. h. eine Datenzeile kann nur eine Sache tun. Wenn eine Spalte doppelte Daten enthält, muss die Tabelle aufgeteilt werden.
Die dritte Normalform (auch als 3NF bekannt): Stellen Sie sicher, dass jede Spalte direkt mit dem Primärschlüssel verknüpft ist. Nach Erfüllung von 2NF lautet die Anforderung: Jede Spalte in der Tabelle muss direkt mit dem Primärschlüssel verknüpft sein, nicht indirekt (jede Spalte in der Tabelle kann nur vom Primärschlüssel abhängen).
Die Daten können keine transitive Beziehung haben, das heißt, jedes Attribut hat eine direkte und keine indirekte Beziehung zum Primärschlüssel. Beziehungen zwischen Attributen wie a–>b–>c entsprechen nicht der dritten Normalform.

  • Fünf Einschränkungen

Zu den fünf Haupteinschränkungen der Datenbank gehören:

1. Primärschlüsseleinschränkung: Eindeutigkeit und Nicht-Nullbarkeit;

2. Eindeutige Einschränkung (Unique Counstraint) Eindeutigkeit, kann leer sein, aber es kann nur eine geben;

3. Standardeinschränkung: Der Standardwert der Daten;

4. Fremdschlüsseleinschränkung: Es muss eine Beziehung zwischen zwei Tabellen hergestellt werden;

5. Nicht-Null-Einschränkung: Legen Sie eine Nicht-Null-Einschränkung fest, das Feld darf nicht leer sein.

Syntaxbeispiele für die fünf Einschränkungen:

Hinzufügen einer Primärschlüsseleinschränkung
Tabelle ändern Tabellenname Einschränkung Primärschlüsselname Primärschlüssel (Feld) hinzufügen

Hinzufügen einer eindeutigen Einschränkung
Tabelle ändern Tabellenname hinzufügen Einschränkung Einschränkungsname eindeutig (Feld)

Hinzufügen einer Standardeinschränkung
Tabelle ändern Tabellenname hinzufügen Constraint Constraint Name default (Standardinhalt) für Feldname

Hinzufügen einer Prüfbeschränkung
Tabelle ändern Tabellenname hinzufügen Einschränkung Einschränkungsname prüfen (Feldausdruck)

Hinzufügen einer Fremdschlüsseleinschränkung
Tabelle ändern Tabellenname Einschränkung hinzufügen Einschränkungsname Fremdschlüssel (Feld) Referenzen Tabellenname (Feldname)

1.1 Benutzertabelle (Benutzer)

CREATE TABLE `Benutzer`(
	`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT 'Benutzer-ID (Primärschlüssel)',
	`Benutzername` VARCHAR(50) COMMENT 'Benutzername', 
	`Alter` CHAR(3) COMMENT 'Alter des Benutzers'
);

Einfügen von Daten

INSERT INTO USER VALUES(2,'Benutzerwert',12);
INSERT INTO USER VALUES(3,'Benutzerwerte',33);
IN BENUTZERWERTE EINFÜGEN (4, 'Benutzerwert', 24);
IN BENUTZERWERTE EINFÜGEN (5, 'Benutzer', 17);
INSERT INTO USER VALUES(6,'Benutzerwerte',36);
IN BENUTZERWERTE EINFÜGEN (7,'null',18);

Nach Abschluss lautet der Tabellenname user
Tabellendaten:

Bildbeschreibung hier einfügen

1.2 Schülertabelle

CREATE TABLE `Studenten`(
	`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT 'Studenten-ID (Primärschlüssel)',
	`name` VARCHAR(10) COMMENT 'Name des Studenten', 
	`Note` VARCHAR(10) COMMENT 'Studentennote',
	`chinesisch` INT COMMENT 'Chinesische Sprachpartitur',
	`math` INT COMMENT 'Mathematik-Ergebnisse',
	`Englisch` INT COMMENT 'Englische Noten'
);

Einfügen von Daten

INSERT INTO students VALUES(1,'Studentenreferenzwert','Studentenreferenzwert',100,100,100);
INSERT INTO students VALUES(2,'Gulinaza','Erste Klasse',99,88,98);
INSERT INTO students VALUES(3,'Malzahar','Klasse 3',46,20,99);
INSERT INTO students VALUES(4,'Alibaba','Erste Klasse',78,81,100);
INSERT INTO students VALUES(5,'Studenten-Wert','Studenten-Wert',20,10,5);
INSERT INTO students VALUES(6,'Autor','Zweite Klasse',100,100,100);
INSERT INTO students VALUES(7,'Studenten-Wert','Studenten-Wert',70,99,60);
INSERT INTO students VALUES(8,'weinen','vierte Klasse',33,15,54);

Wenn der Spaltenname oder Tabellenname mit einem MySQL-Schlüsselwort kollidiert, können Sie das Symbol ` unterhalb der Esc-Taste, links neben 1 oder über der Tabulatortaste verwenden.
Hinweis ==> Wenn der Notentyp „varcher“ ist, wird die Anzeige bei Verwendung von „sort“ nicht korrekt ausgeführt.

Nach Abschluss lautet der Tabellenname Studenten
Tabellendaten:

Bildbeschreibung hier einfügen

2. Abfrage

2.1 Alles abfragen (hier über die Benutzertabelle)

Wählen Sie * aus dem Tabellennamen;

WÄHLEN SIE * VOM BENUTZER;

2.2 Abfrage von Benutzern, die das Erwachsenenalter erreicht haben (mithilfe der Where-Bedingungsabfrage)

  • Vergleichsoperatoren in Bedingungen: (gleich: = größer als: > größer gleich: >= kleiner als: < kleiner gleich: <= ungleich: != oder <> )
  • Wählen Sie * aus dem Tabellennamen, wo die Bedingung besteht;
SELECT * FROM USER WHERE Alter >= 18;

Bildbeschreibung hier einfügen

2.3 Abfrage des Namens des minderjährigen Benutzers

SELECT Feldname FROM Tabellenname WHERE Bedingung;

SELECT-Benutzername FROM USER WHERE Alter < 18;

Bildbeschreibung hier einfügen

2.4 Alias-Abfrage verwenden

Verwenden Sie das Schlüsselwort as (as kann weggelassen werden)

WÄHLEN Sie u.* FROM USER AS u;

Bildbeschreibung hier einfügen

2.5 Abfrage mit logischen Operatoren

Logische Operatoren (und: und oder && oder oder nicht: nicht oder !)

Suche nach Namen von Xiaoer und Alter von 12 Jahren (Anzeigename und Alter)

SELECT u.`Benutzername`,u.`Alter` FROM USER u WHERE u.`Benutzername`='Benutzername' && u.`Alter`=12;

Bildbeschreibung hier einfügen

Suche nach Personen, die Zhang San heißen und minderjährig sind (das Abfrageergebnis ist leer, es gibt keine solche Person)

SELECT * FROM USER WHERE Benutzername='Benutzername' && Alter < 18;

Bildbeschreibung hier einfügen

2.6 Verwenden Sie Operatoren für Abfragen (beginnen Sie hier mit der Verwendung der Tabelle „Studenten“)

Bildbeschreibung hier einfügen

Fragen Sie die Operatorpriorität der Gesamtpunktzahl von hahahaha in drei Fächern ab:
1. Multiplikation und Division haben Vorrang vor Addition und Subtraktion
2. Die Reihenfolge der Operationen derselben Ebene ist von links nach rechts
3. Verwenden Sie "Klammern" in Ausdrücken, um die Reihenfolge der Prioritätsoperationen zwangsweise zu ändern
Wähle Spalte 1 [±*/ ] Spalte 2 aus Tabellenname, wobei Bedingung;

Wählen Sie s.chinese + s.math + s.english FROM students s WHERE s.name = '哈哈哈哈';

Bildbeschreibung hier einfügen

2.7 Bereichsabfrage (zwischen Bedingung 1 und Bedingung 2)

(Gut 60–70, Mittelmäßig 70–80, Ausgezeichnet 80–90, Ausgezeichnet 90–100)

Abfrage der Namen von Studierenden mit guten bis mittelmäßigen Chinesisch-Noten
wobei das Feld (Spaltenname) zwischen Bedingung 1 und Bedingung 2 liegt;

WÄHLEN SIE DEN NAMEN DER STUDENTEN AUS, BEI DENEN DIE CHINESEN ZWISCHEN 60 UND 80 JAHREN ALT SIND;

Bildbeschreibung hier einfügen

Abfrage der Namen von Schülern, die in Mathe durchgefallen sind

zwei

wobei das Feld (Spaltenname) nicht zwischen Bedingung 1 und Bedingung 2 liegt;

WÄHLEN SIE DEN NAMEN DER SCHÜLER, BEI DENEN DIE MATHEZEIUNG NICHT ZWISCHEN 60 UND 100 LIEGT;

Bildbeschreibung hier einfügen

Abfrage der ID und des Namens von Studierenden mit hervorragenden Englisch-Ergebnissen;

drei

wobei !(Feldname zwischen Bedingung 1 und Bedingung 2);

Wählen Sie s.`id`, s.`name` aus den Studenten s, wobei !(s.`english` zwischen 0 und 90);

Bildbeschreibung hier einfügen

2.8 Sammlungsabfrage zum Abfragen der Informationen von Erst- und Zweitsemesterstudenten

wobei der Spaltenname in (Wert1, Wert2, Wert3) ist;

SELECT * FROM students WHERE grade IN ('Erste Klasse', 'Zweite Klasse');

Bildbeschreibung hier einfügen

* Abfrage von Informationen zu Schülern, die keine Erst-, Zweit- und Drittklässler sind
wobei der Spaltenname nicht in (Wert1, Wert2, Wert3) enthalten ist;

SELECT * FROM students WHERE grade NOT IN ('Erste Klasse', 'Zweite Klasse', 'Dritte Klasse');

Bildbeschreibung hier einfügen

2.9 NULL-Wert-Abfrage

Hinweis: Wenn der Wert in der Spalte null ist, können Sie nicht = verwenden, um abzufragen

Abfrage der Studentendaten, deren Name null ist (es sind keine Daten gespeichert, also gibt es nichts)
wobei der Spaltenname null ist;

Wählen Sie * aus den Studenten, wobei „Name“ NULL ist.

Bildbeschreibung hier einfügen

2.10 Fuzzy-Abfrage (wie)% stellt 0 bis n Zeichen dar

wobei Spaltennamen wie „%巴“; – bedeuten, dass sie mit 巴 enden;
wobei Spaltennamen wie „巴%“; – bedeuten, dass sie mit 巴 beginnen;
wobei ein Spaltenname wie „%巴巴%“ bedeutet, dass die Daten 巴巴 enthalten;

Finden Sie Studenten, deren Namen mit 巴 enden;

SELECT * FROM students WHERE `name` LIKE '%巴';

Bildbeschreibung hier einfügen

Finden Sie Studenten, deren Namen mit „Autor“ beginnen;

SELECT * FROM students WHERE `name` LIKE 'Name des Studenten';

Bildbeschreibung hier einfügen

Finden Sie Studenten, deren Namen Hip-Hop enthalten;

SELECT * FROM students WHERE `name` LIKE '%Studentenname%';

Bildbeschreibung hier einfügen

_ stellt ein Zeichen dar und kann mehrfach verwendet werden

Suche nach Studierenden, deren vorletzter Buchstabe im Namen "ha" enthält
wobei der Spaltenname wie „哈_“ lautet;

SELECT * FROM students WHERE `name` LIKE '%哈_';

Bildbeschreibung hier einfügen

2.11 Ergebnissortierung

Sortieren Sie die Ergebnisse nach Zeilen (sortieren Sie die Abfrageergebnisse nach einer oder mehreren Spalten in aufsteigender oder absteigender Reihenfolge; aufsteigende Reihenfolge ist ASC, absteigende Reihenfolge ist DESC, aufsteigende Reihenfolge ist die Standardreihenfolge).

Bitte beachten Sie, dass Sie keine chinesische oder chinesische Aliassortierung verwenden können.
wobei die Bedingungssortierung nach Spaltenname [ASC / DESC] erfolgt;

Fragen Sie die Daten von Erst-, Zweit- und Drittklässlern ab und sortieren Sie sie in absteigender Reihenfolge nach ihren Chinesisch-Ergebnissen.

SELECT * FROM students WHERE grade IN ('Erste Klasse', 'Zweite Klasse', 'Dritte Klasse') ORDER BY chinese DESC;

Bildbeschreibung hier einfügen

2.12 Paginierungsabfrage

Paginierungsabfrage (beginIndex gibt die Anzahl der Daten an, bei denen begonnen werden soll (oder wie viele Seiten übersprungen werden sollen), die erste Seite beginnt bei 0. pageSize gibt an, wie viele Daten pro Seite angezeigt werden);
Wählen Sie * aus dem Tabellennamen, wo die Bedingungsgrenze beginIndex, Seitengröße liegt;

Formel des Seitenalgorithmus (aktuelle Seite - 1) * Seitengröße;

Pro Seite sind es beispielsweise 10 Seiten.
Erstes Seitenlimit 0, 10; // Anzeige 0-10; Überspringe die ersten 0 Daten Zweites Seitenlimit 10, 10; // Anzeige 11-20; Überspringe die ersten 10 Daten Drittes Seitenlimit 20, 10; // Anzeige 21-30; Überspringe die ersten 20 Daten

Beachten Sie, dass bei Verwendung von „select * from students“ (die unterste Ebene der Ausführungsanweisung hat die Seitenzahl auf 0, 1000 begrenzt)
Bildbeschreibung hier einfügen

Abfrage aller Studierenden, drei Datensätze pro Seite, erste Seite

SELECT * FROM Studenten LIMIT 0,3;

Bildbeschreibung hier einfügen
Seite 2

SELECT * FROM Studenten LIMIT 3,3;

Bildbeschreibung hier einfügen

Seite 3

Wählen Sie * aus Studenten LIMIT 6,3;

Bildbeschreibung hier einfügen

2.13 Aggregatfunktionen

Wirkt auf einen Datensatz ein und gibt einen Wert für diesen Datensatz zurück

  • Anzahl: die Anzahl der Datensätze im statistischen Ergebnis.
  • max: Maximalwert der Statistik
  • min: Minimalwert der Statistik sum: Summe der Berechnungen
  • avg: Berechnen Sie den Durchschnittswert

Beachten Sie die Gruppierungsfunktion „group by“. Wenn Sie die gruppierten Daten filtern möchten, müssen Sie das Schlüsselwort „having“ verwenden und die Bedingung sollte nach „having“ geschrieben werden.

  • Dabei gilt: Filtern Sie zuerst die vorhandenen Daten, gruppieren Sie sie dann und berechnen Sie anschließend die Aggregatfunktion.
  • haben: Filtern Sie die Daten nach der Gruppierung.

Fügen Sie die Stadttabelle ein, die wir üben müssen

CREATE TABLE `Stadt` (
	`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT 'Primärschlüssel',
	`Stadtname` VARCHAR(100) COMMENT 'Stadtname',
	`city_year` VARCHAR(4) COMMENT 'Jahr, jjjj',
	`city_gdp` DOPPELTER KOMMENTAR 'Das BIP der Stadt für das laufende Jahr in 100 Millionen Yuan',
	`city_population` DOPPELTER KOMMENTAR 'Die Gesamtbevölkerung der Stadt im laufenden Erntejahr in 10.000 Personen'
);

Daten hinzufügen

INSERT INTO Stadt WERTE (1, 'Shanghai', 2018, 32679, 2418);
INSERT INTO city VALUES(2,'Peking',2018,30320,2171);
INSERT INTO city VALUES(3,'Stadt',2018,24691,1253);
IN Stadtwerte einfügen (4, „Guangzhou“, 2018, 23000, 1450);
INSERT INTO city VALUES(5,'Stadt',2018,20363,3372);
INSERT INTO Stadt WERTE (6, 'Shanghai', 2019, 38155, 2424);
INSERT INTO city VALUES(7,'Peking',2019,35371,2171);
INSERT INTO city VALUES(8,'Stadt',2019,26927,1302);
INSERT INTO Stadt WERTE (9, 'Guangzhou', 2019, 23628, 1491);
INSERT INTO city VALUES(10,'Stadt',2019,23605,3372);

ZÄHLEN
Abfragen und berechnen, wie viele Städte im Jahr 2019 Daten eingegeben haben (Antworten 5)

Wählen Sie Anz.(*) aus Stadt, wo Stadtjahr = '2019';

Bildbeschreibung hier einfügen

MAX
Prüfen Sie, wie hoch das höchste BIP im Jahr 2018 war;

Wählen Sie MAX (Stadt_BIP) aus Stadt, wobei Stadtjahr = "2018" ist;

Bildbeschreibung hier einfügen

MIN
Finden Sie heraus, wie hoch das niedrigste BIP im Jahr 2018 war;

Wählen Sie MIN (Stadt_BIP) aus Stadt, wobei Stadtjahr = "2018" ist.

Bildbeschreibung hier einfügen

SUMME
Abfrage des gesamten BIP aller Städte im Jahr 2019;

Wählen Sie Summe (Stadt_BIP) aus Stadt, wobei Stadtjahr = "2019" ist;

Bildbeschreibung hier einfügen

Durchschnitt
Abfrage des durchschnittlichen BIP aller Städte im Jahr 2019;

Wählen Sie AVG (Stadt_BIP) aus Stadt, wobei Stadtjahr = "2019" ist.

Bildbeschreibung hier einfügen

3. Erhöhen

in Tabellennamen (Feld 1, Feld 2, Feld 3, …) Werte (Wert 1, Wert 2, Wert 3, …) einfügen;

Studentenschwanz hinzufügen

INSERT INTO students(id,NAME,Klasse,Chinesisch,Mathe,Englisch) 
VALUES(9,'Wert 9','Wert 10',77,77,77);

Bildbeschreibung hier einfügen

Andere Einfügemethoden

INSERT INTO Tabellenname (Feld 1, Feld 2, Feld 3) VALUES (Wert 1, Wert 2, Wert 3), (Wert 1, Wert 2, Wert 3); -- Mehrere Daten einfügen INSERT INTO Tabellenname VALUES (Wert 1, Wert 2); -- Alle Felder der Tabelle einfügen INSERT INTO Tabellenname (Feld) SELECT Feld FROM Tabelle 2; -- Abfrageergebnis einfügen INSERT INTO Tabellenname SELECT Feld FROM Tabelle 2; -- Abfrageergebnis, gesamte Tabelle einfügen

4. Aktualisierung

Tabellennamen aktualisieren, Feld festlegen = Wert, wobei Bedingung; – Die angegebenen Daten mit Bedingung ändern, andernfalls die gesamte Tabelle ändern;

Ändern Sie die Englisch-Punktzahl des Schülers „Hahahaha“ auf 10;

UPDATE students SET english = 10 WHERE `name` = 'Studenten';

Bildbeschreibung hier einfügen

5. Löschen

Löschen aus Tabellenname, wobei Bedingung gilt; - Daten mit Bedingung löschen, andernfalls alle Daten in der Tabelle löschen

Schüler '鸡鸡鸡' löschen;

LÖSCHEN VON Studenten, WO „Name“ = „鸡鸡鸡鸡“;

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

6. Reihenfolge der Anweisungsausführung

von -> an -> verbinden -> wo -> gruppieren nach -> habend -> auswählen -> verschieden -> sortieren nach -> begrenzen

Weitere MySQL-Artikel finden Sie unter den folgenden Links.

MySQL DDL-Anweisungen

MySQL CRUD-Anweisungen

MySQL-Aggregatfunktionen

MySQL-Abfrage für mehrere Tabellen

ENDE…

Dies ist das Ende dieses Artikels über detaillierte MySQL-CRUD-Anweisungen für einzelne Tabellen. Weitere relevante MySQL-CRUD-Anweisungen finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Mit PHP auf die MySql-Datenbank zugreifen - logische Operationen und Beispiele zum Hinzufügen, Löschen, Ändern und Prüfen
  • PHP implementiert die objektorientierte mysqli-Erweiterungsbibliothek zum Hinzufügen, Löschen, Ändern und Abfragen von Operationstoolklassen
  • Ein einfaches Beispiel zum Hinzufügen, Löschen, Ändern und Überprüfen von PHP MySql
  • PHP+MySQL implementiert einfache Funktionen zum Hinzufügen, Löschen, Ändern und Abfragen
  • PHP + MySQL implementiert das Hinzufügen, Löschen, Ändern und Abfragen von Benutzern
  • Beispiel für die MySQL-Triggeroperation „Hinzufügen“, „Löschen“, „Ändern“ und „Abfragen“
  • Detaillierte Erläuterung des Ansichtsbeispiels zur MySQL-Ansichtsverwaltung [Hinzufügen-, Löschen-, Ändern- und Abfragevorgänge]
  • MySQL- und PHP-Grundlagen und -Anwendungen: Hinzufügen, Löschen, Ändern und Abfragen

<<:  Analyse des Implementierungsprozesses für die Tomcat maxPostSize-Einstellung

>>:  Implementierung der bidirektionalen Bindung von übergeordneten und untergeordneten Komponentendaten im Front-End-Framework Vue

Artikel empfehlen

Implementierung von Nginx-Weiterleitungsübereinstimmungsregeln

1. Regulärer Ausdrucksabgleich ~ für Groß- und Kl...

Ein kurzer Vortrag über Rx-responsive Programmierung

Inhaltsverzeichnis 1. Beobachtbar 2. Funktionen h...

Nodejs konvertiert JSON-String in JSON-Objekt-Fehlerlösung

Wie konvertiere ich eine JSON-Zeichenfolge in ein...

Eine kurze Diskussion über den VUE Uni-App-Lebenszyklus

Inhaltsverzeichnis 1. Anwendungslebenszyklus 2. S...

Zusammenfassung mehrerer häufig verwendeter CentOS7-Images basierend auf Docker

Inhaltsverzeichnis 1 Docker installieren 2 Konfig...

jQuery zum Erreichen des Sperrfeuereffekts

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

So zeigen Sie historische Befehle in Linux an und führen sie aus

Historische Befehle anzeigen und bestimmte Befehl...

JavaScript zur Implementierung der Login-Schiebereglerüberprüfung

In diesem Artikelbeispiel wird der spezifische Ja...

Detaillierte Erläuterung der grundlegenden Docker-Netzwerkkonfiguration

Externer Zugriff Ports nach dem Zufallsprinzip zu...

Detailliertes Tutorial zur Installation von InfluxDB in Docker (Leistungstest)

1. Voraussetzungen 1. Das Projekt wurde bereitges...

Häufige Tomcat-Ausnahmen und Lösungscodebeispiele

Das Unternehmensprojekt wurde in Java entwickelt ...