Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Die häufigsten MySQL-Abfragen

MySQL-Abfragen werden normalerweise einmal geschrieben und dann in Klassenfunktionen verpackt, um Codewiederholungen zu minimieren. Dieser Artikel listet die 10 in MySQL am häufigsten verwendeten Abfragen auf.

Eine Abfrage ist im Wesentlichen eine Anforderung von Informationen, die aus einer Datenbanktabelle oder einer Kombination von Tabellen abgerufen werden sollen. Es gibt viele Abfragesprachen, die geschrieben werden können, um eine Reihe einfacher bis komplexer Abfragen durchzuführen. Abfragen filtern bestimmte Kriterien basierend auf den spezifischen Daten, die gesucht werden sollen. Es kann auch Datenverwaltungsaufgaben automatisieren und Berechnungen durchführen. Dieser Leitfaden behandelt die 10 häufigsten MySQL-Abfragen.

Lassen Sie uns diese Demo-Datenbanken verwenden, um besser zu verstehen, wie jede Abfrage funktioniert.

Mitarbeiter-ID Name Titel
1002 Webster W. Führungskraft
1003 Lizzy S. Manager
1004 Oliver T. Softwareingenieur
Mitarbeiter-ID Abteilung Alter
1002 HR 36
1003 Verkäufe 21
1004 IT 39

Alle auswählen 

Eine einfache SELECT-Abfrage wird verwendet, um alle Daten aus einer Datenbank abzurufen und zurückzusenden. Seine Syntax kann wie folgt geschrieben werden:

Code:

SELECT *
FROM Employees;

Ergebnis:

1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer

Um alle in der Tabelle verfügbaren Spalten auszuwählen, müssen Sie mit „*“ angeben, dass Sie alle möglichen Informationen zurückgeben möchten. Geben Sie zweitens das Schlüsselwort FROM an, um Daten aus der Datenbanktabelle zu erhalten. Denken Sie zuletzt immer daran, Ihre Anweisung mit einem Semikolon „;“ zu beenden. um die Anfrage ordnungsgemäß abzuschließen.

Spalte auswählen

Um Daten aus bestimmten Spalten und nicht aus allen zu erhalten, geben Sie einfach nur den Feldnamen an, anstatt das Sternchen (*) zu verwenden.

Code:

SELECT Title
FROM Employees;

Ergebnis:

Title
Executive
Manager
Software Engineer

Bei der Auswahl mehrerer Spalten aus einer Datenbank sollten diese durch ein Komma getrennt werden. So;

SELECT Title, Name
FROM Employees;

WHERE-Klausel

Wenn Sie die WHERE-Klausel in einer SELECT-Abfrage verwenden, werden Datensätze gefiltert und dann die Datensätze extrahiert, die der/den Bedingung(en) als Ergebnis entsprechen.

Code: 

SELECT *
FROM Employees
WHERE EmployeeID = 1004 ;

Ergebnisse: 

1004       Oliver T.          Software Engineer 

Die WHERE-Klausel kann mehr als eine Bedingung haben, die durch das Schlüsselwort AND getrennt werden kann.

Tabelle ERSTELLEN 

Diese Abfrage kann verwendet werden, um eine neue Tabelle mit Ihrer bevorzugten Spaltenauswahl zu generieren. Achten Sie beim Hinzufügen von Spaltennamen darauf, deren Datentyp anzugeben.

Code:

CREATE TABLE EmployeeInfo (

EmployeeId INT,
Department VARCHAR(25),
Age NUMBER

);

Erwartete Tabellenergebnisse:

EmployeeID
Department
Department
NULL
NULL
NULL

Nachdem Sie den CREATE TABLE-Befehl ausgeführt und mit Spaltentiteln gefüllt haben, erstellt die obige Abfrage eine „EmployeeInfo“-Tabelle in der Datenbank. Im Wesentlichen gibt jede Spalte NULL zurück, da wir keinen bestimmten Wert eingefügt haben. Das führt uns zu unserer nächsten Abfrage, INSERT INTO.

