Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • U kontaktu sa
  • Formati operatora za promjenu i brisanje podataka. Osnovni SQL operatori

Formati operatora za promjenu i brisanje podataka. Osnovni SQL operatori

SQL (StructuredQueryLanguage) je univerzalni računalni jezik koji se koristi za kreiranje, modificiranje i manipulaciju podacima u relacijskim bazama podataka. SQL jezik je baziran na relacionoj algebri i kolekcija je operatora.

Postoje 4 grupe operatera. Razmotrite grupu jezika za manipulaciju podacima (DML, SQL DML)

Odabir podataka

Odabir podataka je najčešća SQL operacija. SELECT izraz je jedan od najvažnijih izraza u ovom jeziku za odabir podataka. Sintaksa za ovaj operator je sljedeća:

SELECT kolonu IZ tabele

SELECT izrazi moraju sadržavati riječi SELECT i FROM; ostale ključne riječi nisu obavezne.

Nakon ključne riječi SELECT slijede informacije o tome koja polja treba uključiti u rezultirajući skup podataka. Zvjezdica (*) označava sva polja u tabeli, na primjer:

Za odabir jedne kolone koristi se sljedeća sintaksa:

SELECT Kompanija

Primjer odabira više kolona izgleda ovako:

SELECT Kompanija, telefon,Mail

Ključna riječ FROM se koristi za specificiranje imena tabela iz kojih se preuzimaju zapisi, na primjer:

SELECT * OD Kupci

Ovaj upit će vratiti sva polja iz tabele Kupci.

Možete koristiti klauzulu WHERE da filtrirate rezultate koje vraća SELECT izraz (opciono)

ODABIR * IZ proizvoda GDJE Kategorija = 4

U klauzuli WHERE mogu se koristiti različiti izrazi,

GDJE izraz1 [(I | ILI) izraz2 ...]

na primjer:

ODABIR * IZ proizvoda GDJE Kategorija = 2 I Postavshik> 10

ODABERITE Naziv, Cijena IZ proizvoda GDJE Kategorija = 3 ILI Cijena< 50

Možete koristiti sljedeće operatore:

< Меньше

<= Меньше или равно

<>Nije jednako

> Više

> = Veće ili jednako

ORDER BY klauzula (opciono) se koristi za sortiranje rezultirajućeg skupa podataka po jednoj ili više kolona. Ključne riječi ASC (uzlazno) ili DESC (opadajuće) se koriste za određivanje redoslijeda sortiranja. Podrazumevano, podaci se sortiraju uzlaznim redoslijedom.

Modifikacija podataka

Osim preuzimanja podataka, SQL se može koristiti za ažuriranje i brisanje podataka, kopiranje zapisa u druge tablice i obavljanje drugih operacija. U nastavku ćemo pogledati naredbe UPDATE, DELETE i INSERT koje se koriste za postizanje nekih od ovih zadataka.

UPDATE izjava

Naredba UPDATE se koristi za promjenu vrijednosti u jednoj ili više kolona tabele. Sintaksa za ovaj operator je:

UPDATE tablica SET stupac1 = izraz1 WHERE kriterij

Izraz u klauzuli SET može biti konstanta ili rezultat evaluacije. Na primjer, da biste podigli cijene svih proizvoda koji koštaju manje od 10 dolara, možete pokrenuti sljedeći upit:

UPDATE Proizvodi SET Cijena = Cijena * 1.1 GDJE Cijena< 10

Izjava DELETE

Da izbrišete redove iz tabela, koristite naredbu DELETE, čija je sintaksa:

IZBRIŠI IZ tabele WHERE kriterijuma

Uklonite sve proizvode čija je vrijednost manja od 100:

IZBRIŠI IZ proizvoda GDJE Cijena< 100

OperaterINSERT

Za dodavanje zapisa u tabele, koristite naredbu INSERT, čija je sintaksa:

