Šta smo radili na času 20.01
PRVI deo časova :
Ponavljanje
- Podsetite se kako se pokreće XAMPP
- Pokretanje Apache Web Servera i MySQL Servera
- Kako se pristupa delu gde se vežba rad sa SQL-om
localhost/phpmyadmin
- na času je pokazano i kako se radi kada podešavanja nisu standardna
localhost:8012/phpmyadmin
- Koristimo bazu world,
1. upit:
SELECT * FROM city
NOVO Gradivo:
Kreiramo KOPIJU tabele sa kojom ćemo raditi
CREATE TABLE copy_city
AS ( SELECT * FROM city)
Ovime smo kreirali drugu tabelu koja je u stvari kopija tabele city, u njoj su svo redovi iz tabele city. Jedimo što nije kopirano su ograničenja primarnih i sekundarnih ključeva.
To proveravamo tako što pokrenemo sledeće upite:
SELECT * FROM copy_city
SELECT * FROM city
iDESCRIBE city
DESCRIBE copy_city
Ponavljanje:
Kreiramo tabelu u koju ćemo smestiti neke datume:
CREATE TABLE Datumi (ID int PRIMARY KEY AUTO_INCREMENT, datum Date )
Da bi proverili strukturu tabele koju smo kreirali, radimo sledeći upit:
desc datumi
Ubacujemo prvi datum - koristimo funkciju kojom će biti unet sistemski datum:
INSERT INTO datumi Values (1, SYSDATE())
A da selektujemo sadržaj tabele, koristimo:
SELECT * FROM datumi
A zatim možemo i da unesemo još jedan datum:
INSERT INTO datumi(datum)
VALUES ('2020-12-30')
Ovde smo uneli samo datum, a ne i ID,
jer je ID Auto inkrementujući, biće upisan sledeći broj
SELECT * FROM datum
Drugi deo:
Ponavljanje: Alijasi kolona i alijasi tabela
desc city
SELECT g.Name AS 'grad', d.Name AS 'Drzava'
FROM city g, country d
i
SELECT d.datum, g.datumAko vam nije jasno, podsetite se na: https://www.w3schools.com/sql/sql_alias.asp
FROM datumi d, datumi g
Treći deo:
Novo gradivo: Spojevi (JOIN)
Prvo pročitajte sa stranice na koju vas odvede link koji se nalazi pre ove lekcije pasus sa podnaslovom "Spajanje tabela"
(link vas vodi na jednu online knjigu, ali na stranicu koja nam je potrebna)
Zatim kreiramo dve tabele sa kojima ćemo raditi:
CREATE TABLE LJUDI
( ID INT(5),
Ime VARCHAR(20),
Prezime VARCHAR(30)
);
iNSERT INTO LJUDI
VALUES (1, 'Pera', 'P.'), (2, 'Sima', 'Sx');
CREATE TABLE POSLASTICE
( ID INT(3),
naziv VARCHAR(30)
);
INSERT INTO POSLASTICE
VALUES (1, 'TOFITA'), (2, 'jaffa'), (3, 'Eurokrem');
proveriti šta ima u kojoj od tabela:
SELECT * FROM Ljudi;
SELECT * FROM poslastice;
A šta će se desiti ako pišemo:
SELECT *
FROM ljudi, poslastice
Desiće se spoj koji povezuje svaki element iz prve tabele
sa svakim elementom iz druge tabele
Upiti koje smo radili na času:
SELECT a.Ime, p.naziv
FROM ljudi a, poslastice p
INNER JOIN:
SELECT a.Ime,
p.naziv FROM ljudi a INNER JOIN poslastice p on a.ID = p.ID
Za ovo poslednje možete pogledati dodatna upustva na:
A u materijalu za koji je link dat to se nalazi u nastavku od onih 7 strana
Upiti koji su rađeni na kraju časa:
SELECT g.Name, d.Name
FROM city g INNER JOIN country d
ON g.CountryCode = d.Code
WHERE g.Name LIKE 'A%'
*****
SELECT g.Name AS 'grad', d.Name 'Drzava'
FROM city g INNER JOIN country d
ON g.CountryCode = d.Code
where g.Name like 'A%' and d.Name like 'A%'
************************
SELECT g.Name AS 'grad', d.Name 'Drzava'
FROM city g INNER JOIN country d
ON g.CountryCode = d.Code
where g.Name like 'A%' and d.Name like 'A%'