sql >> Database >  >> RDS >> Mysql

Meest voorkomende MySQL-query's

MySQL-query's worden meestal één keer geschreven en vervolgens verpakt in klassenfuncties om herhaling van code te minimaliseren. Dit artikel geeft een overzicht van de 10 zoekopdrachten die het meest worden gebruikt in MySQL.

Een query is in wezen een verzoek om informatie die moet worden opgehaald uit een databasetabel of een combinatie van tabellen. Er zijn veel querytalen die kunnen worden geschreven om een ​​reeks eenvoudige tot complexe query's uit te voeren. Query's filteren bepaalde criteria op basis van de specifieke gegevens waarnaar wordt gevraagd. Het kan ook gegevensbeheertaken automatiseren en berekeningen uitvoeren. Deze gids bespreekt de 10 meest voorkomende MySQL-query's.

Laten we deze demo-databases gebruiken om ons te helpen beter te begrijpen hoe elke zoekopdracht werkt.

Werknemer-ID Naam Titel
1002 Webster W. Uitvoerder
1003 Lizzy S. Beheerder
1004 Oliver T. Software-ingenieur
Werknemer-ID Afdeling Leeftijd
1002 HR 36
1003 Verkoop 21
1004 IT 39

SELECTEER alles 

Een eenvoudige SELECT-query wordt gebruikt om alle gegevens uit een database op te halen en terug te sturen. De syntaxis kan als zodanig worden geschreven;

Code:

SELECT *
FROM Employees;

Resultaat:

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

Om alle beschikbare kolommen in de tabel te selecteren, moet u "*" gebruiken om aan te geven dat u alle mogelijke informatie moet retourneren. Geef vervolgens het trefwoord FROM op om gegevens uit de databasetabel te ontvangen. Denk er tot slot altijd aan om uw verklaring af te sluiten met een puntkomma “;” om het verzoek correct af te ronden.

Selecteer kolom

Om gegevens uit specifieke kolom(men) en niet alles te halen, hoeft u alleen maar de veldnaam op te geven in plaats van het sterretje(*) te gebruiken.

Code:

SELECT Title
FROM Employees;

Resultaat:

Title
Executive
Manager
Software Engineer

Wanneer u meerdere kolommen uit een database selecteert, moeten deze worden gescheiden door een komma. Vind ik leuk;

SELECT Title, Name
FROM Employees;

WHERE-clausule

Bij gebruik van de WHERE-component in een SELECT-query, worden gegevensrecords gefilterd en worden vervolgens de records geëxtraheerd die voldoen aan de voorwaarde(n) als resultaat.

Code: 

SELECT *
FROM Employees
WHERE EmployeeID = 1004 ;

Resultaten: 

1004       Oliver T.          Software Engineer 

De WHERE-component kan meer dan één voorwaarde hebben die kan worden gescheiden door het EN-sleutelwoord te gebruiken.

TABEL MAKEN 

Deze query kan worden gebruikt om een ​​nieuwe tabel te genereren met de door u gewenste kolommen. Wanneer u kolomnamen toevoegt, moet u hun gegevenstype specificeren.

Code:

CREATE TABLE EmployeeInfo (

EmployeeId INT,
Department VARCHAR(25),
Age NUMBER

);

Verwachte tabelresultaten:

EmployeeID
Department
Department
NULL
NULL
NULL

Nadat u de opdracht CREATE TABLE hebt uitgevoerd en deze hebt gevuld met kolomtitels, maakt de bovenstaande query een tabel "EmployeeInfo" in de database. In wezen retourneert elke kolom NULL omdat we geen bepaalde waarde hebben ingevoegd. Dat leidt ons naar onze volgende vraag, INSERT INTO.

INVOER IN zoekopdracht 

Dit is de meest voorkomende query om waarden in een of meer rijen met nieuwe records in een tabel in te voegen. We kunnen de tabel EmployeeInfo vullen met enkele voorbeeldgegevens;

Code: 

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

Tabelresultaten:

EmployeeInfo

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

Bij het schrijven van een INSERT INTO-query moet de opdracht VALUES deel uitmaken van de volledige instructie.

UPDATE-query

Dit trefwoord wordt gebruikt om een ​​of meer bestaande kolommen in een tabel te wijzigen. Als u deze query gebruikt, worden tabelrecords bijgewerkt met nieuwe gegevens op basis van een bepaalde voorwaarde.

EmployeeInfo

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

Code: 

UPDATE EmployeeInfo
SET Age = 22
WHERE EmployeeID = 1003;

Tabelresultaten: 

EmployeeInfo

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

Gebruik na het UPDATE-commando het trefwoord SET om altijd aan te geven welke kolom(men) u wilt wijzigen en geef vervolgens precies aan WAAR u de bijgewerkte gegevens wilt toepassen.