INSERT INTO table (VRIJEDNOSTI (izraz [, ...])

Na primjer, da dodate novog kupca u tablicu Kupci, možete koristiti sljedeći upit:

INSERT IN TO Customers (CustomerID, CompanyName) VRIJEDNOSTI (‘XYZ’, ‘XYZ Deli’)

Govornik je rezervirana riječ ili znak koji se prvenstveno koristi u WHERE i daje SQL naredbu za izvođenje operacija kao što su poređenja i aritmetičke operacije.

Operatori se koriste za definiranje uvjeta u SQL-u i služe kao spojevi za više uvjeta u iskazu.

  • Aritmetički operatori
  • Operatori poređenja
  • Logički operatori
  • Operatori su se koristili za negiranje uvjeta

Aritmetički operatori u SQL-u:

Pretpostavimo varijablu a je jednako 10, a varijabla b je jednako 20, tada:

Operatori poređenja u SQL-u:

Pretpostavimo da je varijabla a 10, a varijabla b 20, tada:

operaterOpisprimjer
= Provjerava da li su vrijednosti dva operanda jednake ili ne, ako da, tada uvjet postaje istinit.(a = b) nije tačno.
!= (a! = b) je tačno.
<> Provjerava da li su vrijednosti dva operanda jednake ili ne, ako vrijednosti nisu jednake, tada uvjet postaje istinit.(a<>b) je tačno.
> Provjerava da li je vrijednost lijevog operanda veća od vrijednosti desnog operanda, ako da, tada uvjet postaje istinit.(a> b) nije tačno.
< Provjerava da li je vrijednost lijevog operanda manja od vrijednosti desnog operanda, ako da, tada uvjet postaje istinit.(a< b) истинно.
> = Provjerava da li je vrijednost lijevog operanda veća ili jednaka vrijednosti desnog operanda, ako da, tada uvjet postaje istinit.(a> = b) je netačno.
<= Provjerava da li je vrijednost lijevog operanda manja ili jednaka vrijednosti desnog operanda, ako da, tada uvjet postaje istinit.(a<= b) истинно.
Provjerava da li vrijednost lijevog operanda nije manja od vrijednosti desnog operanda, ako da, tada uvjet postaje istinit.(a!< b) неверно.
!> Provjerava da li vrijednost lijevog operanda nije veća od vrijednosti desnog operanda, ako je odgovor da, tada uvjet postaje istinit.(a!> b) je tačno.

Logički operatori u SQL-u:

Ovdje je lista svih logičkih operatora dostupnih u SQL-u.

operaterOpis
SVEOperator ALL se koristi za poređenje vrijednosti za sve vrijednosti u drugom skupu vrijednosti.
IOperator AND dozvoljava postojanje više uvjeta u klauzuli SQL WHERE.
BILOOperator ANY se koristi za upoređivanje bilo koje primjenjive vrijednosti na listi prema uvjetima.
IZMEĐUOperator BETWEEN se koristi za pronalaženje vrijednosti koje su unutar skupa vrijednosti, s obzirom na minimalnu i maksimalnu vrijednost.
POSTOJIOperator EXISTS se koristi za pronalaženje prisutnosti reda u navedenoj tablici koji odgovara određenim kriterijima.
ININ operator se koristi za upoređivanje vrijednosti na listi literalnih vrijednosti koje su definirane.
LIKEOperator LIKE se koristi za poređenje sličnih vrijednosti pomoću zamjenskih znakova.
NEOperator NOT mijenja značenje logičkog operatora s kojim se koristi. Na primjer: NE POSTOJI, NE IZMEĐU, NIJE IN, itd. Operaterka to negira.
ILIOperator OR se koristi za kombiniranje više uvjeta u SQL WHERE klauzuli.
IS NULLNULL operator se koristi za poređenje vrijednosti sa NULL vrijednošću.
UNIQUEJedna izjava pretražuje svaki red iz navedene tablice za jedinstvenost (bez duplikata).

Structure Query Language (SQL) je stvoren kao rezultat razvoja relacionog modela podataka i sada je de facto standard za sisteme upravljanja relacionim bazama podataka. SQL jezik je danas podržan od strane velikog broja različitih tipova DBMS-a.

Ime SQL jezika obično se izgovara slovima "es-q-el". Ponekad se koristi mnemonički naziv "See-Quel".

SQL jezik pruža korisniku (uz minimalan napor s njegove strane) sljedeće mogućnosti:

Kreirajte baze podataka i tabele sa potpunim opisom njihove strukture

Izvršite osnovne operacije manipulacije podacima: ubacite, modificirajte, obrišite podatke

Izvršite i jednostavne i složene upite.

SQL je relativno potpun.

Struktura i sintaksa njegovih naredbi su prilično jednostavne, a sam jezik je univerzalan, odnosno sintaksa i struktura njegovih naredbi se ne mijenja pri prelasku s jednog DBMS-a na drugi.

SQL jezik ima dvije glavne komponente:

Jezik definicije podataka (DDL) za definiranje struktura baze podataka i kontrolu pristupa podacima

DML (Jezik za upravljanje podacima), dizajniran za dohvaćanje i ažuriranje podataka.

SQL jezik je neproceduralan, odnosno kada se koristi, potrebno je naznačiti koje informacije treba dobiti, a ne kako se one mogu dobiti. SQL naredbe su obične engleske riječi (SELECT, INSERT, itd.). Pogledajmo prvo SQL DML izraze:

SELECT - dohvaćanje podataka iz baze podataka

INSERT - ubacivanje podataka u tabelu

UPDATE - ažuriranje podataka u tabeli

DELETE - brisanje podataka iz tabele

SELECT izraz

Naredba SELECT izvodi operacije ekvivalentne sljedećim operacijama relacijske algebre: odabir, projekcija i spajanje.

Najjednostavniji SQL upit koji ga koristi izgleda ovako:

SELECT col_name FROM tbl

Nakon ključne riječi select slijedi lista kolona odvojenih zarezima koje će biti vraćene iz upita. Ključna riječ from određuje iz koje tabele (ili pogleda) da se dohvate podaci.

Rezultat upita za odabir uvijek je tabela, koja se naziva tabela rezultata. Štaviše, rezultati upita koji se izvršavaju naredbom select mogu se koristiti za kreiranje nove tabele. Ako rezultati dvaju upita prema različitim tabelama imaju isti format, mogu se kombinovati u jednu tabelu. Takođe, tabela dobijena kao rezultat upita može postati predmet daljih upita.

Da biste odabrali sve stupce i sve redove tabele, samo napravite SELECT * FROM tbl;

Razmotrite tabelu proizvoda koja sadrži informacije o cijenama za različite vrste proizvoda:

Rezultat upita

SELECT * FROM Product;

će biti cijela tabela proizvoda.

Možete odabrati određene stupce tabele pomoću upita

SELECT col1, col2, ..., coln FROM tbl;

Dakle, rezultat upita

ODABERITE vrstu, cijenu od proizvoda;

biće sto

Lista kolona u naredbi za odabir se također koristi kada je potrebno promijeniti redoslijed kolona u rezultirajućoj tabeli:

Da bi se odabrali samo oni redovi tabele koji zadovoljavaju određena ograničenja, koristi se posebna ključna riječ gdje, praćena booleovim uslovom. Ako zapis zadovoljava ovaj uslov, on se uključuje u rezultat. U suprotnom, takav unos se odbacuje.

Na primjer, odabir one robe iz tabele proizvoda čija cijena zadovoljava uslov Cijena<3200, можно осуществить, используя запрос

ODABERITE * IZ proizvoda gdje je cijena<3200;

Njegov rezultat:

Uslov se može složiti i kombinovati pomoću logičkih operatora NOT, AND, OR, XOR, na primjer: gdje je id_ Price> 500 AND Price<3500. Допускается также использование выражений в условии: where Price>(1 + 1) i konstante niza: gdje je ime = "autobalans".

Korištenje konstrukcije IZMEĐU var1 I var2 vam omogućava da provjerite da li vrijednosti bilo kojeg izraza spadaju u raspon od var1 do var2 (uključujući ove vrijednosti):

ODABERITE * IZ proizvoda gdje je cijena IZMEĐU 3000 I 3500;

Po analogiji sa operatorom NOT BETWEEN, postoji operator NOT IN.

Imena kolona navedena u klauzuli SELECT mogu se preimenovati. Za to se koristi ključna riječ AS, koja se, međutim, može izostaviti, jer se implicitno podrazumijeva. Na primjer, zahtjev

SELECT Tip AS model, Type_id AS broj FROM proizvoda gdje je Type_id = 3

će se vratiti (pseudonim treba pisati bez navodnika):

Operator LIKE služi za poređenje niza sa uzorkom:

SELECT * FROM tbl gdje col_name LIKE "abc"

Ovaj upit vraća samo one zapise koji sadrže vrijednost stringa abc u stupcu col_name.

Dva zamjenska znaka su dozvoljena u obrascu: "_" i "%". Prvi zamjenjuje jedan proizvoljni znak u šablonu, a drugi niz proizvoljnih znakova. Dakle, "abc%" odgovara bilo kojem nizu koji počinje sa abc, "abc_" - nizu od 4 karaktera koji počinje sa abc, "% z" - proizvoljnom nizu koji završava sa z, i, konačno, "% z%" - nizovima znakovi koji sadrže z.

Možete pronaći sve zapise tabele proizvoda u kojima vrijednost Type počinje slovom "a" kako slijedi:

SELECT * FROM Product gdje Upišite LIKE "a%";

auto vaga

Ako string za pretraživanje sadrži zamjenski znak, tada morate navesti kontrolni znak u klauzuli ESCAPE. Ovaj kontrolni znak treba koristiti u obrascu prije zamjenskog znaka, što ukazuje da se potonji treba tretirati kao običan znak. Na primjer, ako se u određenom polju nalaze sve vrijednosti koje sadrže znak "_", tada će obrazac "% _%" rezultirati vraćanjem svih zapisa iz tabele. U ovom slučaju, obrazac treba napisati na sljedeći način:

"% | _%" ESCAPE "|"

Da biste provjerili usklađenost vrijednosti sa nizom "20%", možete koristiti sljedeći operator:

LIKE "20 #%" BJEŽITE "#"

Operator IS NULL omogućava vam da provjerite odsustvo (prisustvo) NULL vrijednosti u poljima tablice. Upotreba normalnih operatora poređenja u ovim slučajevima može dovesti do pogrešnih rezultata, jer poređenje sa NULL vrijednošću rezultira UNKNOWN (nepoznato). Dakle, uvjet odabira bi trebao izgledati ovako:

gdje je col_name JE NULL, umjesto gdje col_name = NULL.

Zadani rezultat odabira vraća zapise istim redoslijedom u kojem su pohranjeni u bazi podataka. Ako trebate sortirati zapise prema jednoj od kolona, ​​morate koristiti klauzulu ORDER BY, nakon koje slijedi naziv ove kolone:

SELECT * FROM tbl ORDER BY col_name;

Kao rezultat ovog upita, zapisi će biti vraćeni uzlaznim redoslijedom vrijednosti atributa col_name.

Zapisi se mogu sortirati po nekoliko kolona. Da biste to učinili, njihova imena moraju biti navedena nakon ORDER BY, odvojena zarezima:

SELECT * FROM tbl ORDER BY col_name1, col_name2.

Zapisi će biti sortirani po polju col_name1; ako postoji nekoliko zapisa sa istom vrijednošću u stupcu col_name1, oni će biti sortirani po polju col_name2.

Ako želite da sortirate zapise obrnutim redoslijedom (na primjer, silazno po datumu), morate navesti ORDER BY col_name DESC.

Za direktno sortiranje postoji ključna reč ASC, koja je podrazumevana.

Ako rezultat selekcije sadrži stotine ili hiljade zapisa, njihov izlaz i obrada zahtijevaju značajno vrijeme.

Stoga se informacije često paginiraju i predstavljaju korisniku u komadima. Navigacija po stranici se koristi sa ključnom riječi limit nakon koje slijedi broj zapisa za prikaz. Sljedeći upit dohvaća prvih 10 zapisa, dok istovremeno izvodi obrnuto sortiranje na polju col_name1:

SELECT * FROM tbl ORDER BY col_name1 DESC LIMIT 10

Za dohvat sljedećih 10 zapisa koristi se ključna riječ limit sa dvije vrijednosti: prva označava poziciju s koje se prikazuje rezultat, a druga označava broj zapisa za preuzimanje:

SELECT * FROM tbl ORDER BY col_name1 DESC LIMIT 10,10

Da biste dohvatili sljedećih 10 zapisa, morate koristiti konstrukciju LIMIT 20, 10.

I preko podataka tabela.

Poziva se SQL jezik ugrađen pošto sadrži funkcije punopravnog razvojnog jezika i fokusiran je na pristup podacima, zbog čega je uključen u alate za razvoj aplikacija. Standardi SQL jezika podržavaju programske jezike Pascal, Fortran, COBOL, S, itd.

Postoji 2 metode korištenja ugrađenog SQL-a:

  • statički upotreba jezika ( statički SQL) - tekst programa sadrži pozive SQL funkcijama, koje su uključene u izvršni modul nakon kompilacije.
  • dinamičan upotreba jezika ( dinamički SQL) - dinamička konstrukcija poziva SQL funkcija i njihova interpretacija. Na primjer, možete se pozivati ​​na podatke udaljene baze podataka tokom izvršavanja programa.

SQL jezik (kao i drugi jezici za rad sa bazama podataka) je namenjen za pripremu i izvršavanje upita. Kao rezultat izvršavanja upita podataka iz jedne ili više tabela, dobija se skup zapisa koji se naziva podnošenje.

Definicija 1

Performanse Je tabela koja se formira kao rezultat upita.

Osnovni operatori SQL upitnog jezika

SQL izrazi se konvencionalno dijele na 2 podjezika:

  1. Jezik definicije podataka DDL;
  2. Jezik za manipulaciju podacima DML.

U tabeli, * su označeni sa specifični operateri jezik.

Pogledajmo najvažnije SQL izraze.

    Izjava o kreiranju tabele:

    Ime tabele koja se kreira i ime najmanje jedne kolone (polja) su obavezni operandi. Za ime kolone morate navesti tip podataka koji će biti pohranjen u njemu.

    Za pojedinačna polja možete odrediti dodatna pravila za kontrolu vrijednosti koje se unose u njih. Na primjer, NOT NULL označava da polje ne može biti prazno i ​​da se u njega mora unijeti vrijednost.

    Primjer 1

    Za kreiranje tabele knjige katalog knjiga koji sadrži polja:

    tip- vrsta knjige,

    ime- naslov knjige,

    Cijena- cijena knjige

    operator bi mogao izgledati ovako:

    Operator za promjenu strukture tabele:

    Prilikom promjene strukture tabele možete dodati ( DODATI), promijeniti ( IZMJENI) ili izbrisati ( DROP) jedna ili više kolona tabele. Pravila snimanja za ovog operatera su ista kao i za operatera. CREATE TABLE... Ne morate specificirati za brisanje stupca.

    Primjer 2

    Za dodavanje u tabelu knjige polja broj, koji će pohraniti broj knjiga, možete napisati operatorom:

    Operator za ispuštanje tablice:

    Primjer 3

    Na primjer, da ispustite postojeću tablicu pod nazivom knjige samo koristite operatera:

    Operator kreiranja indeksa:

    Operator kreira indeks na jednoj ili više kolona date tabele kako bi ubrzao operacije upita i pretraživanja. Za jednu tabelu može se kreirati više indeksa.

    Opciona opcija UNIQUE odgovoran je za osiguranje jedinstvenosti vrijednosti u svim stupcima koji su navedeni u izjavi.

    ASC postavlja automatsko sortiranje vrijednosti u kolonama uzlaznim redoslijedom (podrazumevano), i DESC- u opadajućem redosledu.

    Operator pada indeksa:

    Prikaži operatora kreiranja:

    Možete izostaviti nazive kolona kada kreirate pogled. Tada će se koristiti nazivi kolona iz upita, što opisuje odgovarajući operator SELECT.

    Prikaži operatora za brisanje:

    Operator odabira zapisa:

    Operater SELECT vrši odabire i proračune podataka iz jedne ili više tabela. Rezultat izvršavanja operatora je tabela odgovora koja sadrži ( SVE) ili ne sadrži ( DISTINCT) redovi koji se ponavljaju.

    Operand OD sadrži listu tabela iz kojih se uzimaju zapisi za odabir podataka.

    Operator promjene zapisa:

    Nove vrijednosti polja u zapisima ne smiju sadržavati vrijednosti ( NULL) ili izračunati prema aritmetičkom izrazu.

    Novi operator umetanja zapisa:

    U prvom zapisu operatera INSERT unose se novi zapisi sa navedenim vrijednostima u kolonama.

    U drugoj izjavi operatera INSERT uvode se novi redovi, birani iz druge tabele kroz rečenicu SELECT.

    Operator za brisanje zapisa:

    Kao rezultat izvršavanja operatora, iz navedene tablice se brišu redovi koji zadovoljavaju uvjet, koji je definiran opcijskim operandom GDJE... Ako je operand GDJE nije navedeno, tada se brišu svi zapisi tablice.

Disciplina: Baze podataka

Operatori jezikaSQL

SQL jezik uključuje operatore različitih kategorija. Svaki SQL izraz sastoji se od rezerviranih riječi i korisnički definiranih riječi prema utvrđenim pravilima sintakse. Kao i kod mnogih programskih jezika, većina komponenti operatora jezika ne razlikuje velika i mala slova. Izuzetak od ovog pravila su, kao i obično, znakovni podaci, pri određivanju kojih je potrebno zapamtiti slučaj i koristiti onaj koji je neophodan za predstavljanje podataka.

Za pisanje operatora na jeziku usvojen je slobodan format, koji omogućava da se SQL program učini čitljivijim putem uvlaka i poravnanja.

    svaka fraza u izjavi mora početi u novom redu;

    početak svake fraze mora biti usklađen s početkom ostalih fraza operatora;

    svaki dio fraze treba početi u novom redu s nekim uvlačenjem u odnosu na početak cijele fraze, što će vam omogućiti da istaknete podređene dijelove;

    neke konvencije se primjenjuju za pisanje operatora:

    velika slova se koriste za pisanje rezerviranih riječi;

    mala slova se koriste za pisanje korisnički definiranih riječi;

    okomita traka "|" "označava potrebu za odabirom jedne od nekoliko vrijednosti;

    vitičaste zagrade definiraju traženi element;

    uglaste zagrade definiraju neobavezni element;

    elipsa "..." se koristi za označavanje opcione mogućnosti ponavljanja konstrukcije, od nule do nekoliko puta.

Operatori definicije podataka (Tablica 1) se koriste za opisivanje strukture korištenih podataka. Ova kategorija uključuje sljedeće naredbe: kreiraj tablicu, ispusti tablicu, mijenjaj tablicu, kreiraj pogled, ALTER VIEW, DROP VIEW.

Tabela 1 ... Operatori definicije podataka

Operater Objašnjenje

kreiraj tabelu Kreiraj tabelu

DROP table Ispušta tablicu

alter table Promjena tablice

CREATE VIEW Kreirajte pogled

alter view Promijeni prikaz

drop view Obriši prikaz

Operatori manipulacije podacima, koji čine sljedeću kategoriju operatora, dizajnirani su za popunjavanje tablica podacima i ažuriranje informacija učitanih u njih. Sljedeći operatori pripadaju ovoj kategoriji: delete, insert, update (Tabela 2).

tabela 2 ... Operateri manipulacije podacima

OperaterObjašnjenje

Izbriši Briše jednu ili više linija koje odgovaraju uvjetima

filtriranje, iz osnovne tabele

INSERT Umeće jedan red u donju tabelu

ažuriranje Ažurira vrijednosti jedne ili više kolona u jednom ili više

više linija koje odgovaraju uslovima filtriranja

Za dohvaćanje informacija iz baze podataka koristi se jezik upita, koji je u SQL jeziku predstavljen jednom naredbom za odabir (tablica 3).

Tabela 3. Jezik upita

Operater Objašnjenje

izaberite Odabire redove; operator koji vam omogućava da formirate rezultat

tabela koja odgovara upitu

Pored navedenih kategorija operatera, čiju namjenu nije teško zamisliti, nakon čitanja objašnjenja u tabelama potrebno je izdvojiti još dvije: operatore kontrole transakcija (tabela 4) i alate za administraciju podataka (tabela 5). .

Tabela 4. Upravljanje transakcijama

Objašnjenje operatera

commit Kompletna transakcija - kompletna obrada informacija,

spojeno u transakciju

rollback Vratiti transakciju - poništiti promjene napravljene tokom izvršenja

stanje baze podataka, označite je tako da joj se možete vratiti u budućnosti

Tabela 5 ... Administracija podataka

Objašnjenje operatera

ALTER DATABASE Modificiranje skupa osnovnih objekata u bazi podataka, ograničenja uključena

cijelu bazu podataka

ALTER DBAREA Modificira prethodno kreirano područje skladištenja

ALTER PASSWORD Promijenite lozinku za cijelu bazu podataka

CREATE DATABASE Kreirajte novu bazu podataka

CREATE DBAREA Kreirajte novi prostor za skladištenje i učinite ga dostupnim za postavljanje

DROP DATABASE Ispušta postojeću bazu podataka

DROP DBAREA Ispušta postojeću memoriju (ako trenutno ne sadrži

aktivni podaci se nalaze)

GRANT Dodijelite prava pristupa brojnim akcijama na nekom objektu baze podataka

REVOKE Opoziva prava pristupa nekom objektu ili nekim radnjama na njima

objekt

U komercijalnim DBMS-ovima proširen je skup osnovnih operatora. Većina DBMS-ova uključuje izraze za definiranje i brisanje indeksa pokretanja pohranjene procedure i izraze za definiranje okidača.

Uobičajeno je upoznavanje s ovim jezikom započeti razmatranjem mogućnosti jezika upita, koji je u SQL jeziku predstavljen jednom naredbom select, jer je ovaj moćni operator, naravno, i najsloženiji. Osim toga, u budućnosti će biti zanimljivo vidjeti kako se može koristiti u sprezi sa operaterima za manipulaciju podacima.

    Operater odabiraSELECT . Formiranje upita bazi podataka

Svrha operatora odabira je odabir i prikaz podataka iz jedne ili više tablica baze podataka. Ovaj izuzetno moćan, često korišćeni operator implementira sve operacije relacione algebre. Jedan te isti zahtjev može se implementirati na više načina, koji se mogu značajno razlikovati u pogledu vremena izvršenja.

Odaberite format izjave:

SELECT * |<список полей>OD<список таблиц>

Navedeni redosled fraza u naredbi za odabir ne može se promijeniti, ali nisu svi dijelovi potrebni. Samo klauzule select i from su obavezne klauzule. Svi ostali dijelovi operatora mogu se koristiti prema nahođenju programera. Objašnjenje:

□ Fraza izaberite:

Prisutnost ključne riječi sve(podrazumevano) znači da rezultirajuća tabela uključuje sve redove koji ispunjavaju uslove upita, što može dovesti do pojave istih redova u rezultujućoj tabeli;

Ključna riječ različita ima za cilj da uskladi tabelu sa principima teorije odnosa, gde se pretpostavlja da nema duplih redova;

simbol " * "definira vrlo uobičajenu situaciju u kojoj su svi stupci iz originalne tabele upita uključeni u skup rezultata.

□ U frazi od postavlja se lista izvornih tabela upita.

□ U frazi gdje definiše uslove odabira za redove rezultata ili uslove za spajanje redova izvornih tabela, slično operaciji uslovnog spajanja u relacionoj algebri. Sljedeći predikati se mogu koristiti kao uvjeti odabira:

Poređenja "=,<>, >, <, >=, <=" - для сравнения результатов вы­числения двух выражений; более сложные выражения строятся с по­мощью логических операторов AND, OR, NOT; значения выражений вычисляются в порядке, который определяется приоритетом исполь­зуемых операторов и наличием скобок в выражении;

izmeđuAiV- predikat je istinit kada izračunata vrijednost izraza padne unutar specificiranog raspona (predikat neizmeđuaiV true kada upoređena vrijednost ne pada unutar navedenog intervala);

in- predikat je istinit kada je upoređena vrijednost uključena u skup specificiranih vrijednosti; u ovom slučaju, skup vrijednosti se može specificirati jednostavnim nabrajanjem ili inline potupitom (predikat nije u istinit kada vrijednost koja se uspoređuje nije uključena u dati skup);

like i nelike- predikati čije je značenje suprotno, zahtijevaju specificiranje šablona sa kojim se data vrijednost poredi; predikat like je istinit kada se uspoređena vrijednost poklapa sa uzorkom i lažan u suprotnom;

ISnull- predikat koji se koristi za određivanje jednakosti vrijednosti nekog atributa nedefiniranoj vrijednosti:

    <имя атрибута> ISnull- preuzima vrijednost true ako navedeni atribut u datom nizu ima nedefiniranu vrijednost i vrijednost je lažna, u suprotnom;

    <имя атрибута> ISNEnull- sve se dešava obrnuto.

postoje i nepostoje koristi se u inline potupitima.

□ U frazi grupaby postavljena je lista polja za grupisanje.

□ U frazi vlasništvo postavljeni su predikati-uslovi nametnuti svakoj grupi.

□ U frazi redby postavlja se lista polja za sređivanje rezultata, odnosno lista polja koja određuje redoslijed sortiranja u rezultirajućoj tablici.

SQL standard definira koncept NULL vrijednosti, zbog čega je bila neophodna upotreba logike s tri vrijednosti, gdje se sve logičke operacije izvode u skladu s donjom tablicom istinitosti (Tablica 6).

sto 6 . Tabela istine

A I B

TRUE

1.1. Jednostavni upiti

Zahtjev 1

Prikaz informacija o odsjecima na univerzitetu.

Ovaj zadatak se svodi na dohvaćanje i prikaz informacija iz jedne tablice, a svi njeni redovi i svi stupci podliježu prikazu:

SELECT * IZ kafedra

Rezultat izvršavanja takvog upita bit će tabela koja sadrži informacije o svim odjelima univerziteta:

Kod kaf

Ime kaf

Nom_telef

Nom_Auditoria

Col_sotr

Ivanov T.M.

Opća matematika

Makhov K L.

Ross L.T.

Firsov S.S.

Primijenjena matematika

Lyakhova I.T.

Zahtjev 2

Prikažite brojeve telefona odsjeka univerziteta.

Rezultat takvog upita trebao bi sadržavati samo dvije kolone: Ime_ kaf i Nom_ telef, pa bi sam zahtjev trebao izgledati ovako:

SELECT Name_kaf, Nom_telef IZ kafedra

Rezultirajuća tabela:

Imekaf Nomjelef

Fizičari 23-34-24

Opšta matematika 23-65-43

Priče 23-78-72

Grafikoni 23-99-77

Primijenjena matematika 23-66-62

U upitima generiranim iznad, bilo je potrebno prikazati sve redove tablice navedene u klauzuli from. Ako je prilikom selekcije potrebno ograničiti broj prikazanih redova u skladu sa nekim uslovom, onda se to može postići upotrebom klauzule where u upitu. Jedan ili više uslova za odabir reda mogu biti uključeni u klauzulu gdje.

Zahtjev 3

Prikaz informacija o grafičkom odjelu.

SELECT * FROM kafedra WHERE Name_kaf = "Grafikoni"

Odgovor na takav zahtjev će sadržavati samo jedan red:

Kod.kaf Name_kaf NomjelefNom_Auditoria Col_sotr Zav_kaf

004 Grafikoni 23-99-77 385 18 Firsov C.C.

Zahtjev 4

Prikažite informacije o odsjecima univerziteta koji se nalaze na prvom spratu, uzimajući u obzir činjenicu da se sobe učionica na prvom spratu kreću od 1 do 99.

Zahtjev će izgledati ovako:

ODABIR * IZ kafedra GDJE Nom_Auditoria IZMEĐU 1 I 99

Rezultat upita:

KodjcafIme_kafNorn lelef Norn Audit oria Coi_sotr Zavkaf

002 General Mat- 23-65-43 003 22 Makhov K.L.

matematike

Uopšteno govoreći, redovi u rezultirajućoj tabeli se prikazuju u nekoj vrsti neuređenog stanja. Nije uvijek zgodno gledati i analizirati takav materijal. Klauzula Order by se koristi za sortiranje redova po bilo kojoj koloni. Sadrži listu naziva kolona razdvojenih zarezima prema kojima želite poredati prikazane informacije. Ova fraza bi se uvijek trebala pojaviti posljednja u naredbi za odabir i, ako je prisutna, postaje moguće sortirati redove po rastućim (asc) ili opadajućim (desc) vrijednostima navedenog stupca ili kombinacije navedenih stupaca, bez obzira na to da li su ti stupci prisutan u rezultujućoj tabeli ili ne.

Zahtjev 5

Prikažite informacije o odsjecima na univerzitetu u formi sortiranoj po koloniIme_ kafu rastućem redosledu.

Zahtjev će izgledati ovako:

SELECT * FROM kafedra ORDER BY Name_caf ASC

Rezultat ovog upita:

Kod_kaf Name_kaf Nomjelef Nom_Auditoria Col_sotr Zav kaf

004 Raspored 23-E9-77 385 18 Firsov S.S.

003 Priče 23-78-72 465 16 Ross L.T.

002 General ma- 23-65-43 003 22 Makhov K.L.

predmet

005 Primijenjeno 23-66-62 028 24 Lyakhova I.T.

matematike

001 Fizičari 23-34-24 132 25 Ivanov T.M.

Često je korisno sortirati prikazane informacije po nekoliko kolona radi poboljšanja jasnoće. Da biste to učinili, imena kolona za sortiranje moraju biti navedena odvojena zarezima u klauzuli redoslijed. U ovom slučaju, izlazna tabela će sadržavati redove poredane po prvoj koloni navedenoj u klauzuli order by, a redovi koji imaju jednake vrijednosti u ovoj koloni će biti poredani prema vrijednostima druge kolone, i tako dalje od lijevo na desno.

Top srodni članci