MySQL SELECT-Anweisung mit Beispielen
Was ist eine SELECT-Abfrage? MySQL?
SELECT QUERY wird verwendet, um die Daten von abzurufen MySQL Datenbank. Datenbanken speichern Daten fรผr den spรคteren Abruf. Der Zweck von MySQL Select dient dazu, aus den Datenbanktabellen eine oder mehrere Zeilen zurรผckzugeben, die einem bestimmten Kriterium entsprechen. Die Auswahlabfrage kann in Skriptsprachen wie PHP oder Ruby verwendet oder รผber die Eingabeaufforderung ausgefรผhrt werden.
Syntax der SQL SELECT-Anweisung
Es ist der am hรคufigsten verwendete SQL-Befehl und hat die folgende allgemeine Syntax
SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
HIER KLICKEN
- SELECT ist das SQL-Schlรผsselwort, das der Datenbank mitteilt, dass Sie Daten abrufen mรถchten.
- [DEUTLICH | ALLE] sind optionale Schlรผsselwรถrter, die zur Feinabstimmung der von der SQL-SELECT-Anweisung zurรผckgegebenen Ergebnisse verwendet werden kรถnnen. Wenn nichts angegeben ist, wird ALL als Standard angenommen.
- {*| [fieldExpression [AS newName]} mindestens ein Teil muss angegeben werden, โ*โ wรคhlt alle Felder aus dem angegebenen Tabellennamen aus, fieldExpression fรผhrt einige Berechnungen an den angegebenen Feldern aus, wie z. B. das Addieren von Zahlen oder das Zusammenfรผgen zweier Zeichenfolgenfelder zu einem.
- AB tableName ist obligatorisch und muss mindestens eine Tabelle enthalten. Mehrere Tabellen mรผssen durch Kommas getrennt oder mit dem Schlรผsselwort JOIN verbunden werden.
- WO Bedingung ist optional und kann verwendet werden, um Kriterien in der von der Abfrage zurรผckgegebenen Ergebnismenge anzugeben.
- GRUPPIERE NACH wird verwendet, um Datensรคtze zusammenzustellen, die die gleichen Feldwerte haben.
- HABEN Bedingung wird verwendet, um Kriterien anzugeben, wenn mit dem Schlรผsselwort GROUP BY gearbeitet wird.
- SORTIEREN NACH wird verwendet, um die Sortierreihenfolge der Ergebnismenge anzugeben.
*
Das Sternsymbol wird verwendet, um alle Spalten in der Tabelle auszuwรคhlen. Ein Beispiel fรผr eine einfache SELECT-Anweisung sieht wie unten gezeigt aus.
SELECT * FROM `members`;
Die obige Anweisung wรคhlt alle Felder aus der Mitgliedertabelle aus. Das Semikolon ist eine Anweisung zum Beenden. Es ist nicht zwingend erforderlich, wird aber als bewรคhrte Vorgehensweise angesehen, Ihre Aussagen so zu beenden.
Praxisbeispiele
Zum Herunterladen klicken Fรผr praktische Beispiele wird die myflix-DB verwendet.
Sie kรถnnen lernen, die .sql-Datei in zu importieren MySQL Werkbank
Die Beispiele werden an den folgenden beiden Tabellen durchgefรผhrt
Tabelle 1: Mitglieder Tabelle
| Mitgliedsnummer | ganze Namen | Geschlecht | Geburtsdatum | physikalische Adresse | Anschrift | Kontaktnummer | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | Weiblich | 21-07-1980 | Erstes Straรengrundstรผck Nr. 4 | Private Tasche | 0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | Weiblich | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 3 | Robert Phil | Mรคnnlich | 12-07-1989 | 3. Straรe 34 | NULL | 12345 | rm@tstreet.com |
| 4 | Gloria Williams | Weiblich | 14-02-1984 | 2. Straรe 23 | NULL | NULL | NULL |
Tabelle 2: Filme Tabelle
| movie_id | Titel | Regisseur | Jahr_verรถffentlicht | Kategorie ID |
|---|---|---|---|---|
| 1 | Fluch der Karibik 4 | Rob Marshall | 2011 | 1 |
| 2 | Sarah Marshal vergessen | Nicholas Stoller | 2008 | 2 |
| 3 | X-Men | NULL | 2008 | NULL |
| 4 | Codename Schwarz | Edgar Jimz | 2010 | NULL |
| 5 | Papas kleine Mรคdchen | NULL | 2007 | 8 |
| 6 | Engel und Dรคmonen | NULL | 2007 | 6 |
| 7 | Davinci-Code | NULL | 2007 | 6 |
| 9 | Honey Mooner | Johann Schulz | 2005 | 8 |
| 16 | 67 % schuldig | NULL | 2012 | NULL |
Mitgliederliste erhalten
Nehmen wir an, wir mรถchten eine Liste aller registrierten Bibliotheksmitglieder aus unserer Datenbank abrufen. Dazu verwenden wir das unten gezeigte Skript.
SELECT * FROM `members`;
Ausfรผhren des obigen Skripts in MySQL Workbench erzeugt die folgenden Ergebnisse.
| Mitgliedsnummer | ganze Namen | Geschlecht | Geburtsdatum | physikalische Adresse | Anschrift | Kontaktnummer | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | Weiblich | 21-07-1980 | Erstes Straรengrundstรผck Nr. 4 | Private Tasche | 0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | Weiblich | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 3 | Robert Phil | Mรคnnlich | 12-07-1989 | 3. Straรe 34 | NULL | 12345 | rm@tstreet.com |
| 4 | Gloria Williams | Weiblich | 14-02-1984 | 2. Straรe 23 | NULL | NULL | NULL |
Unsere obige Abfrage hat alle Zeilen und Spalten aus der Mitgliedertabelle zurรผckgegeben.
Nehmen wir an, wir mรถchten nur die Felder โvollstรคndiger Nameโ, โGeschlechtโ, โphysische Adresseโ und โE-Mailโ abrufen. Das folgende Skript hilft uns dabei.
SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;
Ausfรผhren des obigen Skripts in MySQL Workbench erzeugt die folgenden Ergebnisse.
| ganze Namen | Geschlecht | physikalische Adresse | |
|---|---|---|---|
| Janet Jones | Weiblich | Erstes Straรengrundstรผck Nr. 4 | janetjones@yagoo.cm |
| Janet Smith Jones | Weiblich | Melrose 123 | jj@fstreet.com |
| Robert Phil | Mรคnnlich | 3. Straรe 34 | rm@tstreet.com |
| Gloria Williams | Weiblich | 2. Straรe 23 | NULL |
Filmliste abrufen
Denken Sie daran, dass wir in unserer obigen Diskussion Ausdrรผcke erwรคhnt haben, die in SELECT-Anweisungen verwendet wurden. Nehmen wir an, wir mรถchten eine Liste von Filmen aus unserer Datenbank abrufen. Wir mรถchten den Filmtitel und den Namen des Regisseurs in einem Feld haben. Der Name des Regisseurs sollte in Klammern stehen. Wir mรถchten auch das Jahr ermitteln, in dem der Film verรถffentlicht wurde. Das folgende Skript hilft uns dabei.
SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;
HIER KLICKEN
- Der Concat () MySQL Die Funktion wird verwendet, um die Spaltenwerte miteinander zu verbinden.
- Die Zeile โConcat (`title`, ' (', `director`, ')') ruft den Titel ab, fรผgt eine รถffnende Klammer hinzu, gefolgt vom Namen des Regisseurs und fรผgt dann die schlieรende Klammer hinzu.
Zeichenfolgenteile werden in der Funktion Concat() durch Kommas getrennt.
Ausfรผhren des obigen Skripts in MySQL Workbench erzeugt den folgenden Ergebnissatz.
| Concat(`title`, ' (', `director`, ')') | Jahr_verรถffentlicht |
|---|---|
| Fluch der Karibik 4 (Rob Marshall) | 2011 |
| Sarah Marshal (Nicholas Stoller) vergessen | 2008 |
| NULL | 2008 |
| Codename Black (Edgar Jimz) | 2010 |
| NULL | 2007 |
| NULL | 2007 |
| NULL | 2007 |
| Honey Mooners (John Schultz) | 2005 |
| NULL | 2012 |
Alias-Feldnamen
Das obige Beispiel hat den Verkettungscode als Feldnamen fรผr unsere Ergebnisse zurรผckgegeben. Angenommen, wir mรถchten in unserem Ergebnissatz einen aussagekrรคftigeren Feldnamen verwenden. Dazu wรผrden wir den Spaltenaliasnamen verwenden. Im Folgenden finden Sie die grundlegende Syntax fรผr den Spaltenaliasnamen
SELECT `column_name|value|expression` [AS] `alias_name`;
HIER KLICKEN
- โSELECT ` Spaltenname|Wert|Ausdruck `โ ist die regulรคre SELECT-Anweisung, die ein Spaltenname, ein Wert oder ein Ausdruck sein kann.
- "[ALS]" ist das optionale Schlรผsselwort vor dem Aliasnamen, das angibt, als welcher Ausdruck, Wert oder Feldname zurรผckgegeben wird.
- โ`Aliasname`โ ist der Aliasname, den wir in unserer Ergebnismenge als Feldnamen zurรผckgeben mรถchten.
Die obige Abfrage mit einem aussagekrรคftigeren Spaltennamen
SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;
Wir erhalten das folgende Ergebnis
| Konkat | Jahr_verรถffentlicht |
|---|---|
| Fluch der Karibik 4 (Rob Marshall) | 2011 |
| Sarah Marshal (Nicholas Stoller) vergessen | 2008 |
| NULL | 2008 |
| Codename Black (Edgar Jimz) | 2010 |
| NULL | 2007 |
| NULL | 2007 |
| NULL | 2007 |
| Honey Mooners (John Schultz) | 2005 |
| NULL | 2012 |
Abrufen einer Mitgliederliste mit Angabe des Geburtsjahres
Angenommen, wir mรถchten eine Liste aller Mitglieder mit Mitgliedsnummer, vollstรคndigem Namen und Geburtsjahr erhalten. Dann kรถnnen wir die Zeichenfolgenfunktion LEFT verwenden, um das Geburtsjahr aus dem Feld โGeburtsdatumโ zu extrahieren. Das unten gezeigte Skript hilft uns dabei.
SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;
HIER KLICKEN
- โLINKS(`Geburtsdatum`,4)โ die LEFT-String-Funktion akzeptiert das Geburtsdatum als Parameter und gibt nur 4 Zeichen von links zurรผck.
- โAS `year_of_birth`โ ist das Spaltenaliasname das wird in unseren Ergebnissen zurรผckgegeben. Beachten Sie das Das Schlรผsselwort AS ist optional, kรถnnen Sie es weglassen und die Abfrage funktioniert weiterhin.
Ausfรผhren der obigen Abfrage in MySQL Workbench gegen die myflixdb liefert uns die unten gezeigten Ergebnisse.
| Mitgliedsnummer | ganze Namen | Geburtsjahr |
|---|---|---|
| 1 | Janet Jones | 1980 |
| 2 | Janet Smith Jones | 1980 |
| 3 | Robert Phil | 1989 |
| 4 | Gloria Williams | 1984 |
SQL verwenden MySQL Werkbank
Wir werden es jetzt verwenden MySQL Workbench, um das Skript zu generieren, das alle Feldnamen aus unserer Kategorientabelle anzeigt.
1. Klicken Sie mit der rechten Maustaste auf die Kategorientabelle. Klicken Sie auf โZeilen auswรคhlen โ 1000 begrenzenโ
2. MySQL Workbench erstellt automatisch eine SQL-Abfrage und fรผgt sie in den Editor ein.
3. Die Abfrageergebnisse werden angezeigt
Beachten Sie, dass wir die SELECT-Anweisung nicht selbst geschrieben haben. MySQL Workbench hat es fรผr uns generiert.
Warum den SQL-Befehl SELECT verwenden, wenn ja? MySQL Werkbank?
Jetzt fragen Sie sich vielleicht, warum Sie den SQL-SELECT-Befehl zum Abfragen von Daten aus der Datenbank lernen sollten, wenn Sie einfach ein Tool wie verwenden kรถnnen MySQL Workbenchs, um ohne Kenntnisse der SQL-Sprache die gleichen Ergebnisse zu erzielen. Natรผrlich ist das mรถglich, aber Erlernen der Verwendung des SELECT-Befehls gibt dir mehr Flexibilitรคt und Smartgerรคte App รผber deine SQL SELECT-Anweisungen.
MySQL Werkbank fรคllt in die Kategorie โAbfrage nach Beispielโ QBE-Tools. Es soll dazu beitragen, SQL-Anweisungen schneller zu generieren und so die Benutzerproduktivitรคt zu steigern.
Das Erlernen des SQL-Befehls SELECT kann Ihnen das Erstellen ermรถglichen komplexe Abfragen die nicht einfach mit Query-by-Example-Dienstprogrammen wie z. B. generiert werden kรถnnen MySQL Werkbank.
Um die Produktivitรคt zu verbessern, kรถnnen Sie Generieren Sie den Code mit MySQL Werkbank dann anpassen es erfรผllen Sie Ihre Anforderungen. Dies kann nur passieren, wenn Sie verstehen, wie die SQL-Anweisungen funktionieren!
Zusammenfassung
- Das SQL-Schlรผsselwort SELECT wird zum Abfragen von Daten aus der Datenbank verwendet und ist der am hรคufigsten verwendete Befehl.
- Die einfachste Form hat die Syntax โSELECT * FROM tableName;โ
- Ausdrรผcke kรถnnen auch in der Select-Anweisung verwendet werden. Beispiel โMenge + Preis AUS Verkรคufen auswรคhlenโ
- Der SQL-Befehl SELECT kann auch andere optionale Parameter wie WHERE, GROUP BY, HAVING, ORDER BY haben. Diese werden spรคter besprochen.
- MySQL Workbench kann dabei helfen, SQL-Anweisungen zu entwickeln, sie auszufรผhren und das Ausgabeergebnis im selben Fenster zu erzeugen.