VERWIJDEREN UIT zoekopdracht

Als u records uit een tabel wilt verwijderen op basis van een of meerdere voorwaarden, moet u de instructie DELETE FROM gebruiken. Bij het gebruik van voorwaarden wordt het aantal rijen dat door de query wordt beïnvloed, beperkt.

Code: 

DELETE FROM Employees
WHERE Name = ‘Lizzy’;

Tabelresultaten:

Werknemers

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

Zoals eerder behandeld in het artikel; het gebruik van de WHERE-voorwaarde bepaalt precies waar u verzoekt om gegevens uit te filteren en uit te voeren. Die vraag is om elk record uit de tabel met werknemers te verwijderen dat overeenkomt met de naam 'Lizzy'.

GROUP BY, HAVING-clausule gebruiken 

De GROUP BY-component wordt meestal altijd gebruikt bij aggregatiefuncties. Als u dit zoekwoord gebruikt, wordt de resultaatset gegroepeerd in een of meer kolommen.

Het HAVING-sleutelwoord wordt gebruikt om die resultatenset te filteren. In het ideale geval zou je denken dat in plaats daarvan een WHERE-clausule zou worden ingevoerd, maar de HAVING-clausule introduceert een voorwaarde voor aggregaties.

EmployeeInfo

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;

Resultaten:

COUNT(Age)  EmployeeID
39   1004
36   1002  

Totale functies (SUM, AVG &COUNT)

Er zijn drie zeer algemene aggregatiefuncties waarmee gegevens uit een tabel kunnen worden geïnterpreteerd of berekeningen kunnen worden uitgevoerd.

  • COUNT:retourneert het aantal rijen dat overeenkomt met een opgegeven kolom.
  • AVG:  retourneert de gemiddelde waarde van een kolom
  • SUM:retourneert de som van alle waarden in een geselecteerde kolom.

Medewerkerinfo

Werknemer-ID Afdeling Leeftijd
1002 HR 36
1003 Verkoop 21
1004 IT 39

Code voor COUNT:

SELECT 
COUNT(Department)
FROM EmployeeInfo;

Resultaten:

COUNT(Department):
3

Code voor AVG:

SELECT AVG(Age)
FROM EmployeeInfo;

Resultaten:

AVG(Age):
32

Code voor SUM

SELECT SUM(Age)
FROM EmployeeInfo;

Resultaten:

SUM(Age):
96

MELDT AAN

Joins worden gebruikt om rijen van ten minste twee tabellen samen te brengen, op basis van een gerelateerde kolom tussen de tabellen. De meest voorkomende oefenjoins zijn INNER, FULL en LEFT.

  • INNER Join – combineert de rijen van verschillende tabellen als de join-voorwaarde waar is.
  • VOLLEDIGE samenvoeging –  retourneert alle rijen wanneer er een overeenkomst is in linker- of rechtertabelrecords.
  • LEFT Join – haalt alle rijen op uit de linkertabel en de overeenkomende records uit de rechtertabel.

Werknemers – Tabel #1(Links)

Werknemer-ID Naam Titel
1002 Webster W. Uitvoerder 
1003 Lizzy S. Beheerder
1004 Oliver T. Software-engineer 

EmployeeInfo – Tabel #2(Rechts)

Werknemer-ID Afdeling Leeftijd
1002 HR 36
1003 Verkoop 21
1004 IT 39

INNER JOIN-code: 

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

Resultaten:

Title          Department
Executive      HR     
Manager        Sales     
Software       Engineer  IT

VOLLEDIGE JOIN-code:

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

Resultaten:

Pakt alle rijen en kolommen van beide tabellen, inclusief dubbele, en combineert ze tot één hele tabel.

LEFT JOIN-code:

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

Resultaten:

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

De kolom "EmployeeID" in de tabel "Employee" verwijst naar de "EmployeeID" in de tabel "EmployeeInfo", in wezen dat de kolom EmployeeID de relatie tussen beide tabellen is. Joins kunnen lastig worden, maar tegelijkertijd uiterst nuttig bij het doorzoeken van een grotere database.

De gebruiker en de database kunnen succesvol informatie uitwisselen door in wezen dezelfde taal te spreken. De bovenstaande vragen worden het meest gebruikt door zowel beginners als experts. Het schrijven van MySQL-query's wordt beschouwd als de meest voorkomende functie binnen het domein van databasebeheer.

Dit artikel is in april 2022 beoordeeld en bijgewerkt door Kelsey Perkins.


  1. Awesome 24 Concurrent Manager Sollicitatievragen

  2. FLOOR() Functie in Oracle

  3. Hoe te bestellen op datum in MySQL

  4. C#:Oracle Data Type Equivalentie met OracleDbType