INSERT INTO Query 

Dies ist die häufigste Abfrage zum Einfügen von Werten in eine oder mehrere Zeilen neuer Datensätze in eine Tabelle. Wir können die EmployeeInfo-Tabelle mit einigen Beispieldaten füllen;

Code: 

INSERT INTO EmployeeInfo (EmployeeID,Department,Age)
VALUES 
(1002, HR , 46),
(1003, Finance , 28),
(1004, IT , 39);

Tabellenergebnisse:

MitarbeiterInfo

EmployeeID
Department
Age
1002
HR
46
1003
Finance
28
1004
IT
39

Beim Schreiben einer INSERT INTO-Abfrage muss der VALUES-Befehl Teil der vollständigen Anweisung sein.

UPDATE-Abfrage

Dieses Schlüsselwort wird verwendet, um eine oder mehrere vorhandene Spalten in einer Tabelle zu ändern. Die Verwendung dieser Abfrage aktualisiert Tabellendatensätze mit neuen Daten basierend auf einer bestimmten Bedingung.

MitarbeiterInfo

EmployeeID
Department
Age
1002
HR
36
1003
Sales
21
1004
IT
39

Code: 

UPDATE EmployeeInfo
SET Age = 22
WHERE EmployeeID = 1003;

Tabellenergebnisse: 

MitarbeiterInfo

EmployeeID
Department
Age
1002
HR
36
1003
Sales
22
1004
IT
39

Verwenden Sie nach dem UPDATE-Befehl das Schlüsselwort SET, um immer anzugeben, welche Spalte(n) Sie ändern möchten, und geben Sie dann genau an, WO die aktualisierten Daten angewendet werden sollen.

AUS Abfrage LÖSCHEN

Um Datensätze basierend auf einer oder mehreren Bedingungen aus einer Tabelle zu entfernen, müssten Sie die DELETE FROM-Anweisung verwenden. Bei der Verwendung von Bedingungen wird die Anzahl der Zeilen begrenzt, die von der Abfrage betroffen sind.

Code: 

DELETE FROM Employees
WHERE Name = ‘Lizzy’;

Tabellenergebnisse:

Mitarbeiter

EmployeeID
Name
Title
1002
Webster W.
Executive 
1004
Oliver T.
Software Engineer 

Wie bereits im Artikel behandelt; Die Verwendung der WHERE-Bedingung bestimmt genau, wo die Daten herausgefiltert und ausgeführt werden sollen. Diese Abfrage soll jeden Datensatz aus der Mitarbeitertabelle löschen, der mit dem Namen „Lizzy“ übereinstimmt.

GRUPPE BY, HAVING-Klausel verwenden 

Die GROUP BY-Klausel wird meistens immer mit Aggregatfunktionen verwendet. Mit diesem Schlüsselwort wird die Ergebnismenge nach einer oder mehreren Spalten gruppiert.

Das HAVING-Schlüsselwort wird verwendet, um diese Ergebnismenge zu filtern. Idealerweise würden Sie denken, dass stattdessen eine WHERE-Klausel eingefügt würde, die HAVING-Klausel führt jedoch eine Bedingung für Aggregationen ein.

MitarbeiterInfo

EmployeeID
Department
Age
1002
HR
36
1003
Sales
21
1004
IT
39

Code:

SELECT COUNT(Age), EmployeeID
FROM EmployeeInfo
GROUP BY EmployeeID
HAVING COUNT(Age) > 21;

Ergebnisse:

COUNT(Age)  EmployeeID
39   1004
36   1002  

Aggregatfunktionen (SUM, AVG &COUNT)

