Inhaltsverzeichnis
(2) Einzelne Datenzeile + vollständige Spalteneinfügung
(3) Mehrere Datenzeilen + angegebene Spalteneinfügung
(2) Vollständige Spaltenabfrage
(3) Geben Sie die Spaltenabfrage an
(4) Das Abfragefeld ist ein Ausdruck
1. Der Ausdruck enthält keine Felder:
2. Der Ausdruck enthält ein Feld
Die Tabellenstruktur ist wie folgt:
3. Der Ausdruck enthält mehrere Felder
4. Sortieren Sie nach Ausdrücken und Aliasnamen
5. Mehrere Prioritäten können sortiert werden. Die Sortierprioritäten folgen der Schreibreihenfolge.
7. NULL-Abfrage: IST [NICHT] NULL
- Ändere Sun Wukongs Mathe-Ergebnis auf 80 Punkte
- Ändere Cao Mengdes Mathe-Ergebnis auf 60 Punkte und sein Chinesisch-Ergebnis auf 70 Punkte
--Sun Wukongs Testergebnisse löschen
-- Löschen Sie die gesamten Tabellendaten
6. Zusammenfassung der wichtigsten Inhalte
Ihr habt das alle gesehen, gebt einen Daumen hoch und geht weg, danke, danke! ! !
1. CRUD
Hinweis: Sie können „--space + Beschreibung“ in SQL verwenden, um Kommentare anzugeben
CRUD, d. h. hinzufügen (Erstellen), Abfragen (Abrufen), Aktualisieren (Aktualisieren) und löschen (Löschen)Vier-WörterAkronym
2. Hinzufügen (Erstellen)
Vorhandene Tabellenstruktur und Tabellendaten:
(1) Grammatik
INSERT [INTO] Tabellenname
[(Spalte [, Spalte] ...)]
VALUES (Werteliste) [, (value_list)] ...
value_list: value, [, value] ...
(2) Einzelne Datenzeile + vollständige Spalteneinfügung
Syntax:in Tabellennamenwerte einfügen(einzufügende Daten, ...)
Hinweis: Die Reihenfolge der eingefügten Daten muss mit der Tabellenstruktur übereinstimmen, andernfalls schlägt das Einfügen fehl.
Codeanzeige:
insert into books values('数学', '张三', 6.66, '数学类'); insert into books values('英语', '李四', 8.88, NULL);
Das Ergebnis ist wie folgt:
(3) Mehrere Datenzeilen + angegebene Spalteneinfügung
Syntax:In den Tabellennamen (angegebener Spaltenname, ...) Werte (angegebene Spaltennamensdaten) einfügen
Codeanzeige
insert into books (name, price, sort) values('语文', 5.55, '语文类'), ('物理', 7.77, '物理类');
Das Ergebnis ist wie folgt:
3. Abrufen
(1) Grammatik
SELECT
[DISTINCT] {* | {Spalte [, Spalte] ...
[FROM Tabellenname]
[WHERE ...]
[ORDER BY Spalte [ASC | DESC], ...]
LIMIT ...
(2) Vollständige Spaltenabfrage
Hinweis:Auswahlabfragevorgänge sind allesamt temporäre Tabellen und ändern die Originaldaten nicht
Syntax:select * from table name
Codeanzeige:
select * from books;
Das Ergebnis ist wie folgt:
Hinweis: Unter normalen Umständen wird die Verwendung von * für eine vollständige Spaltenabfrage nicht empfohlen
-- 1. Abfrage: Je mehr Spalten vorhanden sind, desto größer ist die Datenmenge, die übertragen werden muss. (Es müssen zu viele Informationen verarbeitet werden, und der Server ist möglicherweise verstopft. Eine große Menge an Festplatten-E/A und Netzwerk-E/A kann überlastet sein die Bandbreite der Festplatte oder Netzwerkkarte. Sobald die Bandbreite voll ist, kann der Server nicht normal auf die Anfragen anderer Clients reagieren. Aus Sicht anderer Clients wird er als Server betrachtet ist nicht verfügbar)
-- 2. < a i=5>kann die Verwendung des Index beeinträchtigen
(3) Geben Sie die Spaltenabfrage an
Syntax:wählen Sie den angegebenen Spaltennamen,... aus dem Tabellennamen aus
Codeanzeige:
select name, author, price from books;
Das Ergebnis ist wie folgt:
Hinweis: Die angegebene Spaltenabfrage kann nicht gemäß der Spaltenreihenfolge dieser Tabelle abgefragt werden, wie in der Abbildung gezeigt
(4) Das Abfragefeld ist ein Ausdruck
1. Der Ausdruck enthält keine Felder:
Syntax:Ausdruck auswählen, ... aus Büchern
Code-Demo:
select name, price, 10 from books;
Die Ergebnisse sind wie folgt
Da es keine 10 gibt, wird ein Feld 10 erstellt und 10 wird darunter platziert.
2. Der Ausdruck enthält ein Feld
Syntax:Ausdruck auswählen, der ein Feld enthält, ... aus dem Tabellennamen
Code-Demo:
select name, author, price + 10 from books;
Das Ergebnis ist wie folgt:
Die Tabellenstruktur ist wie folgt:
3. Der Ausdruck enthält mehrere Felder
Syntax:Ausdruck mit mehreren Feldern auswählen,... aus Tabellennamen
Demonstration des Ganzzahldatencodes:
select name, chinese + math + english from report;
Das Ergebnis ist wie folgt:
Keine Demonstration eines ganzzahligen Datencodes:
select price, name + author + sort from books;
Das Ergebnis ist wie folgt:
Wie Sie sehen, enthält der Ausdruck mehrere Feldzeilen. Solange NULL vorhanden ist, ist es NULL und die Summe der Zeichenfolgen ist gleich 0.
(5) Alias
Syntax:Spaltennamen auswählen,... als Alias aus Bericht
Hinweis (as kann weggelassen werden, aber es ist besser, es hinzuzufügen und es ist leicht zu unterscheiden)
Code-Demo:
select id, chinese + math + english as 总分 from report;
Das Ergebnis ist wie folgt:
(6) Deduplizierung: DISTINCT
Vorhandene Tabelle:
Syntax:Wählen Sie einen eindeutigen Spaltennamen aus ... aus dem Tabellennamen
Codeanzeige:
select distinct math from exam_result;
Das Ergebnis ist wie folgt:
(7) Sortieren: ORDER BY
1. Grammatik:
--ASC ist aufsteigende Reihenfolge (von klein nach groß)
--DESC ist absteigende Reihenfolge (von groß nach klein)
--Die Standard ist ASC< /span> ORDER BY Spalte [ASC|DESC], [...];
SELECT ... FROM Tabellenname [WHERE ...]
2. Aufsteigende Reihenfolge
Syntax:select * ( oder andere Spaltennamen sind ebenfalls akzeptabel) aus der Reihenfolge der Tabellennamen nach Spaltennamen
Codeanzeige:
select * from exam_result order by math;
Das Ergebnis ist wie folgt:
3. Absteigende Reihenfolge
Syntax:select * ( oder andere Spaltennamen sind ebenfalls akzeptabel) aus der Reihenfolge der Tabellennamen nach Spaltennamen desc
Codeanzeige:
select * from exam_result order by math desc;
Das Ergebnis ist wie folgt:
4. Sortieren Sie nach Ausdrücken und Aliasnamen
Syntax:Spaltennamen und Ausdruck aus Tabellennamen auswählen, Reihenfolge nach Ausdruck;
Codeanzeige:
select name, math + chinese + english as total from exam_result order by math + chinese + english;
Das Ergebnis ist wie folgt:
Beachten:
Hier können Sie Aliase nach der Reihenfolge verwenden
5. Mehrere Prioritäten können sortiert werden. Die Sortierprioritäten folgen der Schreibreihenfolge.
Syntax:Wählen Sie die abzufragende Spalte aus, exam_result, sortiert nach Spaltenname, Spaltenname...;
Code-Demo:
select * from exam_result order by math, english;
Das Ergebnis ist wie folgt:
(8) Bedingte Abfrage: WHERE
Hinweis:wobei Bedingungen Ausdrücke, aber keine Aliase verwenden können
1. Vergleichsoperatoren
2. Logische Operatoren
Hinweis: 1. AND hat eine höhere Priorität als OR. Bei gleichzeitiger Verwendung müssen Sie Klammern () verwenden, um den Teil zu umschließen, der zuerst ausgeführt wird
2. WHERE-Bedingungen können Ausdrücke verwenden, aber keine Aliase< a i= 4>.
Wie in der Abbildung gezeigt:
Ausführungsreihenfolge von SQL-Anweisungen:
Schritt 1: Nehmen Sie einen Datensatz heraus (durchlaufen Sie die Tabelle)
Schritt 2: Bringen Sie die Datensätze in Bedingungen und stellen Sie fest, ob sie erfüllt sind
Schritt 3: Wenn die Bedingungen erfüllt sind, entfernen Sie die durch Auswahl angegebenen Spalten und führen Sie einige Ausdrucksoperationen aus
Daher können Aliase nach where in bedingten Abfragen nicht verwendet werden.
3. Grundabfrage:
Fragen Sie Schüler ab, deren Englischergebnisse mehr als 70 Punkte betragen:
Code wie folgt anzeigen:
select name, english from exam_result where english > 70;
Das Ergebnis ist wie folgt:
Überprüfen Sie Schüler, deren Englisch-Ergebnis höher ist als das Chinesisch-Ergebnis:
Code wie folgt anzeigen:
select name, english, chinese from exam_result where english > chinese;
Das Ergebnis ist wie folgt:
Fragen Sie Schüler ab, deren Gesamtpunktzahl weniger als 200 beträgt:
Code wie folgt anzeigen:
select name, chinese + math + english from exam_result where (chinese + math + english) < 200;
Das Ergebnis ist wie folgt:
4、UND和ODER:
Fragen Sie Schüler ab, deren Chinesisch-Ergebnisse mehr als 80 Punkte und deren Englisch-Ergebnisse mehr als 80 Punkte betragen
Code wie folgt anzeigen:
select name, chinese, english from exam_result where (chinese > 80) and (english > 80);
Das Ergebnis ist wie folgt:
Suchen Sie nach Schülern, deren Chinesisch-Ergebnisse mehr als 80 Punkte betragen oder deren Englisch-Ergebnisse mehr als 80 Punkte betragen
Code wie folgt anzeigen:
select name, chinese, english from exam_result where (chinese > 80) or (english > 80);
Das Ergebnis ist wie folgt:
Hinweis:und hat eine höhere Priorität als or. Bei der Verwendung können Sie bei Bedarf Klammern verwenden
5. Bereichsabfrage
(1) ZWISCHEN ... UND
Codeanzeige:
select * from exam_result where chinese between 80 and 90;
Ergebnisanzeige:
Dies kann auch mit und erreicht werdenCode:
select * from exam_result where chinese >= 80 and chinese <= 90;
(2) IN
Code wie folgt anzeigen:
select name, math from exam_result where math in(58, 59, 98, 99);
Ergebnisanzeige:
Sie können auch oder hier verwenden
Code:
select name, math from exam_result where math = 58 or math = 59 or math = 98 or math = 99;
6. Fuzzy-Abfrage: LIKE
aus irgendeinem
Codeanzeige:select name from exam_result where name like '孙%';
Das Ergebnis ist wie folgt:
Codeanzeige:
select name from exam_result where name like '孙_';
Das Ergebnis ist wie folgt:
Hinweis:% kann auch so verwendet werden: %Sun, das ist das Feld, das mit „Sun“ endet; %Sun%, solange das Feld „Sun“ enthält
_Kann auch so verwendet werden: _Sonne, ein Feld mit nur einem Zeichen davor und „Sonne“ am Ende, mehrere Unterstriche _ können ebenfalls verwendet werden.
7. NULL-Abfrage: IST [NICHT] NULL
Bestimmen Sie, ob eine Spalte in der Tabelle NULL ist oder nicht
Code wie folgt anzeigen:
select name from exam_result where name is not null;
Das Ergebnis ist wie folgt:
Code wie folgt anzeigen:
select name from exam_result where name is NULL;
Das Ergebnis ist wie folgt:
8. Paging-Abfrage: LIMIT
Syntax:
– Der Startindex ist 0
– Beginnend mit 0, filtern Sie n Ergebnisse
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;
– Beginnend mit s, filtern Sie n Ergebnisse
SELECT ... FROM Tabellenname [WHERE ...] [ORDER BY ...] LIMIT s, n;
– Beginnend mit s, filtern Sie n Ergebnisse, Klarer als die zweite Verwendung wird die Verwendung empfohlen
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s;
Filtern Sie ausgehend von 0 3 Ergebnisse
Codeanzeige:
select * from exam_result limit 3;
Das Ergebnis ist wie folgt:
Filtern Sie ausgehend von 0 3 Datensätze, paginieren Sie sie nach der ID und der Reihe nach
Codeanzeige:
select * from exam_result limit 3;
Das Ergebnis ist wie folgt:
Beginnen Sie mit 3, filtern Sie 3 Datensätze und paginieren Sie sie der Reihe nach nach ID
Codeanzeige:
select * from exam_result order by id limit 3 offset 3;
Das Ergebnis ist wie folgt:
4. Änderung (Update)
Grammatik:
UPDATE Tabellenname SET Spalte = Ausdruck [, Spalte = Ausdruck ...]
[WHERE ...] [ORDER BY ...] [LIMIT ...]
Fall:
- Ändere Sun Wukongs Mathe-Ergebnis auf 80 Punkte
Grammatik:
Tabellennamen aktualisieren. Zu ändernder Spaltenname = zu ändernder Wert festlegen, wobei Spaltenname = Wert in der Spalte ist, die zur Änderung angegeben werden soll
Code wie folgt anzeigen:
mysql> update exam_result set math = 80 where name = '孙悟空';
Das Ergebnis ist wie folgt:
- Ändere Cao Mengdes Mathe-Ergebnis auf 60 Punkte und sein Chinesisch-Ergebnis auf 70 Punkte
Code wie folgt anzeigen:
update exam_result set math = 60, chinese = 70 where name = '曹孟德';
Das Ergebnis ist wie folgt:
- Addieren Sie 30 Punkte zu den Mathematikergebnissen der drei Schüler mit der niedrigsten Gesamtpunktzahl
Code wie folgt anzeigen:
Das Ergebnis ist wie folgt:
--Aktualisieren Sie die chinesischen Ergebnisse aller Schüler auf das Zweifache des ursprünglichen Wertes
Code wie folgt anzeigen:
update exam_result set chinese = chinese * 2;
Das Ergebnis ist wie folgt:
5. Löschen
Grammatik:
DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]
Fall:
--Sun Wukongs Testergebnisse löschen
Code wie folgt anzeigen:
delete from exam_result where name = '孙悟空';
Das Ergebnis ist wie folgt:
-- Löschen Sie die gesamten Tabellendaten
Bereiten Sie eine Tabelle wie folgt vor:
Code wie folgt anzeigen:
delete from for_delete;
Das Ergebnis ist wie folgt: