32. SQLite 1 - MantsSk/CA_PTUA14 GitHub Wiki
Parsisiųskite DB Browser for SQLite - https://sqlitebrowser.org/
Parsisiųskite duombazės failiuką - https://github.com/robotautas/kursas/blob/master/DB/db1/person.db
Atsidarykite duombazę programoje DB Browser for SQLite ir skiltyje "Execute SQL" galite sekti paskaitos teoriją:
Užklausos
Viena dažniausiai naudojamų SQL užklausų:
SELECT * FROM person
žvaigždutė reiškia 'viską', person - lentelės pavadinimas. Su ja paimama absoliučiai viskas iš lentelės.
galima išrinkti tik stulpelius, kurie mus domina:
SELECT first_name, gender FROM person;
norėdami išrinkti unikalias (nepasikartojančias) reikšmes, po SELECT prirašome DISTINCT:
SELECT DISTINCT gender FROM person;
Pridėję count() galime suskaičiuoti eilučių skaičių
SELECT count(*) FROM person;
WHERE
WHERE naudojame užklausos papildymui kokia nors sąlyga:
SELECT * FROM person WHERE gender="Female";
kitas pavyzdys:
SELECT * FROM person WHERE date_of_birth > date('1980-01-01');
sąlygas galima kombinuoti su OR arba AND:
SELECT * FROM person WHERE date_of_birth > date('1990-01-01') AND gender="Female";
ORDER BY
papildoma sąlyga rezultato išrūšiavimui pagal tam tikrą stulpelį:
SELECT * FROM person WHERE date_of_birth > date('1980-01-01') ORDER BY company;
Gale prirašius DESC gausime atvikštinį rūšiavimą:
SELECT * FROM person WHERE date_of_birth > date('1980-01-01') ORDER BY company DESC;
Duomenų įterpimas
INSERT
duomenų įterpimui naudojame INSERT, pvz:
INSERT INTO person VALUES(
"Jotautas", "Treigys", "[email protected]", "Male", date('1981-04-25'), "FTMC"
);
galime įterpinėti tik į konkrečius stulpelius:
INSERT INTO person
(first_name, last_name, gender, date_of_birth, company)
VALUES
("Antanas", "Šampanas", "Male", date('1979-02-02'), "Microsoft");
UPDATE
Norėdami pakeisti įrašus, naudojame UPDATE:
UPDATE person SET email = "[email protected]" WHERE first_name = "Antanas";
kitas pvz.:
UPDATE person SET company = "Microsoft" WHERE date_of_birth >= date('1990-01-01') AND gender = "Female";
(Nelabai korektiškas pvz...)
Galime pakeisti keleto stulpelių reikšmes:
UPDATE person SET first_name = "Mikrosoftas", last_name = "Mikrosoftauskas" WHERE company = "Microsoft";
išrinkę viską pagal kompaniją 'Microsoft', gausime:
DELETE
Triname su DELETE. Pvz.:
DELETE FROM person where company = "Microsoft";
jeigu nenurodome sąlygos, bus ištrintos visos eilutės:
DELETE FROM person;
tas pats įvyktų, jeigu naudotumėm
TRUNCATE person;
jeigu norime ištrinti lentelę su visa struktūra:
DROP TABLE person;
Parsisiųskite lentelę "darbuotojai.db", atsidarykite ją programoje DB Browser for SQLite ir skiltyje "Execute SQL" atlikite šias SQL užklausas:
- Išrinkite visus duomenis iš lentelės “DARBUOTOJAI”.
- Išrinkite visus duomenis iš stulpelio “GIMIMO_DATA” - lentelėje “DARBUOTOJAI”.
- Išrinkite visus duomenis iš stulpelių “VARDAS”,”PAVARDĖ”, “PAREIGOS” - lentelėje “DARBUOTOJAI”.
- Išrinkite unikalias reikšmes iš stulpelio SKYRIUS_PAVADINIMAS - lentelėje “DARBUOTOJAI”.
- Išrinkite visus duomenis apie darbuotojus, kurie dirba Gamybos skyriuje.
- Išrinkite duomenis, kokias pareigas užima Giedrius
- Išrinkite visus duomenis apie darbuotojus, kurių gimimo data - 1986-09-19
- Išrinkite darbuotojų vardus, kurių pavardės yra Sabutis
- Išrinkite duomenis (vardą ir pavardę) apie programuotojus iš Gamybos skyriaus
- Įterpkite į lentelę “DARBUOTOJAI” naują darbuotoją, užpildydami visus reikiamus laukus (vardą, pavardę, gimimo metus, pareigas, skyriaus pavadinimą).
- Įterpkite į lentelę “DARBUOTOJAI” naują darbuotoją, užpildydami tik laukus (vardą, pavardę, gimimo metus). Pareigas ir skyriaus pavadinimą palikite neužpildytus.
- Užpildykite likusius tuščius laukus “DARBUOTOJAI” lentelėje, jūsų prieš tai įterptame įraše. Priskirkite darbuotojui pareigas ir skyrių.
- Ištrinkite lentelės “DARBUOTOJAI” įrašą, kurio gimimo data yra tokia, kurią jūs sukūrėte.
- Įterpkite, du darbuotojus, pavarde Antanaitis kurių pareigos būtų “Programuotojas”.
- Pakeiskite, abiejų Antanaičių pareigas į “Testuotojas” vienu sakiniu.
- Suskaičiuokite, kiek įmonėje dirba Testuotojų.