Es gibt drei sehr verbreitete Aggregatfunktionen, mit denen Daten aus einer Tabelle interpretiert oder Berechnungen ausgeführt werden können.

  • COUNT:gibt die Anzahl der Zeilen zurück, die mit einer angegebenen Spalte übereinstimmen.
  • AVG:  gibt den Durchschnittswert einer Spalte zurück
  • SUMME:gibt die Summe aller Werte in einer ausgewählten Spalte zurück.

Mitarbeiterinfo

Mitarbeiter-ID Abteilung Alter
1002 HR 36
1003 Verkäufe 21
1004 IT 39

Code für COUNT:

SELECT 
COUNT(Department)
FROM EmployeeInfo;

Ergebnisse:

COUNT(Department):
3

Code für AVG:

SELECT AVG(Age)
FROM EmployeeInfo;

Ergebnisse:

AVG(Age):
32

Code für SUMME

SELECT SUM(Age)
FROM EmployeeInfo;

Ergebnisse:

SUM(Age):
96

MITGLIED

Joins werden verwendet, um Zeilen aus mindestens zwei Tabellen zusammenzuführen, basierend auf einer verwandten Spalte zwischen den Tabellen. Die gebräuchlichsten Joins sind INNER, FULL und LEFT.

  • INNER Join – kombiniert die Zeilen aus verschiedenen Tabellen, wenn die Join-Bedingung wahr ist.
  • FULL Join – gibt alle Zeilen zurück, wenn es eine Übereinstimmung in linken oder rechten Tabellendatensätzen gibt.
  • LEFT Join – ruft alle Zeilen aus der linken Tabelle und die übereinstimmenden Datensätze aus der rechten Tabelle ab.

Mitarbeiter – Tabelle Nr. 1 (links)

Mitarbeiter-ID Name Titel
1002 Webster W. Führungskraft 
1003 Lizzy S. Manager
1004 Oliver T. Softwareingenieur 

EmployeeInfo – Tabelle Nr. 2 (rechts)

Mitarbeiter-ID Abteilung Alter
1002 HR 36
1003 Verkäufe 21
1004 IT 39

INNER JOIN-Code: 

SELECT Employees.Title, EmployeeInfo.Department
FROM Employees 
INNER JOIN EmployeeInfo 
ON Employees.EmployeeID = Employees.EmployeeID;

Ergebnisse:

Title          Department
Executive      HR     
Manager        Sales     
Software       Engineer  IT

VOLLSTÄNDIGER JOIN-Code:

SELECT * 
FROM Employees  
FULL JOIN EmployeeInfo  
ON Employees.EmployeeID = Employees.EmployeeID;

Ergebnisse:

Nimmt alle Zeilen und Spalten aus beiden Tabellen, einschließlich Duplikaten, und kombiniert sie zu einer ganzen Tabelle.

LEFT JOIN-Code:

SELECT Employees.Name, EmployeeInfo.Age
FROM Employees  
LEFT JOIN EmployeeInfo  
ON Employees.EmployeeID = Employees.EmployeeID;

Ergebnisse:

Name              Age
Webster W.        36    
Lizzy S.          21   
Oliver T.         39

Die Spalte „EmployeeID“ in der Tabelle „Employee“ bezieht sich auf die „EmployeeID“ in der Tabelle „EmployeeInfo“, was im Wesentlichen besagt, dass die Spalte „EmployeeID“ die Beziehung zwischen beiden Tabellen darstellt. Verknüpfungen können knifflig werden, aber gleichzeitig äußerst hilfreich beim Sortieren einer größeren Datenbank.

Der Benutzer und die Datenbank sind in der Lage, Informationen erfolgreich auszutauschen, indem sie im Wesentlichen die gleiche Sprache sprechen. Die oben aufgeführten Abfragen werden sowohl von Anfängern als auch von Experten am häufigsten verwendet. Das Schreiben von MySQL-Abfragen gilt als die häufigste Funktion im Bereich der Datenbankverwaltung.

Dieser Artikel wurde im April 2022 von Kelsey Perkins überprüft und aktualisiert.