sql tutorial
Post on 26-Aug-2014
281 Views
Preview:
TRANSCRIPT
1.Osnove SQL-aSQL je standardni jezik za pristupanje bazama podataka.Naš SQL tutorial će vas naučiti kako koristiti SQL pristup i manipulirati podacima u:MySQL, SQL Server, Access, Oracle, Sybase, DB2 i druge baze podataka.
SQL SyntaxSELECT Company, Country FROM Customers WHERE Country <> 'USA'
SQL Result
Company CountryIsland Trading UKGalería del gastrónomo SpainLaughing Bacchus Wine Cellars CanadaParis spécialités FranceSimons bistro DenmarkWolski Zajazd Poland
1.1. Uvod u SQLŠta je SQL ?
SQL je kratica za strukturirani jezik upitaSQL omogućuje pristup i manipulaciju bazama podatakaSQL je ANSI (American National Standards Institute) standard
Što mogu učiniti SQL ?
Može izvršiti SQL upite nad bazom podatakaSQL može dohvatiti podatke iz baze podatakaSQL možete umetnuti zapise u bazi podatakaSQL možete ažurirati zapise u bazi podatakaSQL možete izbrisati zapise iz baze podatakaSQL možete kreirati nove baze podatakaSQL može stvoriti nove tablice u bazi podatakaSQL može stvoriti pohranjene procedure u bazu podatakaSQL možete stvoriti pogled u bazu podatakaSQL možete postaviti dozvole na stolovima, procedura i pogleda
SQL je standard - ALI ....
Iako SQL je ANSI (American National Standards Institute) standardu, postoje mnoge različite verzije SQL jeziku.Međutim, da bi u skladu s ANSI standardu, oni podržavaju barem glavne naredbe(kao što je SELECT, ažuriranje, brisanje, INSERT, gdje) na sličan način.Napomena: Većina SQL baze podataka programa također svoje vlastitevlasničke ekstenzije u Osim SQL standardu!
Korištenje SQL u vašoj web stranici
Za izgradnju web stranicu koja prikazuje neke podatke iz baze podataka, trebat će vam sljedeće:
-Program RDBMS baze podataka (npr. MS Access, SQL Server, MySQL)- Server-side skriptni jezik, kao što su PHP ili ASP- SQL- HTML / CSS
RDBMS
RDBMS Relational zalaže za sustav upravljanja bazom podataka.RDBMS je osnova za SQL, i za sve moderne baze podataka kao što su MS SQL Server, IBM DB2, Oracle, MySQL, i Microsoft Access.Podaci u RDBMS su pohranjeni u objekte baze podataka pod nazivom tablice.Tablica je skup povezanih unosa podataka i sastoji se od stupaca i redaka.
1.2. Sintaksa SQL
Baza podataka najčešće sadrži jednu ili više tablica. Svaka tablica je identificirana po imenu (npr. "Kupci" ili "Narudžbe"). Tablice sadrže zapise (retke) s podacima.
Ispod je primjer stol pod nazivom "Persons":
P_Id LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger
Gornja tabela sadrži tri zapisa (po jedan za svaku osobu) i pet stupaca (P_Id, Prezime, Ime, Adresa i Grad).
SQL izrazi
Većina radnji koje je potrebno izvršiti na bazi podataka su učinili s SQL.Sledeći SQL odabrat će sve zapise u tablici "Osobe":
SELECT * FROM Persons
U ovom tutorialu ćemo naučiti sve o različitim SQL naredbi.
Imajte na umu da ...SQL nije velika i mala slova
Točka-zarez nakon SQL?
Neki sustavi baza podataka zahtijeva zarez na kraju svakog SQL naredbe.Točka-zarez je standardni način za odvajanje svaki SQL baze podataka u sustavima koji omogućuju više od jednog SQL treba izvršiti u istom pozivu na poslužitelju.Mi koristimo MS Access i SQL Server 2000, a mi ne moramo staviti zarez nakon svakog SQL, ali neki programi baze podataka prisiljavaju nas da ga koristimo.
SQL DML i DDL
SQL može biti podijeljen u dva dijela: jezik za upravljanje podatcima (DML) i jezik definiranja podataka (DDL).Upiti i ažuriranje DML naredbe sa SQL:SELECT - dohvaća podatke iz baze podatakaUPDATE - ažurira podatke u bazi podatakaDELETE - briše podatke iz baze podatakaINSERT INTO - umetanje novih podataka u bazu podataka
DDL dio SQL dozvoljava tablica baze podataka kako bi se stvorio ili izbrisao.Također definira pokazatelje (tipke), navodi veze između tablica, te nameće ograničenja između tablica.
Najvažniji DDL izvješća u SQL su:CREATE DATABASE - stvara novu bazu podatakaALTER DATABASE - modificira bazu podatakaCREATE TABLE - stvara novu tablicuALTER TABLE - modificira tablicuDROP TABLE - briše stolCREATE INDEX - stvara indeks (traži ključ)DROP INDEX - briše index
1.3. SQL SELECT
Naredba SELECT se koristi za odabir podataka iz baze podataka.Rezultat se pohranjuje u tablicu rezultata, zove rezultat-set.
Sintaksa SQL SELECT
SELECT column_name(s)FROM table_name
I
SELECT * FROM table_name
Napomena: SQL nema velika i mala slova. SELECT je isti kao i odabir.
Primjer SQL SELECT
Sada želimo da odabrati sve stupce iz tablice "Persons".Mi koristimo sljedeće SELECT izjavu
LastName FirstNameHansen OlaSvendson TovePettersen Kari
Sada želimo odabrati sadržaj stupaca pod nazivom "Prezime" i "Ime" iz gornje tablice.Mi koristimo sljedeće SELECT izjavu:
SELECT LastName,FirstName FROM Persons
Rezultat-set će izgledati ovako:
LastName FirstNameHansen OlaSvendson TovePettersen Kari
SELECT * Primjer
Sada želimo da biste odabrali sve stupce iz tablice "Persons".Mi koristimo sljedeće SELECT izjavu:SELECT * FROM Persons
Savjet: Zvjezdica (*) je brz način odabira stupaca sve!
Rezultat-set će izgledati ovako:
P_Id LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger
Orjentacija u rezultat-set-u
Većini softvera za baze podataka sustavi omogućuju plovidbu u rezultat-set s programskim funkcijama, kao što su: Move-na-prvi-Zapisnik, Get-Zapis-sadržaja, pokreta-to-Next-Record, itd.
1.4. SQL SELECT DISTINCT
U tablici, neki od stupaca mogu sadržavati duplicirane vrijednosti. To nije problem,međutim, ponekad ćete želiti popis samo drugačijih(različita) vrijednosti u tablici.Distinct ključna riječ se može koristiti da se vrati samo različita (različit)vrijednosti.
SQL SELECT DISTINCT Sintaksa
SELECT DISTINCT column_name(s)FROM table_name
SELECT DISTINCT Primjer
Tabela”Persons”:
P_Id LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger
Sada želimo odabrati samo različite vrijednosti iz kolone pod nazivom "City" iz gornje tablice.
Mi koristimo sljedeću SELECT izjavu:
SELECT DISTINCT City FROM Persons
Rezultat-set će izgledati ovako:
1.5. SQL WHERE Clause
WHERE se koristi za izdvajanje samo onih zapisa koji zadovoljavaju određeni kriterijum.
Sintaksa SQL WHERE
SELECT column_name(s)FROM table_nameWHERE column_name operator value
WHERE Primjer
Tabela"Persons":
P_Id LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger
Sada želimo odabrati samo one osobe koje žive u gradu "Sandnes" iz gornje tablice.
Mi koristimo sljedeće SELECT izjavu:
SELECT * FROM PersonsWHERE City='Sandnes'
Rezultat-set će izgledati ovako:
P_Id LastName FirstName Address City
CitySandnesStavanger
1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes
Citati oko tekstualnih polja
SQL koristi jednostruke navodnike oko tekstualne vrijednosti (većina baza podataka također će prihvatiti dvostruke navodnike).Međutim, numeričke vrijednosti ne bi trebale biti zatvorene u navodnike.Za tekstualne vrijednosti:
This is correct:SELECT * FROM Persons WHERE FirstName='Tove'This is wrong:SELECT * FROM Persons WHERE FirstName=Tove
Za numeričke vrijednosti:
This is correct:SELECT * FROM Persons WHERE Year=1965This is wrong:SELECT * FROM Persons WHERE Year='1965'
Dozvoljeni operateri u WHERE Uz WHERE, mogu se koristiti sljedeći operatora :
Operator Description= Equal<> Not equal> Greater than< Less than>= Greater than or equal<= Less than or equalBETWEEN Between an inclusive rangeLIKE Search for a patternIN To specify multiple possible values for a column
Napomena: U nekim verzijama SQL <> Operator može biti napisan kao !=
1.6. SQL AND & OR Operators
AND & OR operatori se koriste za filtriranje zapisa temelji se na više od jednog uvjeta.
AND & OR operatori
Operator AND prikazuje rekord ako i prvi uvjet, a drugi je uvjet true.Operator OR prikazuje evidenciju ako je bilo prvi uvjet ili drugi uvjet istinit.
AND primjer operatera:
Tabela "Persons":
P_Id LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger
Sada želimo odabrati samo one osobe s imenom jednakim "Tove" i prezime jednak im"Svendson":Mi koristimo sljedeće SELECT izjavu:
SELECT * FROM PersonsWHERE FirstName='Tove'AND LastName='Svendson'
Rezultat-set će izgledati ovako:
P_Id LastName FirstName Address City2 Svendson Tove Borgvn 23 Sandnes
Primjer OR Operatora
Sada želimo odabrati samo one osobe s imenom jednakim "Tove" ili imenom jednakim"Ola":Mi koristimo sljedeće SELECT izjavu:
SELECT * FROM PersonsWHERE FirstName='Tove'OR FirstName='Ola'
Rezultat-set će izgledati ovako:
P_Id LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes
Kombinovanje AND & OR
Također možete kombinirati AND i OR (koristite zagrade za formiranje složenih izraza).Sada želimo odabrati samo one osobe s prezimenom jednakim "Svendson" i prvi naziv jednak "Tove" ili "Ola":Mi koristimo sljedeće SELECT izjavu:
SELECT * FROM Persons WHERELastName='Svendson'AND (FirstName='Tove' OR FirstName='Ola')
Rezultat-set će izgledati ovako:
P_Id LastName FirstName Address City2 Svendson Tove Borgvn 23 Sandnes
1.7. SQL ORDER BY Keyword
ORDER BY ključnu riječ se koristi za sortiranje rezultat-set.
ORDER BY ključna riječ
ORDER BY ključnu riječ se koristi za sortiranje rezultat-set po određenom stupcu.ORDER BY ključnih riječi vrste zapisa sortira u rastućem redoslijedu po defaultu.Ako želite sortirati zapise u silaznom redu, možete koristiti ključnu riječ DESC.
SQL ORDER BY Sintaksa
SELECT column_name(s)FROM table_nameORDER BY column_name(s) ASC|DESC
ORDER BY primjer:
Tabela”Persons”:
P_Id LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes4 Nilsen Tom Vingvn 23 Stavanger3 Pettersen Kari Storgt 20 Stavanger2 Svendson Tove Borgvn 23 Sandnes
ORDER BY DESC primjer:
Sada želimo odabrati sve osobe iz gornje tablice, međutim, želimo sortirati osobe silazno po svojim prezimenima.
Mi koristimo sljedeće SELECT izjavu:
SELECT * FROM PersonsORDER BY LastName DESC
Rezultat-set će izgledati ovako:
P_Id LastName FirstName Address City2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger4 Nilsen Tom Vingvn 23 Stavanger1 Hansen Ola Timoteivn 10 Sandnes
1.8. SQL INSERT INTO
INSERT INTO iskaz se koristi za unos novih zapisa u tabeli..
INSERT INTO izjave
INSERT INTO iskaz se koristi da biste umetnuli novi redak u tablici.
SQL INSERT INTO Syntax
Moguće je napisati INSERT INTO izjave u dva oblika.Prvi oblik ne određuje nazive stupaca u kojima će se podaci uneseni, samo njihove vrijednosti:
INSERT INTO table_nameVALUES (value1, value2, value3,...)
Drugi oblik navodi u oba stupca imena i vrijednosti koja se unosi:
INSERT INTO table_name (column1, column2, column3,...)VALUES (value1, value2, value3,...)
SQL INSERT INTO primjer
P_Id LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger
Sada želimo umetnuti novi redak u tabelu "Persons".Mi koristimo sljedeći SQL izraz:
INSERT INTO PersonsVALUES (4,'Nilsen', 'Johan', 'Bakken 2', 'Stavanger')
Persons" tablica će sada izgledati ovako:
P_Id LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger4 Nilsen Johan Bakken 2 Stavanger
Umetanje podataka samo u određenim stupcima
Također je moguće samo dodavanje podataka u određenim stupcima.Sljedeći SQL će dodati novi redak, ali samo dodati podatke u "P_Id", "Prezime" i "Ime" Stupci:
INSERT INTO Persons (P_Id, LastName, FirstName)VALUES (5, 'Tjessem', 'Jakob')
"Persons" tablica će sada izgledati ovako:
P_Id LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger4 Nilsen Johan Bakken 2 Stavanger5 Tjessem Jakob
1.9. SQL UPDATE
UPDATE izjava se koristi za ažuriranje zapisa u tablici.
UPDATE izjava
UPDATE izjava se koristi za ažuriranje postojeće zapise u tablici.
SQL sintaksi UPDATE
UPDATE table_nameSET column1=value, column2=value2,...WHERE some_column=some_value
Napomena: Obavijest WHERE u sintaksi UPDATE.WHERE određuje koji zapis ili zapisi koji bi trebali biti ažurirani. Ako izostavite WHERE, svi podaci će biti ažurirani!
Primjer SQL UPDATE
P_Id LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger4 Nilsen Johan Bakken 2 Stavanger5 Tjessem Jakob
Sada želimo obnoviti osoba "Tjessem, Jakob" u tabelu"Persons".
Mi koristimo sljedeći SQL izraz:
UPDATE PersonsSET Address='Nissestien 67', City='Sandnes'WHERE LastName='Tjessem' AND FirstName='Jakob'
“Persons" tablica će sada izgledati ovako:
P_Id LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger4 Nilsen Johan Bakken 2 Stavanger5 Tjessem Jakob Nissestien 67 Sandnes
SQL UPDATE Upozorenje
Budite oprezni prilikom ažuriranja zapisa. Ako je izostavljen uvjetu WHERE u gornjem primjeru, izgledaće ovako:
UPDATE PersonsSET Address='Nissestien 67', City='Sandnes'
Tabela će izgledati:
P_Id LastName FirstName Address City1 Hansen Ola Nissestien 67 Sandnes2 Svendson Tove Nissestien 67 Sandnes3 Pettersen Kari Nissestien 67 Sandnes4 Nilsen Johan Nissestien 67 Sandnes5 Tjessem Jakob Nissestien 67 Sandnes
1.10.SQL DELETE
DELETE iskaz koristi se za brisanje slogova u tablici.
Izjava DELETE
DELETE iskaz koristi se za brisanje redaka u tablici.
SQL sintaksa DELETE
DELETE FROM table_nameWHERE some_column=some_value
Napomena: Obavijest WHERE u sintaksi DELETE.WHERE određuje koji zapis ilizapisi koji bi trebao biti izbrisane. Ako izostavite WHERE, svi podaci će biti izbrisani!
Primjer SQL DELETE
P_Id LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger4 Nilsen Johan Bakken 2 Stavanger5 Tjessem Jakob Nissestien 67 Sandnes
Sada želimo izbrisati osoba "Tjessem, Jakob" u tabelu"Persons".
Mi koristimo sljedeći SQL izraz:
DELETE FROM PersonsWHERE LastName='Tjessem' AND FirstName='Jakob'
P_Id LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger4 Nilsen Johan Bakken 2 Stavanger
Brisanje svih redova
Moguće je izbrisati sve redove u tablici bez brisanja tablice. To znači da će struktura tabela, svojstva, I indeksi će biti netaknuti:
DELETE FROM table_name
or
DELETE * FROM table_name
Napomena: Budite vrlo oprezni pri brisanju zapisa. Vi ne možete poništiti ovu izjavu!
top related