SQL Naudojimas ir Koregavimas PDF
Document Details
Uploaded by MagnanimousCloisonnism
Vilnius University
Tags
Summary
Šis dokumentas aprašo SQL komandas ir jų naudojimą duomenų bazių manipuliavimui. Pateikti paprasti pavyzdžiai, kaip naudoti SQL komandas.
Full Transcript
Duomenų bazių naudojimas, SQL Duombazių duomenų naudojimas ir koregavimas DML - duomenų manipuliavimo sakiniai SELECT (išrinkti) - duomenų išrinkimas iš vienos ar kelių lentelių; INSERT (įterpti) - vieno ar kelių naujų įrašų įterpimas; UPDATE (atnaujinti) - vieno ar kelių esamų įrašų at...
Duomenų bazių naudojimas, SQL Duombazių duomenų naudojimas ir koregavimas DML - duomenų manipuliavimo sakiniai SELECT (išrinkti) - duomenų išrinkimas iš vienos ar kelių lentelių; INSERT (įterpti) - vieno ar kelių naujų įrašų įterpimas; UPDATE (atnaujinti) - vieno ar kelių esamų įrašų atnaujinimas; DELETE (ištrinti) - vieno ar kelių esamų įrašų ištrynimas; FROM (iš) - iš kurių lentelių bus naudojami duomenys; WHERE (ten kur) - sąlyga, kurią turi tenkinti naudojami duomenys; GROUP BY (sugrupuoti pagal) - pagal kokį stulpelį(-ius) reikia grupuoti duomenis; ORDER BY (surikiuoti pagal) - pagal kokį stulpelį(-ius) reikia rikiuoti duomenis; HAVING (turint) - sąlyga, kurią turi tenkinti naudojami duomenys po grupavimo. SQL SELECT sakinys Naudojamas duomenų išrinkimui iš lentelės/lentelių. Rezultatas grąžinamas lentelės pavidalu, gauta lentelė vadinama “Result-Set”. Sintaksė: SELECT stulpelis1, stulpelis2,.. FROM lentelės1_pavadinimas... arba SELECT * FROM lentelės1_pavadinimas... * - pakaitos simbolis, reiškiantis viską (visus stulpelius) SQL SELECT sakinys Pvz.: SELECT VARDAS, PAVARDE FROM DARBUOTOJAI - išrinktų tik stulpelių VARDAS ir PAVARDE duomenis iš lentelės DARBUOTOJAI. SQL sąlygos sakinys WHERE Naudojamas užduoti sąlygą išrenkamiems duomenims. Sąlyga tikrinama kiekvienai lentelės(-ių) eilutei. Pvz.: SELECT VARDAS, ATLYGINIMAS FROM DARBUOTOJAI WHERE VARDAS=’Antanas’ - išrinks vardą ir atlyginimą iš lentelės DARBUOTOJAI, kurių stulpelio VARDAS reikšmė lygi žodžiui Antanas. SQL sintaksėje: 1. Žodžiai ir datos, laikas - viengubose kabutėse (‘Petras’, ‘1991-12-11’); 2. Stulpelių vardai - neišskiriami arba dvigubose kabutėse ("VARDAS"); 3. Skaičiai - neišskiriami. SQL INSERT sakinys Naudojamas naujo įrašo ar įrašų įterpimui į lentelę. Sintaksė: INSERT INTO lentelės_pavadinimas (stulpelis1,stulpelis2,..) VALUES (reikšmė1, reikšmė2,..), (reikšmė5, reikšmė6,..) reikšmė5 ir reikšmė6 – duomenys antram įrašui įvesti. Stulpelių vardų galima ir nenurodyti, jei įterpiami duomenys užpildant visus lentelės stulpelius. Atitinkamai kai kuriuos laukus galima palikti neužpildytus. Įvedamų reikšmių eiliškumas turi atitikti išvardytų stulpelių eiliškumą. Pvz.: INSERT INTO DARBUOTOJAI (VARDAS) VALUES (‘pabandukas’) SQL UPDATE sakinys Naudojamas esamų įrašų duomenų atnaujinimui. Sintaksė: UPDATE lenteles_pavadinimas SET stulpelis1=reikšmė1, stulpelis2=reikšmė2 WHERE sąlyga Nenurodžius sąlygos bus atnaujinti VISI įrašai. PVZ.: UPDATE DARBUOTOJAI SET PAVARDE=’pabandaitis’ WHERE VARDAS=’pabandukas’ Jei sąlyga atitinka kelias eilutes, jos visos bus atnaujintos. SQL DELETE sakinys Naudojamas esamų įrašų ištrynimui. Sintaksė: DELETE FROM lentelės_pavadinimas WHERE sąlyga Ištrinamas visas įrašas. Jei nenurodoma sąlyga, ištrinti bus VISI lentelės įrašai. Pvz.: DELETE FROM DARBUOTOJAI WHERE VARDAS=’pabandukas’ Norint ištrinti visą lentelę kartu su jos struktūra, naudojamas DROP sakinys: DROP TABLE lentelės_pavadinimas SQL sąlygos sakinys WHERE () Sąlygą galima pateikti ir kaip aritmetinę išraišką arba simbolių eilutę, surištą per lyginimo operatorius =,>,=,= 600 SELECT VARDAS FROM DARBUOTOJAI WHERE PARDUOTUVES_ID 3 Sąlygoje galima lyginti ir dviejų stulpelių reikšmes. SQL sąlygos sakinys WHERE (BETWEEN … AND) Reikšmių išrinkimas iš intervalo: … WHERE stulpelis BETWEEN … AND … - jeigu reikalingos reikšmės iš intervalo, priimant ir jas pačias [imtinai]. Pvz.: SELECT VARDAS FROM DARBUOTOJAI WHERE ATLYGINIMAS BETWEEN 500 AND 700 - bus išrinkti vardai darbuotojų, kurių atlyginimai siekia nuo 500 iki 700. Pirma nurodoma mažesnė reikšmė, po to didesnė. SQL sąlygos sakinys WHERE (IN) Reikalingų reikšmių sąrašo išvardinimas: … WHERE stulpelis IN (…) - jei reikalingas ne intervalas, o tam tikros skirtingos reikšmės. Pvz.: SELECT ASMENS_KODAS FROM DARBUOTOJAI WHERE VARDAS IN (‘Algis’, ’Grigas’) - bus išrinkti visi Algių ir Grigų asmens kodai. Reikšmių kiekis neribotas, galima įvesti ir vieną. SQL sąlygos sakinys WHERE (LIKE) Reikšmių išrinkimas pagal šabloną (panašumą): … WHERE stulpelis LIKE … - jei nėra žinomas tikslus duomuo arba reikalingos reikšmės, atitinkančios tik dalį duomens. SQL pakaitos simboliai: % - bet kokiam kiekiui bet kokių simbolių; _ - vienam bet kokiam simboliui. Pvz.: SELECT VARDAS FROM DARBUOTOJAI WHERE PAVARDE LIKE ‘%l_’ - bus išvesti visi vardai darbuotojų, kurių priešpaskutinė pavardės raidė yra ‘l’. SQL sąlygos sakinys WHERE (NULL) SQL egzistuoja reikšmė NULL - duomenys neįrašyti arba ištrinti. Duomenų paieška pagal neįrašytas reikšmes: … WHERE stulpelis IS NULL - jei reikia duomenų, kurie neturi reikšmės atitinkamame stulpelyje. Pvz.: SELECT * FROM DARBUOTOJAI WHERE PARDUOTUVES_ID IS NULL - išrinks visus duomenis apie darbuotojus, kurie atleisti ar nepriskirti darbovietei. (PARDUOTUVES_ID neįrašytas.) SQL sąlygos sakinys WHERE (NOT, AND, OR) Duomenų paieška pagal kelias atitinkančias arba neatitinkančias sąlygas: … WHERE sąlyga1 AND/OR sąlyga2 AND/OR NOT sąlyga3 - kai duomenys turi atitikti kelias sąlygas arba atitikti bent vieną arba neatitikti tam tikrų sąlygų. Pvz.: SELECT * FROM DARBUOTOJAI WHERE ATLYGINIMAS > 300 AND PARDUOTUVES_ID = 2 - atitinkamai turi būti išpildytos abi sąlygos. SELECT * FROM DARBUOTOJAI WHERE ATLYGINIMAS > 300 OR PARDUOTUVES_ID = 2 - jei išpildyta bent viena sąlyga, duomuo bus grąžintas. SELECT * FROM DARBUOTOJAI WHERE ATLYGINIMAS > 300 AND NOT PARDUOTUVES_ID IN (2,3) - abi sąlygos turi būti išpildytos, antra paneigta. SQL sąlygos sakinys WHERE (pirmenybės) Lyginimo operacijos turi savo pirmenybes. SQL atveju eiliškumo tvarka: 1. Visi lyginimo operatoriai (=,>,=,= 2 - išves parduotuvės ID ir skaičių tų darbuotojų parduotuvėse, kurių atlyginimas yra 600 ir tas skaičius yra didesnis arba lygus 2. Bendra SQL sintaksė SELECT stulpelis1, stulpelis2, grupine_funkcija FROM lentelė WHERE sąlyga GROUP BY sąrašas grupavimui HAVING sąlygai grupei ORDER BY rikiavimo stulpelis