Kako sastaviti SQL upite - detaljni primjeri
Svatko od nas redovito se sudari i koristi različite baze podataka. Kada odaberemo adresu e-pošte, radimo s bazom podataka. Baze podataka koriste usluge pretraživanja, banke za pohranu korisničkih podataka, itd.
sadržaj
No, unatoč stalnoj upotrebi baza podataka, čak i za mnoge razvojne programere, mnoge "bijele mrlje" ostaju zbog različitog tumačenja istih pojmova. Mi ćemo dati kratku definiciju glavnih pojmova baza podataka prije ispitivanja SQL jezika. Pa, onda.
baza podataka -datoteka ili skupa datoteka za pohranu naručenih struktura podataka i njihovih međusobnih odnosa. Vrlo često se baza podataka naziva sustav za upravljanje bazom podataka (DBMS). Baza podataka je samo spremište informacija u određenom formatu i može raditi s različitim DBMS-ovima.
stol -Zamislimo mapu u kojoj su pohranjeni dokumenti grupirani određenom značajkom, na primjer, popis naloga za prošli mjesec. Ovo je tablica u računalu baza podataka. Zasebna tablica ima jedinstveni naziv.
Vrsta podataka -Vrsta informacija koja se može pohraniti u zasebni stup ili redak. To mogu biti brojevi ili tekst određenog formata.
Stupac i String - svi smo radili s proračunskim tablicama, koji također sadrže retke i stupce. Svaka relacijska baza podataka funkcionira s tablicama na sličan način. Redci se ponekad nazivaju zapisi.
Primarni ključ - svaki redak tablice može imati jedan ili više stupaca za jedinstvenu identifikaciju. Bez primarnog ključa vrlo je teško ažurirati, mijenjati ili brisati potrebne retke.
Što je SQL?
Jezik upita SQL (Engl. Strukturirani jezik upita - strukturirani jezik upita) dizajniran je samo za rad s bazama podataka i trenutno je standard za sve popularne baze podataka. Sintaksa jezika sastoji se od malog broja operatera i lako je naučiti. No, unatoč svojoj vanjskoj jednostavnosti, omogućuje stvaranje sql upita za složene operacije s bazama podataka bilo koje veličine.
Od 1992. godine postoji opće prihvaćeni standard, nazvan ANSI SQL. Ona definira osnovnu sintaksu i funkcije operatora, a podržava ih svi tržišni lideri u DBMS-u, kao što je ORACLE Microsoft SQL Server. Nemoguće je uzeti u obzir sve značajke jezika u jednom malom članku pa ćemo ukratko razmotriti samo osnovne SQL upite. Primjeri ilustriraju jednostavnost i mogućnosti jezika:
- stvaranje baza podataka i tablica;
- uzorkovanje podataka;
- dodavanje zapisa;
- izmjena i brisanje podataka.
SQL vrste podataka
Svi stupci u tablici baze podataka pohranjuju jednu vrstu podataka. Vrste podataka u SQL-u isti su kao i na drugim programskim jezicima.
Vrsta podataka | opis |
INT | cijeli brojevi |
REAL | Brojevi s pomičnim zarezom |
TEKST | Niz znakova s promjenjivom duljinom |
DATE | sql upit "datum" u različitim formatima |
VRIJEME | vrijeme |
CHAR | Tekstni nizovi fiksne duljine |
Izrada tablica i baza podataka
Možete stvoriti nove baze podataka, tablice i druge upite u SQL na dva načina:
- SQL izjave putem DBMS konzole
- Upotreba interaktivnih alata za administraciju koji su dio poslužitelja baze podataka.
Operater je stvorio novu bazu podataka CREATE DATABASE
Izrađujemo tablice unutar baze podataka s izjavom CREATE TABLE sa sljedećim parametrima:
- naziv tablice
- nazivi stupaca i vrste podataka
Kao primjer, izradite robnu tablicu sa sljedećim stupcima:
kolona | opis |
commodity_id | ID proizvoda |
VENDOR_ID | ID dobavljača (vanjske ključne tablice dobavljača) |
commodity_name | Naziv proizvoda |
commodity_price | cijena |
commodity_desc | opis |
Izradite tablicu:
CREATE TABLE COMMODITY
(commodity_id CHAR (15) NOT NULL,
dobavljač_ CHAR (15) NOT NULL,
commodity_name CHAR (254) NULL,
commodity_price DECIMAL (8,2) NULL,
commodity_desc VARCHAR (1000) NULL) -
Stol se sastoji od pet stupaca. Nakon što je naziv vrsta podataka, stupci su odvojeni zarezima. Vrijednost stupca može biti null (NULL) ili mora biti popunjena (NOT NULL), a to se određuje kada se tablica stvara.
Odabir podataka iz tablice
Poslužitelj za dohvaćanje podataka najčešće se koristi SQL upit. Da biste dobili informacije, morate odrediti što želimo odabrati iz takve tablice. Prvo jednostavan primjer:
SELECT commodity_name FROM Commodity
Nakon SELECT izjave, navodimo naziv stupca za preuzimanje podataka, a FROM određuje tablicu.
Rezultat izvršenja upita bit će svi redovi tablice s vrijednostima Commodity_name u redoslijedu u koji su uneseni u bazu tj. bez razvrstavanja. Da biste naručili rezultat, upotrijebite dodatnu klauzulu "ORDER BY".
Da bismo upitao više polja, navodimo ih zarezom, kao u sljedećem primjeru:
SELECT commodity_id, commodity_name, commodity_price IZ robom
Kao rezultat upita moguće je dobiti vrijednost svih stupaca niza. Da biste to učinili, upotrijebite znak "*":
ODABERITE * OD robne marke
- Osim toga, SELECT podržava:
- Sortiranje podataka (klauzula ORDER BY)
- Odabir prema uvjetima (WHERE)
- Razdoblje grupiranja (GROUP BY)
Dodavanje retka
Da biste dodali redak u tablicu, upotrijebite SQL upite s INSERT izvodom. Dodavanje se može obaviti na tri načina:
- dodajte novu liniju;
- dio linije;
- rezultati upita.
Da biste dodali cijelu liniju, morate navesti naziv tablice i stupce novog retka. Dajmo primjer:
INSERT U robu VALUES (`106`, `50`, `Coca-Cola`, `1.68`, `No Alcogol,)
Primjer dodaje novi proizvod u tablicu. Vrijednosti su specificirane nakon VALUES za svaki stupac. Ako za stupac nema odgovarajuće vrijednosti, morate navesti NULL. Stupci su ispunjeni vrijednostima redoslijedom navedenim prilikom izrade tablice.
U slučaju dodavanja samo dijela niza, morate izričito navesti nazive stupaca, kao u primjeru:
INSERT U robu (commodity_id, vendor_id, commodity_name)
VRIJEDNOSTI (`106`, lsquo-50 `,` Coca-Cola `,)
Ušli smo samo identifikatore robe, dobavljača i njegovo ime, a preostala polja ostala su prazna.
Dodavanje rezultata upita
Uglavnom, INSERT se koristi za dodavanje žice, ali se također može koristiti za dodavanje rezultata SELECT izjave.
Uredite podatke
Da biste promijenili podatke u polju tablice baze podataka, morate koristiti UPDATE izjavu. Operator se može koristiti na dva načina:
- Svi redci u tablici ažuriraju se.
- Samo za određeni niz.
UPDATE se sastoji od tri glavna elementa:
- stol u kojem želite napraviti izmjene;
- imena polja i njihove nove vrijednosti;
- uvjeti za odabir redaka za promjenu.
Razmotrimo primjer. Priznajemo, kod robe s ID = 106 cijena se promijenila, stoga se ova linija mora ažurirati. Napišite sljedeću izjavu:
UPDATE Commodity SET commodity_price = `3.2` WHERE commodity_id = `106`
Naveli smo naziv tablice, u našem slučaju Robu, gdje će ažuriranje biti izvršeno, a zatim nakon postavljanja nove vrijednosti stupca i pronaći željeni zapis, označavajući WHERE vrijednost u WHERE klauzuli.
Da biste promijenili više stupaca nakon SET-ove izjave, navedite nekoliko parova stupca i vrijednosti, odvojenih zarezima. Gledamo primjer u kojem se ime i cijena proizvoda ažuriraju:
UPDATE roba SET commodity_name = rsquo-Fantarsquo-, commodity_price = `3.2` WHERE commodity_id = `106`
Da biste izbrisali podatke u stupcu, možete je postaviti na NULL ako je struktura tablice dopušta. Treba imati na umu da je NULL točno "ne" vrijednost, a ne nula u obliku teksta ili broja. Izbriši opis proizvoda:
UPDATE roba SET commodity_desc = NULL WHERE commodity_id = `106`
Brisanje redaka
SQL zahtjevi za brisanje redaka u tablici izvode se pomoću obrasca DELETE. Postoje dvije svrhe:
- određeni redovi se brišu u tablici;
- svi redci u tablici brišu se.
Primjer brisanja jednog retka iz tablice:
DELETE FROM Commodity WHERE commodity_id = `106`
Nakon DELETE FROM, navedite naziv tablice u kojoj će se obrisati redci. Klauzula WHERE sadrži uvjet za odabir redaka za brisanje. U primjeru mi brišemo retku stavke s ID = 106. Vrlo je važno navesti gdje. preskakanje ovog operatora rezultirat će uklanjanjem svih redaka u tablici. To vrijedi i za promjenu vrijednosti polja.
Izjava DELETE ne specificira nazive stupaca i metakaraktere. Ona potpuno uklanja linije i ne može izbrisati niti jedan stupac.
Upotreba SQL pristupa
Microsoft Access obično se koristi u interaktivnom načinu za izradu tablica, baza podataka, za upravljanje, izmjenu, analizu podataka u bazi podataka i za provođenje SQL Access upita putem praktičnog interaktivnog Query Designer, pomoću kojeg možete izgraditi i odmah izvršiti SQL izjave bilo koje složenosti ,
Ona također podržava način pristupa poslužitelju, u kojem se Access DBMS može koristiti kao generator SQL upita na bilo koji ODBC izvor podataka. Ova značajka omogućuje pristup aplikacijama za interakciju baza podataka bilo koji format.
SQL proširenja
Budući da SQL upiti nemaju sve mogućnosti procesnih programskih jezika, kao što su petlje, grane itd., Dobavljači DBMS-a razvijaju vlastitu verziju SQL-a s naprednim mogućnostima. Prije svega, to je podrška pohranjenim postupcima i standardnim operatorima postupovnih jezika.
Najčešći dijalekti jezika su:
- Oracle Database - PL / SQL
- Interbase, Firebird - PSQL
- Microsoft SQL Server - Transact-SQL
- PostgreSQL - PL / pgSQL.
SQL na Internetu
MySQL baza podataka se distribuira pod besplatnom licencom GNU Opće javne licence. Postoji komercijalna licenca s mogućnošću izrade prilagođenih modula. Kao sastavni dio najpopularnijih skupova internetskih poslužitelja, kao što su XAMPP, WAMP i LAMP te je najpopularnija baza podataka za razvoj aplikacija na Internetu.
Razvio ga je Sun Microsystems, a trenutno ga podržava Oracle. Podržava baze podataka do 64 terabajta, SQL standardnu sintaksu: 2003, replikaciju baze podataka i usluge oblak.
- Distribuirane baze podataka
- Baza podataka je složen sustav
- Koji su ciljevi dizajna baze podataka?
- Normalizacija baze podataka
- SQL datoteku. SQL format datoteke: opis proširenja
- Pregled sustava za upravljanje bazama podataka
- Koji su podaci? Vrste podataka
- DB je ... Vrste i svojstva baze podataka
- ACCDB: kako otvoriti datoteku
- Pojedinosti o tome što otvoriti ACCDB
- Što je baza podataka i gdje se može koristiti?
- Hijerarhijski model podataka
- Kako stvoriti bazu podataka i što je SQL?
- Klijent-poslužiteljska tehnologija
- Struktura baze podataka
- Osnovne vrste podataka Mysql
- Koje vrste baza podataka postoje danas?
- Stvaranje baze podataka: tehnike i postojeća rješenja
- Opći koncepti Access DBMS-a
- DBMS je sustav upravljanja podacima
- Glavne točke koje ima Access baza podataka