In diesem Artikel zeigt Ihnen der Blogger die häufig verwendete Datenabfragesprache in MySQL. DQL (Datenabfragesprache) SELECT-Syntax AUSWÄHLEN [ALLE | UNTERSCHIEDLICH] { * | Tabelle.* | [Tabelle.Feld1 [als Alias1][,Tabelle.Feld2] [als Alias2][,...]]} VON Tabellenname [als Tabellenalias] [left | out | inner join table_name2] #Gemeinsame Abfrage [WHERE ...] #Geben Sie die Bedingungen an, die die Ergebnisse erfüllen müssen [GROUP BY ...] #Geben Sie an, nach welchen Feldern die Ergebnisse gruppiert werden sollen [HAVING ...] #Sekundäre Bedingungen, die zum Filtern gruppierter Datensätze erfüllt sein müssen [ODER BY ...] #Geben Sie an, dass die Abfragedatensätze nach einer oder mehreren Bedingungen sortiert werden [LIMIT [Offset, Anzahl der zurückgegebenen Ergebnisdatensätze]; #Geben Sie an, welche Datensätze von welchen bis zu welchen abgefragt werden sollen Grundlegende Abfrageanweisungen und AS Die folgenden Beispiele verwenden Daten aus der Studententabelle. Um alle Datenspalten in einer Tabelle abzufragen, verwenden Sie das Symbol „*“, was ineffizient ist. wähle * vom Studenten; Die Abfragespalte kann angegeben werden, was sehr effizient ist. Wählen Sie „StudentName, Phone“ des Studenten aus. Funktion und Verwendung der AS-Klausel Hinweis: AS kann weggelassen werden (1) Sie können der Datenspalte einen neuen Alias zuweisen Wählen Sie StudentName als „Studentenname“ aus dem Studenten; (2) Geben Sie der Tabelle einen Alias wähle stu.address von Student als Stu; (3) Sie können das Ergebnis einer Berechnung oder Zusammenfassung durch einen anderen, neuen Namen ersetzen. WÄHLEN SIE Telefon +1 als Tel. vom Studenten; DISTINCT-Schlüsselwort Funktion: Entfernen Sie doppelte Werte aus der SELECT-Abfrage (wenn alle zurückgegebenen Werte gleich sind, wird nur ein Datensatz zurückgegeben). Grammatik: SELECT DISTINCT Feldname1, Feldname2, ... aus Tabellenname Hinweis: Das Schlüsselwort ALL ist das Standardschlüsselwort und gibt alle Datensätze zurück. Beim Filtern doppelter Werte in mehreren Spalten wird der Filter nur ausgeführt, wenn in allen zum Filtern ausgewählten Spalten doppelte Werte vorhanden sind. SELECT DISTINCT StudentNo, Adresse des Studenten; Filtern einer einzelnen Spalte: Abfrage der Adresse in der Studententabelle WÄHLEN SIE EINE UNTERSCHIEDLICHE Adresse vom Studenten aus; Ausdrücke in SQL-Anweisungen SELECT VERSION(),100*3 als Produkt; #Gibt die MySQL-Version und die Berechnungsergebnisse zurück SELECT NOW() 'aktuelle Zeit'; #Gibt die aktuelle Zeit zurück Vermeiden Sie SQL-Rückgabeergebnisse mit ".", "*" und Klammern, die das Entwicklungssprachenprogramm beeinträchtigen SELECT VERSION() als MySQL_V,12.3*100 als Ausdruck; #Die zurückgegebenen Ergebnisse werden nicht mit dem Hintergrundentwicklungsprogramm verwechselt KONTACT SELECT CONCAT(studentName,'@.com') als E-Mail vom Studenten; Hinzufügen numerischer Typen Wählen Sie StudentNo+100 vom Studenten; Vergleichsoperatoren und Platzhalter Where-Bedingungsanweisung: Wird verwendet, um Datensätze abzurufen, die die Bedingungen in der Datentabelle erfüllen Die Suchbedingung kann aus einem oder mehreren logischen Ausdrücken bestehen und das Ergebnis ist im Allgemeinen wahr oder falsch. Zusammensetzung der Suchbedingungen: logische Operatoren, Vergleichsoperatoren #wobei bedingte Anweisung select * from student where address='Student'; #Fragen Sie die Namen der Studenten ab, deren Telefonnummern in der Studententabelle nicht null sind. Wählen Sie „StudentName“ unter den Studenten aus, bei denen die Telefonnummer nicht null ist. #Fragen Sie die Namen der Studenten ab, deren Telefonnummern in der Studententabelle leer sind. Wählen Sie „StudentName“ unter „Student“ aus, bei dem „Phone“ null ist. #Frage die gerade gelöschten Daten ab – leerer Wert, wähle „StudentName“ vom Studenten, wobei „Telefon“ = „“ ist; # BETWEEN AND arbeitet mit Zeitbereichen Logische Operatoren Vergleichsoperatoren Verwenden Sie das Schlüsselwort LIKE für die unscharfe Suche
#Fragen Sie den Namen des Studenten mit dem Nachnamen Zhang* in der Studententabelle ab. SELECT StudentName from student where studentname like '张_'; SELECT StudentName vom Studenten, wobei Studentenname wie '%丽%' ist; # IN SELECT * vom Studenten, wobei die Adresse in ('Sichuan', 'Shanghai') liegt. Beachten:
NULL
Inner Join und Selbstabfrage Wenn Sie Daten aus mehreren Tabellen abfragen müssen, können Sie den Join-Operator verwenden, um mehrere Abfragen zu implementieren. Zu den Kategorien gehören:
ORDER BY Sortierabfrage Sortieren Sie die Ergebnisse der Select-Anweisungsabfrage nach bestimmten Feldern Mit DESC (absteigende Reihenfolge) oder ASC (aufsteigende Reihenfolge) verwenden, die Standardeinstellung ist ASC. Nehmen wir als Beispiel die Daten der Fächertabelle und der Notentabelle: SELECT * vom Betreff ORDER BY classhour; #Aufsteigend SELECT * vom Betreff ORDER BY classhour desc; #Absteigend Sortieren nach mehreren Feldern: Zuerst nach dem ersten Feld sortieren, dann nach dem zweiten Feld sortieren. Wenn die Daten im ersten Feld identisch sind, sortieren Sie nach dem zweiten Feld. SELECT * aus dem Betreff ORDER BY classHour,GradeID; LIMIT Seitennummerierung LIMIT [m,] n oder LIMIT n OFFSET m Begrenzen Sie die Anzahl der von einem SELECT zurückgegebenen Zeilen. m ist der Offset der ersten zurückgegebenen Datensatzzeile n Gibt die Anzahl der Zeilen zurück Beachten:
Zum Beispiel: SELECT * FROM grade LIMIT 3; #Gibt die ersten 3 Datensätze zurück SELECT * FROM grade LIMIT 1,3; #Gibt 2~4 Datensätze zurück Gesamtzahl der Datensätze: total SELECT COUNT(subjectNO) 'Gesamtdaten' vom Betreff; Gesamtzahl der Seiten: int totalPage = total % Seitengröße ==0 ? total / Seitengröße : total / Seitengröße + 1 Unterabfragen In der WHERE-Klausel der Abfrageanweisung ist eine weitere Abfrageanweisung verschachtelt Hinweis: Das von der Unterabfrage zurückgegebene Ergebnis ist im Allgemeinen eine Sammlung. Es wird empfohlen, das Schlüsselwort IN zu verwenden Wählen Sie Betreffname aus Betreff aus wobei gradeID IN (Wählen Sie GradeID aus der Note); Aggregatfunktionen Häufig verwendete statistische Funktionen: COUNT(), SUM(), AVG(), MAX(), MIN() SELECT COUNT(StudentNo) 'Gesamtdaten' FROM student; SELECT sum(classHour) 'Gesamtzahl der Unterrichtsstunden' aus dem Betreff; SELECT AVG(classHour) 'Durchschnittliche Unterrichtsstunden' FROM Subject; SELECT MAX(classHour) 'Längste Unterrichtsstunden' FROM Subject; SELECT MIN(classHour) 'Kürzeste Unterrichtsstunden' FROM Subject; GRUPPELN NACH Verwenden des Schlüsselworts GROUP BY zum Gruppieren von Abfrageergebnissen
Nehmen wir als Beispiel den Studententisch (1) Gruppieren Sie die Studierendentabelle nach Adressen und führen Sie eine Gruppierung nach durch SELECT Adresse, COUNT(Adresse) FROM Student GROUP BY Adresse; HAVING Eine sekundäre Bedingung, die die Datensätze in der Filtergruppe erfüllen müssen (2) Gruppieren Sie die Studententabelle nach Adressen, wobei die HAVING-Bedingung erfüllt ist, wobei Adresse = 1 SELECT GROUP_CONCAT(Studentenname), COUNT(Adresse) FROM student GROUP BY Adresse HAVING COUNT(Adresse)=1; Zusammenführen UNION, UNION
Hinweis: Beim Zusammenführen zweier Tabellen muss die Anzahl der Spalten gleich sein. Wenn die Anzahl der Spalten in den beiden Tabellen unterschiedlich ist, wird der folgende Fehler gemeldet:
(1) Führen Sie die Fachtabelle und die Schülertabelle zusammen SELECT * FROM Betreff UNION SELECT * FROM Student; Wählen Sie * aus dem Fach UNION ALL Wählen Sie * aus dem Studenten; Unterabfrage EXISTIERT ——> wahr falsch EXISTS / NOT EXISTS Wenn die Bedingung der Unterabfrage erfüllt ist, wird das Ergebnis der übergeordneten Abfrage angezeigt, andernfalls wird kein Ergebnis angezeigt (1) Die Bedingung der Unterabfrage ist wahr (Grade-ID 1 bis 5 in der Grad-Tabelle existiert 1) Wählen Sie Betreffname, Noten-ID aus Betreff WO GIBT ES (AUSWÄHLEN * VON Klasse WHERE GradeID=1); oder Wählen Sie Betreffname, Noten-ID aus Betreff WO ES NICHT GIBT (AUSWÄHLEN * VON Klasse, WO Klassen-ID=999); (2) Die Bedingung der Unterabfrage ist falsch (Grade-ID 1 bis 5 existiert in der Gradtabelle 999 nicht). Wählen Sie Betreffname, Noten-ID aus Betreff WO GIBT ES (AUSWÄHLEN * VON Klasse, WO Klassen-ID=999); oder Wählen Sie Betreffname, Noten-ID aus Betreff WO ES NICHT GIBT (AUSWÄHLEN * VON Klasse WHERE GradeID=1); Unterabfrage (beliebig und alle) ANY: Wenn in der Beurteilungsbedingung ein beliebiger Wert in der Unterabfrage die Bedingung erfüllt, wird die übergeordnete Abfrage ausgeführt. Wählen Sie Betreffname, Noten-ID aus dem Betreff aus. Wo Noten-ID >=Beliebig (Wählen Sie GradeID aus Note); (2) Wenn die Bedingung nicht erfüllt ist: all subject.gradeid >= grade.gradeid, wird die übergeordnete Abfrage nicht ausgeführt. Wählen Sie Betreffname, Noten-ID aus dem Betreff aus. Wo Noten-ID >=ALLE (Wählen Sie GradeID aus Note); Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Vue verwendet die Methode in der Referenzbibliothek mit Quellcode
>>: Docker-Installation Tomcat Dubbo-Admin-Instanz-Kenntnisse
Inhaltsverzeichnis 1. Systemumgebung 2. Betriebsa...
1. Geschäftshintergrund Die Verwendung einer Mask...
Inhaltsverzeichnis Docker-Installation Nvidia-Doc...
Inhaltsverzeichnis umask Umask-Nutzung Prinzip 1....
Inhaltsverzeichnis 1. Implementierungsprinzip des...
Dieser Artikel stellt nichts im Zusammenhang mit ...
1. Im Web unterstützte Bildformate: GIF: kann 256...
1. WebDesignerWall 2. Veerles Blog 3. Lernprogram...
Die folgenden CSS-Klassennamen, die mit einer Zah...
Es gibt eine andere Baumstruktur Javascript-Objek...
HTML Code: Code kopieren Der Code lautet wie folgt...
Was ist eine HTML-Datei? HTML steht für Hyper Text...
Für die Installation von Docker auf CentOS muss d...
Test: Chrome v80.0.3987.122 ist normal Es gibt zw...
Inhaltsverzeichnis Zweck npm init und package.jso...