Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • U kontaktu s
  • 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 stvaranje, modificiranje i manipulaciju podacima u relacijskim bazama podataka. SQL jezik temelji se na relacijskoj algebri i zbirka je operatora.

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

Odabir podataka

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

SELECT stupac IZ tablice

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 tablici, na primjer:

Za odabir jednog stupca koristi se sljedeća sintaksa:

IZABERI Društvo

Primjer odabira više stupaca izgleda ovako:

IZABERI Društvo, telefon,Mail

Ključna riječ FROM koristi se za određivanje naziva tablica iz kojih se dohvaćaju zapisi, na primjer:

IZABERI * IZ Kupci

Ovaj će upit vratiti sva polja iz tablice Kupci.

Možete koristiti klauzulu WHERE za filtriranje rezultata koje vraća naredba SELECT (opcionalno)

ODABIR * IZ proizvoda GDJE Kategorija = 4

U klauzuli WHERE mogu se koristiti različiti izrazi,

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

Na primjer:

ODABERITE * 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:

< Меньше

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

<>Nejednak

> Više

> = Veće ili jednako

Klauzula ORDER BY (izborno) koristi se za sortiranje rezultirajućeg skupa podataka po jednom ili više stupaca. Ključne riječi ASC (uzlazno) ili DESC (silazno) koriste se za određivanje redoslijeda sortiranja. Podaci se prema zadanim postavkama sortiraju uzlaznim redoslijedom.

Promjena podataka

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

UPDATE izjava

Naredba UPDATE koristi se za promjenu vrijednosti u jednom ili više stupaca tablice. Sintaksa za ovaj operator je:

UPDATE tablica SET stupac1 = izraz1 WHERE kriterija

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 USD, možete pokrenuti sljedeći upit:

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

Izjava DELETE

Za brisanje redaka iz tablica koristite izraz DELETE čija je sintaksa:

IZBRIŠI IZ tablice WHERE kriterija

Uklonite sve proizvode čija je vrijednost manja od 100:

IZBRIŠI IZ proizvoda GDJE Cijena< 100

OperaterUMETNUTI

Za dodavanje zapisa u tablice, koristite izraz INSERT čija je sintaksa:

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

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

UMETNI U Kupce (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 usporedbe i aritmetičke operacije.

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

  • Aritmetički operatori
  • Operatori za usporedbu
  • Logički operatori
  • Operatori su koristili za negiranje uvjeta

Aritmetički operatori u SQL-u:

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

Operatori usporedbe u SQL-u:

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

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

Logički operatori u SQL-u:

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

operaterOpis
SVIOperator ALL koristi se za usporedbu vrijednosti za sve vrijednosti u drugom skupu vrijednosti.
IOperator AND dopušta postojanje više uvjeta u klauzuli SQL WHERE.
BILO KOJIOperator ANY koristi se za usporedbu bilo koje primjenjive vrijednosti na popisu 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 koristi se za pronalaženje prisutnosti retka u navedenoj tablici koji odgovara određenim kriterijima.
UIN operator se koristi za usporedbu vrijednosti na popisu literalnih vrijednosti koje su definirane.
KAOOperator LIKE koristi se za usporedbu 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 poriče.
ILIOperator OR koristi se za kombiniranje više uvjeta u klauzuli SQL WHERE.
JE NULLOperator NULL koristi se za usporedbu vrijednosti s NULL vrijednošću.
JEDINSTVENOJedna izjava pretražuje svaki redak iz navedene tablice za jedinstvenost (bez duplikata).

Structure Query Language (SQL) nastao je kao rezultat razvoja relacijskog modela podataka i sada je de facto standard za sustave upravljanja relacijskim bazama podataka. SQL jezik danas podržava ogroman broj različitih tipova DBMS-a.

Naziv 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 tablice s potpunim opisom njihove strukture

Obavljanje osnovnih operacija manipulacije podacima: umetanje, modificiranje, brisanje podataka

Izvršite jednostavne i složene upite.

SQL je relacijski 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 pri njegovoj upotrebi 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 - umetanje podataka u tablicu

AŽURIRANJE - ažuriranje podataka u tablici

DELETE - brisanje podataka iz tablice

SELECT izjava

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 za odabir slijedi popis stupaca odvojenih zarezima koji će biti vraćeni iz upita. Ključna riječ from određuje iz koje tablice (ili pogleda) dohvaćati podatke.

Rezultat upita za odabir uvijek je tablica, koja se naziva tablica rezultata. Štoviše, rezultati upita koji se izvršavaju naredbom select mogu se koristiti za kreiranje nove tablice. Ako rezultati dvaju upita prema različitim tablicama imaju isti format, mogu se kombinirati u jednu tablicu. Također, tablica dobivena kao rezultat upita može postati predmet daljnjih upita.

Da biste odabrali sve stupce i sve retke tablice, samo napravite SELECT * FROM tbl;

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

Rezultat upita

ODABIR * IZ proizvoda;

bit će cijela tablica proizvoda.

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

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

Dakle, rezultat upita

ODABERITE vrstu, cijenu od proizvoda;

bit će stol

Popis stupaca u naredbi za odabir također se koristi kada je potrebno promijeniti redoslijed stupaca u rezultirajućoj tablici:

Kako bi se odabrali samo oni redovi tablice koji zadovoljavaju određena ograničenja, koristi se posebna ključna riječ gdje, a zatim logički uvjet. Ako zapis zadovoljava ovaj uvjet, uključuje se u rezultat. U protivnom se takav unos odbacuje.

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

ODABERITE * IZ proizvoda gdje je cijena<3200;

Njegov rezultat:

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

Korištenje konstrukcije IZMEĐU var1 I var2 omogućuje vam da provjerite jesu li vrijednosti bilo kojeg izraza unutar raspona var1 do var2 (uključujući ove vrijednosti):

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

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

Nazivi stupaca navedeni 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

vratit će se (nazivi pseudonima trebaju biti napisani bez navodnika):

Operator LIKE služi za usporedbu niza s uzorkom:

SELECT * FROM tbl gdje col_name KAO "abc"

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

U obrascu su dopuštena dva zamjenska znaka: "_" i "%". Prvi zamjenjuje jedan proizvoljni znak u predlošku, a drugi niz proizvoljnih znakova. Dakle, "abc%" odgovara bilo kojem nizu koji počinje s abc, "abc_" - nizu od 4 znaka koji počinje s abc, "% z" - proizvoljnom nizu koji završava sa z, i na kraju "% z%" - nizovima znakova koji sadrže z.

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

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

auto vaga

Ako niz 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 uzorak "% _%" rezultirati vraćanjem svih zapisa iz tablice. U tom slučaju, predložak bi trebao biti napisan na sljedeći način:

"% | _%" BJEŽI "|"

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

KAO "20 #%" BJEŽITE "#"

Operator IS NULL omogućuje vam da provjerite odsutnost (prisutnost) NULL vrijednosti u poljima tablice. Korištenje normalnih operatora usporedbe u tim slučajevima može dovesti do netočnih rezultata, jer usporedba s NULL vrijednošću rezultira UNKNOWN (nepoznato). Dakle, uvjet odabira bi trebao izgledati ovako:

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

Zadani rezultat odabira vraća zapise istim redoslijedom u kojem su pohranjeni u bazi podataka. Ako trebate sortirati zapise prema jednom od stupaca, morate koristiti klauzulu ORDER BY, nakon koje slijedi naziv ovog stupca:

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 razvrstati po nekoliko stupaca. 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 razvrstani prema polju col_name1; ako postoji nekoliko zapisa s istom vrijednošću u stupcu col_name1, oni će biti razvrstani prema polju col_name2.

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

Za izravno sortiranje postoji ključna riječ ASC, koja je zadana.

Ako rezultat odabira sadrži stotine ili tisuće zapisa, njihov izlaz i obrada zahtijevaju značajno vrijeme.

Stoga se informacije često paginiraju i prikazuju korisniku u komadima. Navigacija po stranici koristi se s 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 u polju col_name1:

SELECT * FROM tbl ORDER BY col_name1 DESC LIMIT 10

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

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 tablica.

SQL jezik se zove ugrađeni od sadrži funkcije punopravnog razvojnog jezika i usmjeren 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 nakon kompilacije uključene u izvršni modul.
  • 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 tijekom izvođenja programa.

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

Definicija 1

Zastupanje Je li tablica 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 tablici su * označene sa specifični operateri Jezik.

Pogledajmo najvažnije SQL naredbe.

    Izjava o kreiranju tablice:

    Naziv tablice koja se kreira i naziv barem jednog stupca (polja) su obavezni operandi. Za naziv stupca morate odrediti vrstu podataka koji će biti pohranjeni u njemu.

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

    Primjer 1

    Za izradu tablice knjige katalog knjiga koji sadrži polja:

    tip- vrsta knjige,

    Ime- naziv knjige,

    cijena- cijena knjige

    operator bi mogao izgledati ovako:

    Operator za promjenu strukture tablice:

    Prilikom promjene strukture tablice možete dodati ( DODATI), promijeniti ( IZMIJENI) ili izbrisati ( PAD) jedan ili više stupaca tablice. Pravila snimanja za ovog operatera ista su kao i za operatera. STVORI TABLU... Ne morate specificirati za brisanje stupca.

    Primjer 2

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

    Operator za ispuštanje tablice:

    Primjer 3

    Na primjer, za ispuštanje postojeće tablice pod nazivom knjige samo koristite operator:

    Operator za kreiranje indeksa:

    Operator stvara indeks na jednom ili više stupaca dane tablice kako bi ubrzao operacije upita i pretraživanja. Za jednu tablicu može se kreirati više indeksa.

    Izborna opcija JEDINSTVENO odgovoran je za osiguranje jedinstvenosti vrijednosti u svim stupcima koji su navedeni u izjavi.

    ASC postavlja automatsko sortiranje vrijednosti u stupcima uzlaznim redoslijedom (zadano), i DESC- u silaznom redoslijedu.

    Operator ispuštanja indeksa:

    Prikaži operator kreiranja:

    Možete izostaviti nazive stupaca prilikom izrade pogleda. Tada će se koristiti nazivi stupaca iz upita, što opisuje odgovarajući operator IZABERI.

    Prikaži operator brisanja:

    Operator odabira zapisa:

    Operater IZABERI vrši odabire i izračune na podacima iz jedne ili više tablica. Rezultat izvršavanja operatora je tablica odgovora koja sadrži ( SVI) ili ne sadrži ( RAZLIČIT) retke koje se ponavljaju.

    Operand IZ sadrži popis tablica 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 UMETNUTI novi zapisi se unose s navedenim vrijednostima u stupcima.

    U drugoj izjavi operatera UMETNUTI uvode se novi redovi, birani iz druge tablice kroz rečenicu IZABERI.

    Operator za brisanje zapisa:

    Kao rezultat izvršavanja operatora, redovi se brišu iz navedene tablice 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

Jezični operateriSQL

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. Iznimka od ovog pravila, kao i obično, su 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ćuje da se SQL program učini čitljivijim pomoću uvlaka i poravnanja.

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

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

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

    neke se konvencije 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 izborne mogućnosti ponavljanja konstrukcije, od nule do nekoliko puta.

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

stol 1 ... Operatori definicije podataka

Operater Obrazloženje

kreiraj tablicu Kreiraj tablicu

DROP table Ispušta tablicu

alter table Promjena tablice

CREATE VIEW Napravite pogled

promijeni prikaz Promjena pogleda

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 (tablica 2).

tablica 2 ... Operateri manipulacije podacima

OperaterObrazloženje

Izbriši Briše jedan ili više redaka koji odgovaraju uvjetima

filtriranje, iz osnovne tablice

INSERT Umeće jedan redak u temeljnu tablicu

ažuriranje Ažurira vrijednosti jednog ili više stupaca u jednom ili više

više redaka koji odgovaraju uvjetima filtriranja

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

Tablica 3. Jezik upita

Operater Obrazloženje

odaberite Odabire retke; operator koji vam omogućuje formiranje rezultirajućeg

tablicu koja odgovara upitu

Uz navedene kategorije operatora, čiju namjenu nije teško zamisliti, nakon čitanja objašnjenja u tablicama potrebno je istaknuti još dvije: operatore kontrole transakcija (tablica 4) i alate za administraciju podataka (tablica 5) .

Tablica 4. Upravljanje transakcijama

Objašnjenje operatera

commit Potpuna transakcija - potpuna obrada informacija,

spojeno u transakciju

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

stanje baze podataka, označite je kako biste joj se mogli vratiti u budućnosti

Tablica 5 ... Administracija podataka

Objašnjenje operatera

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

cijelu bazu podataka

ALTER DBAREA Izmijenite prethodno kreirano područje za pohranu

PROMIJENI LOZINKU Promijenite lozinku za cijelu bazu podataka

CREATE DATABASE Napravite novu bazu podataka

CREATE DBAREA Stvorite novo područje za pohranu i učinite ga dostupnim za postavljanje

DROP DATABASE Ispušta postojeću bazu podataka

DROP DBAREA Ispušta postojeće područje za pohranu (ako trenutno ne sadrži

nalaze se aktivni podaci)

GRANT Dodijelite prava pristupa brojnim radnjama na nekom objektu baze podataka

REVOKE Opoziv prava pristupa nekom objektu ili nekim radnjama na

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 se u SQL jeziku predstavlja 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 s operaterima za manipulaciju podacima.

    Operater odabiraIZABERI . Formiranje upita bazi podataka

Svrha operatora odabira je odabir i prikaz podataka iz jedne ili više tablica baze podataka. Ovaj iznimno moćan, često korišteni operator implementira sve operacije relacijske 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:

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

Navedeni redoslijed 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. Obrazloženje:

□ Fraza Izaberi:

Prisutnost ključne riječi svi(zadano) znači da rezultirajuća tablica uključuje sve retke koji ispunjavaju uvjete upita, što može dovesti do pojave istih redaka u rezultirajućoj tablici;

Ključna riječ različita namjerava uskladiti tablicu s načelima teorije odnosa, gdje se pretpostavlja da nema duplih redaka;

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

□ U frazi iz postavlja se popis izvornih tablica upita.

□ U frazi gdje definira uvjete odabira za retke rezultata ili uvjete za spajanje redaka izvornih tablica, slično operaciji uvjetnog spajanja u relacijskoj algebri. Sljedeći predikati mogu se koristiti kao uvjeti odabira:

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

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

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

Kao i neKao- predikati, čije je značenje suprotno, zahtijevaju navođenje predloška s kojim se uspoređuje dana vrijednost; predikat like je istinit kada se uspoređena vrijednost podudara s uzorkom i false u suprotnom;

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

    <имя атрибута> JEnull- poprima vrijednost true ako navedeni atribut u danom nizu ima nedefiniranu vrijednost, a vrijednost je lažna, u suprotnom;

    <имя атрибута> JENEnull- sve se događa obrnuto.

postojati i nepostojati koristi se u inline potupitima.

□ U frazi skupinapo postavlja se popis polja za grupiranje.

□ U frazi imajući postavljaju se predikati-uvjeti nametnuti svakoj skupini.

□ U frazi narudžbapo postavlja se popis polja za redoslijed rezultata, odnosno popis polja koji određuje redoslijed sortiranja u rezultirajućoj tablici.

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

stol 6 . Tablica istine

A I B

TRUE

1.1. Jednostavni upiti

Zahtjev 1

Prikaz informacija o odjelima sveučilišta.

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

ODABIR * IZ kafedra

Rezultat izvršavanja takvog upita bit će tablica koja sadrži informacije o svim odjelima sveučilišta:

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 telefonske brojeve odjela sveučilišta.

Rezultat takvog upita trebao bi sadržavati samo dva stupca: Ime_ kaf i Ne m_ telef, pa bi sam zahtjev trebao izgledati ovako:

ODABERITE Ime_kaf, Nom_telef IZ kafedra

Rezultirajuća tablica:

Imekaf Nomjelef

Fizičari 23-34-24

Opća matematika 23-65-43

Priče 23-78-72

Grafikoni 23-99-77

Primijenjena matematika 23-66-62

U gore generiranim upitima bilo je potrebno prikazati sve retke tablice navedene u klauzuli from. Ako je tijekom odabira potrebno ograničiti broj prikazanih redaka u skladu s nekim uvjetom, onda se to može postići korištenjem klauzule gdje u upitu. Jedan ili više uvjeta odabira 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 sadržavat će samo jedan redak:

Kod.kaf Ime_kaf NomjelefNom_Auditoria Col_sotr Zav_kaf

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

Zahtjev 4

Prikažite podatke o odjelima sveučilišta koji se nalaze na prvom katu, uzimajući u obzir činjenicu da se sobe učionica na prvom katu kreću od 1 do 99.

Zahtjev će izgledati ovako:

ODABIR * IZ kafedre 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.

matematika

Općenito, redovi u rezultirajućoj tablici prikazuju se u nekom neuređenom stanju. Nije uvijek prikladno pregledavati i analizirati takav materijal. Klauzula poredak prema koristi se za sortiranje redaka po bilo kojem stupcu. Sadrži popis naziva stupaca odvojenih zarezima prema kojima želite poredati prikazane informacije. Ovaj izraz bi se uvijek trebao pojaviti zadnji u naredbi za odabir i, ako je prisutan, postaje moguće sortirati retke po uzlaznim (asc) ili silaznim (desc) vrijednostima navedenog stupca ili kombinacije navedenih stupaca, bez obzira na to jesu li ti stupci prisutan u rezultirajućoj tablici ili ne.

Zahtjev 5

Prikažite podatke o odjelima sveučilišta u obrascu poredanom po stupcuIme_ kafuzlaznim redoslijedom.

Zahtjev će izgledati ovako:

ODABIR * IZ kafedra NARUDŽI PO Naziv_caf ASC

Rezultat ovog upita:

Kod_kaf Name_kaf Nomjelef Nom_Auditoria Col_sotr Zav kaf

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

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

002 Opći ma- 23-65-43 003 22 Makhov K.L.

tema

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

matematika

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

Često je korisno sortirati prikazane informacije po nekoliko stupaca radi poboljšanja jasnoće. Da biste to učinili, nazivi stupaca za sortiranje moraju biti navedeni odvojeni zarezima u redoslijedu po klauzuli. U ovom slučaju, izlazna tablica će sadržavati retke poredane po prvom stupcu navedenom u klauzuli reda po redu, a redovi s jednakim vrijednostima u ovom stupcu bit će poredani prema vrijednostima drugog stupca, i tako dalje slijeva Na desno.

Vrhunski povezani članci