Šiame įraše aptarsime SQL komandų pagrindus su trumpais ir lengvai suprantamais pavyzdžiais.
Šis SQL komandų sąrašas yra tas, kurį greičiausiai naudosite, todėl gana gerai su jais susipažinkite.
Kiekvienai SQL komandai pateikiamas aprašas ir kodo fragmento pavyzdys.
SQL sakinius galima sugrupuoti į skirtingas kategorijas:
Šiame įraše aptarsime DDL, DML ir DQL komandas.
Pirmas dalykas, kurį turime padaryti dirbdami su SQL, yra sukurti duomenų bazę. CREATE DATABASE
pareiškimas daro būtent tai.
Pavyzdys:
CREATE DATABASE testDB
CREATE TABLE
sakinys sukuria naują lentelę duomenų bazėje.
Pavyzdys:
CREATE TABLE Employees (
EmployeeID int,
FirstName varchar(255),
LastName varchar(255),
Department varchar(255) );
INSERT INTO
sakinys į lentelę įterpia naujas duomenų eilutes
Pavyzdys:
INSERT INTO Employees (FirstName, LastName, Department) VALUES ('Sam', 'Burger', 'IT');
SELECT
yra viena iš pagrindinių ir dažniausiai naudojamų SQL komandų. Ji parenka duomenis iš duomenų bazės ir pateikia rezultatų lentelę, vadinamą rezultatų rinkiniu.
Pavyzdys:
SELECT firstName, lastName FROM Employees;
SELECT
komanda, kai naudojama su žvaigždute *
operatorius, pasirenka visi įrašai iš nurodytos lentelės.
Pavyzdys:
SELECT * FROM Employees
SELECT DISTINCT
pateikia tik skirtingus duomenis; t., neapima pasikartojančių įrašų.
Pavyzdys:
SELECT DISTINCT Department FROM Employees;
SELECT INTO
teiginys iš lentelės parenka nurodytus duomenis ir nukopijuoja juos į kitą lentelę.
Pavyzdys:
SELECT firstName, entryGraduated INTO StudentAlumni FROM Students;
„SELECT TOP“ nurodo maksimalų duomenų įrašų skaičių ar procentą, kurį reikia grąžinti rezultatų rinkinyje.
SELECT TOP 50 PERCENT * FROM Customers;
WHERE
sąlyga naudojama rezultatams filtruoti pagal nurodytą sąlygą.
Pavyzdys:
SELECT * FROM Employees WHERE department = 'IT';
GROUP BY
komanda sutvarko identiškus duomenis iš skirtingų eilučių į grupes ir taip sukuria apibendrinančias eiles.
Pavyzdys:
SELECT COUNT(Department), Department FROM Employees GROUP BY Department;
HAVING
sąlyga atlieka tą patį kaip ir WHERE
sąlyga, bet skirtumas yra tas, kad HAVING
veikia tik su visuminėmis funkcijomis. Panašiai WHERE
sąlyga neveikia suvestinėmis funkcijomis.
Pavyzdys:
SELECT COUNT(Department), Department FROM Employees GROUP BY Department HAVING COUNT(Department) > 2;
IN
operatorius įtraukia kelias reikšmes į WHERE sąlygą.
Pavyzdys:
SELECT * FROM Employees WHERE Department IN ('IT', 'Graphics', 'Marketing');
BETWEEN
operatorius filtruoja rezultatus ir pateikia tik tuos, kurie atitinka nurodytą diapazoną.
Pavyzdys:
SELECT * FROM Employees WHERE JoiningDate BETWEEN '01-01-2015' AND `01-01-2020`;
AND
ir OR
yra sąlyginiai teiginiai. AND
Visos sąlygos turi atitikti nurodytus kriterijus. Į OR
bet kuri iš sąlygų, kurios atitinka nurodytus kriterijus, pateikia rezultatą.
AND pavyzdys:
SELECT * FROM Employees WHERE Department = 'IT' AND JoiningDate > '01-01-2015';
ARBA pavyzdys:
SELECT * FROM Employees WHERE Department ='IT' OR Department = 'Graphics';
AS
veikia kaip slapyvardis. Naudodami AS
, stulpelį galime pervardyti į kažką prasmingesnio ar trumpesnio užklausoje, nekeisdami vardo duomenų bazėje.
Pavyzdys:
SELECT FirstName AS fname, LastName AS lname FROM Employees;
INNER JOIN
sujungia skirtingų lentelių eilutes.
Pavyzdys:
SELECT Orders.ID, Customers.Name FROM Orders INNER JOIN Customers ON Orders.ID = Customers.ID;
LEFT JOIN
gauna įrašus iš kairės lentelės, atitinkančius įrašus dešinėje lentelėje.
Pavyzdys:
SELECT Customers.CustomerName, Orders.OrderID FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID ORDER BY Customers.CustomerName;
Priešais kairįjį prisijungimą, RIGHT JOIN
gauna įrašus iš dešinės lentelės, kurie atitinka kairiosios lentelės įrašus.
Pavyzdys:
SELECT Orders.OrderID, Employees.LastName FROM Orders RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID ORDER BY Orders.OrderID;
FULL JOIN
pateikia visus įrašus, atitinkančius kairėje arba dešinėje lentelėse.
Pavyzdys:
SELECT Customers.Name, CustomerOrders.ID FROM Customers FULL OUTER JOIN Orders ON Customers.ID = CustomerOrders.customerID ORDER BY Customers.Name;
DELETE
sakinys pašalina tam tikras lentelės eilutes, kurios atitinka nurodytą sąlygą.
Pavyzdys:
DELETE FROM Employees WHERE FirstName = 'Sam' AND LastName = 'Burger';
Mes naudojame ALTER TABLE
pridėti arba pašalinti stulpelius iš lentelės.
Pavyzdys:
ALTER TABLE Employees ADD JoiningDate date;
TRUNCATE TABLE
pašalina duomenų įrašus iš lentelės duomenų bazėje, tačiau išlaiko lentelės struktūrą.
Pavyzdys:
TRUNCATE TABLE temp_table
DROP TABLE
sakinys ištrina visą lentelę su jos stulpelių parametrais ir duomenų tipo nustatymais.
Pavyzdys:
DROP TABLE temp_table
DROP DATABASE
ištrina visą nurodytą duomenų bazę kartu su visais jos parametrais ir duomenimis.
Būkite ypač atsargūs naudodami šią komandą.
Pavyzdys:
DROP DATABASE temp_db
Susijęs: