Osnovni ukazi sql. Mehanizem za dostop do podatkov. Structured Query Language SQL. Zgodovina in standardi SQL. Obdelava ukazov SQL s strežnikom Oracle. Zahteve za odstranitev

Vse konceptualne informacije o relacijskih zbirkah podatkov in tabelah so uporabne samo, če veste, kako s podatki komunicirati. Jezik SQL je sestavljen iz strukturiranih ukazov za dodajanje, spreminjanje in brisanje podatkov iz baze podatkov. Ti ukazi tvorijo osnovo za interakcijo s strežnikom PostgreSQL.

Ta razdelek govori o "anatomiji" ukazov SQL. Preučuje strukturne komponente ukazov, opisuje funkcije vsake komponente in njihove medsebojne odnose. Standardni odjemalec ukazne vrstice PostgreSQL, psql, natisne rezultate ukazov v navedenih primerih.

Večina primerov ukazov SQL je specifičnih za bazo podatkov booktown. Vsi izhodi psql imajo predpono obliko booktown=#.

Nekateri primeri uporabljajo testno bazo podatkov testdb. Poziv psql privzeto prikaže samo ime baze podatkov in simbole =# ​​, kar pomeni, da je sistem pripravljen za izdajo novega ukaza (čeprav boste videli, da se simbol = dinamično spreminja, ko se spremlja stanje vnosa SQL). Knjiga ponuja ta poziv skupaj z vnosom in izhodom SQL, ki vam pomaga, da se lažje znajdete pri izhodu odjemalca psql.

Odjemalec psql je podrobno opisan v 4. poglavju. Tukaj je omenjen le zaradi pojasnitve sloga primerov ukazov SQL.

Opomba
Shema baze podatkov booktown (skupaj z vzorčnimi zapisi) se nahaja v datoteki booktown.sql na CD-ju. Če želite namestiti to zbirko podatkov, v ukazni poziv vnesite ukaz psql - U postgres template! - f /mnt/cdrom/booktown.sql, kjer je /mnt/cdrom pot do nameščenega CD-ja in postgres ime superuporabnika PostgreSQL
.

Anatomija ukazov SQL

Ukazi SQL se vedno začnejo z dejanjem (glagolom) – besedo ali skupino besed, ki opisuje operacijo, ki se izvaja. Poleg tega ukaz SQL običajno vsebuje enega ali več razdelkov, ki pojasnjujejo njegov pomen. V tabeli 3.2 navaja glavna dejanja SQL.

Tabela 3.2. Osnovna dejanja PostgreSQL.

Opis akcije
USTVARITE BAZO PODATKOV Ustvarjanje nove baze podatkov
USTVARI INDEKS Ustvarjanje novega indeksa v stolpcu tabele
USTVARI ZAPOREDJE Ustvarjanje novega zaporedja v obstoječi bazi podatkov
USTVARI TABELO Ustvarjanje nove tabele v obstoječi bazi podatkov
USTVARI SPROŽILEC Ustvari novo definicijo sprožilca
USTVARI POGLED Ustvarite nov pogled za obstoječo tabelo
IZBERI Izbiranje zapisov iz tabele
VSTAVI Vstavljanje enega ali več novih zapisov v tabelo
NADGRADNJA Spreminjanje podatkov v obstoječih evidencah
IZBRIŠI Odstranjevanje obstoječih zapisov iz tabele
SPUSTI BAZO PODATKOV Uničenje obstoječe baze podatkov
SPUSTI INDEKS Odstranjevanje indeksa stolpca iz obstoječe tabele
DROP SEKVENCA Uničenje obstoječega generatorja zaporedja
PADNA MIZA Uničenje obstoječe tabele
SPUSTI SPROŽILEC Uničenje obstoječe definicije sprožilca
SPUSTI POGLED Uničenje obstoječega pogleda
USTVARI UPORABNIKA Ustvarjanje novega uporabniškega računa PostgreSQL v sistemu
SPREMENI UPORABNIKA Spreminjanje obstoječega uporabniškega računa PostgreSQL
IZBRIŠITE UPORABNIKA Brisanje obstoječega uporabniškega računa PostgreSQL
GRANT Dodeljevanje pravic dostopa do objekta baze podatkov
PREKLIC Odstranjevanje pravic dostopa do objekta baze podatkov
USTVARITE FUNKCIJO Ustvarjanje nove funkcije SQL v bazi podatkov
USTVARJANJE JEZIKA Ustvarjanje nove definicije jezika v bazi podatkov
CREATE OPERATOR Ustvarjanje novega stavka SQL v bazi podatkov
USTVARITE VRSTO Ustvarjanje novega podatkovnega tipa SQL v bazi podatkov

Structured Query Language je IBM razvil v zgodnjih sedemdesetih letih prejšnjega stoletja. Leta 1986 so organizacije ANSI prvič standardizirale SQL.

SQL je močan in hkrati preprost jezik za upravljanje baz podatkov. Podpirajo ga skoraj vse sodobne baze podatkov. SQL je razdeljen na dve podskupini ukazov: DDL (Data Definition Language) in DML (Data Manipulation Language). Ukazi DDL se uporabljajo za ustvarjanje novih baz podatkov, tabel in stolpcev, ukazi DML pa se uporabljajo za branje, pisanje, razvrščanje, filtriranje, brisanje podatkov.

Ta članek bo podrobneje obravnaval ukaze DML, saj se uporabljajo veliko pogosteje.

Ukazi DDL

CREATE - uporablja se za ustvarjanje novih tabel, stolpcev in indeksov.

DROP - uporablja se za odstranjevanje stolpcev in indeksov.

ALTER - uporablja se za dodajanje novih stolpcev v tabele in spreminjanje določenih stolpcev.

Ukazi DML

SELECT je najpogosteje uporabljen ukaz in se uporablja za pridobivanje nabora podatkov iz tabele zbirke podatkov. Ukaz SELECT ima naslednjo sintakso:

IZBERI seznam_polj1 OD ime_tabele ]

Operatorji znotraj oglatih oklepajev so neobvezni, navpična vrstica pa pomeni, da mora biti prisoten eden od podanih stavkov, ne pa obeh.

Na primer, ustvarimo preprosto poizvedbo za pridobitev podatkov iz polj »ime« in »telefon« v tabeli »prijatelji«:

IZBERI ime, telefon OD prijatelji

Če želite dobiti vsa polja tabele, jih ni treba navesti, samo postavite zvezdico (*):

IZBERI * OD prijatelji

Če želite iz prikazanega seznama izključiti podvojene vnose, uporabite ključno besedo DISTINCT:

IZBERI DISTINCT ime OD prijatelji

Če potrebujete ločen zapis, potem uporabite stavek WHERE. Na primer, iz tabele »prijatelji« moramo dobiti telefonsko številko »Vasya Pupkin«:

IZBERI * OD prijatelji KJE ime = "Vasya Pupkin"

ali obratno, ugotoviti moramo, kdo je lastnik telefona 44-65-01:

IZBERI * OD prijatelji KJE telefon = "44-65-01"

Poleg tega lahko uporabite nadomestne znake in tako ustvarite iskalne vzorce. Za to se uporablja operator LIKE. Operator LIKE ima naslednje nadomestne operatorje:

* - se ujema z nizom, sestavljenim iz enega ali več znakov;

Ujema se s katerim koli znakom;

Ujema se z enim znakom iz določenega niza;

Na primer, če želite pridobiti zapise iz polja "ime", ki vsebuje besedo "Vasya", bi zahteva izgledala takole:

IZBERI * IZ prijatelji KJE ime Všeč mi je "*Vasja*"

Klavzula ORDER BY se uporablja za določitev vrstnega reda vrnjenih podatkov. Brez tega operaterja vrstnega reda vrnjenih podatkov ni mogoče predvideti. Ključni besedi ASC in DESC omogočata določitev smeri razvrščanja. ASC razvršča v naraščajočem vrstnem redu, DESC pa v padajočem vrstnem redu.

Na primer, zahteva za pridobitev seznama zapisov iz polja "ime" po abecednem vrstnem redu bi bila videti takole:

IZBERI * IZ prijatelji NAROČI PO ime

Upoštevajte, da ključna beseda ASC ni obvezna, ker je privzeta.

INSERT - ta ukaz se uporablja za dodajanje novega zapisa v tabelo. Zapisano je takole:

VSTAVITE V ime_tabele VREDNOTE ( seznam_vrednosti)

Upoštevajte, da se morajo vrste vrednosti na seznamu vrednosti ujemati z vrstami vrednosti polj tabele, na primer:

VSTAVITE V prijatelji VREDNOTE ( "Anka strojnica", "32-09-81" )

Ta primer doda nov vnos v tabelo prijateljev s podanimi vrednostmi.

UPDATE – ta ukaz se uporablja za posodabljanje podatkov v tabeli in se najpogosteje uporablja v povezavi s klavzulo WHERE. Ukaz UPDATE ima naslednjo sintakso:

NADGRADNJA ime_tabele NASTAVI ime_polja = pomen

Če izpustite stavek WHERE, se posodobijo podatki v vseh definiranih poljih v tabeli. Na primer, spremenimo telefonsko številko Vasje Pupkuna:

NADGRADNJA prijatelji NASTAVI telefon = "55-55-55" KJE ime = "Vasya Pupkin"

DELETE - kot ste verjetno že razumeli, se ta ukaz uporablja za brisanje zapisov iz tabele. Tako kot UPDATE se tudi ukaz DELETE običajno uporablja s klavzulo WHERE; če je ta klavzula izpuščena, bodo vsi podatki iz navedene tabele izbrisani. Sintaksa ukaza DELETE je naslednja:

IZBRIŠI IZ ime_tabele

Na primer, odstranimo tega nadležnega Vasya Pupkina z naše mize :) :

IZBRIŠI IZ prijatelji KJE ime = "Vasya Pupkin"

Konec

V tem članku sem govoril o glavnih operaterjih SQL, ki so povsem dovolj za delo z bazami podatkov, o preostalih operaterjih bom podrobneje govoril drugič.

SQL ali Structured Query Language je jezik, ki se uporablja za upravljanje podatkov v sistemu relacijskih baz podatkov (RDBMS). Ta članek obravnava pogosto uporabljene ukaze SQL, ki bi jih moral poznati vsak programer. To gradivo je idealno za tiste, ki želijo obnoviti svoje znanje SQL pred razgovorom za službo. Če želite to narediti, si oglejte primere v članku in ne pozabite, da ste baze podatkov preučevali v parih.

Upoštevajte, da nekateri sistemi baz podatkov zahtevajo podpičje na koncu vsakega stavka. Podpičje je standardni kazalec na konec vsakega stavka v SQL. Primeri uporabljajo MySQL, zato je podpičje obvezno.

Nastavitev baze podatkov za primere

Ustvarite zbirko podatkov za prikaz delovanja skupin. Za delo boste morali prenesti dve datoteki: DLL.sql in InsertStatements.sql. Po tem odprite terminal in se prijavite v konzolo MySQL z naslednjim ukazom (članek predvideva, da je MySQL že nameščen v sistemu):

Mysql -u root -p

Nato vnesite geslo.

Zaženite naslednji ukaz. Poimenujmo zbirko podatkov »univerza«:

CREATE DATABASE univerza; USE univerza; VIR; SOURCE Ukazi za delo z zbirkami podatkov1. Ogled razpoložljivih baz podatkov PRIKAŽI PODATKOVNE BAZE; 2. Ustvarjanje nove podatkovne baze CREATE DATABASE; 3. Izbira baze podatkov za uporabo USE; 4. Uvozite ukaze SQL iz datoteke .sql SOURCE ; 5. Odstranitev baze podatkov DROP DATABASE ; Delo s tabelami6. Oglejte si tabele, ki so na voljo v bazi podatkov SHOW TABLES;

7. Ustvarjanje nove tabele CREATE TABLE ( , , PRIMARY KEY (), FOREIGN KEY () REFERENCES ()); Omejitve celovitosti pri uporabi CREATE TABLE

Morda boste morali ustvariti omejitve za določene stolpce v tabeli. Pri ustvarjanju tabele lahko nastavite naslednje omejitve:

  • celica tabele ne more imeti vrednosti NULL;
  • primarni ključ - PRIMARNI KLJUČ (ime_stolpca1, ime_stolpca2, ...) ;
  • tuji ključ - TUJI KLJUČ (col_namex1, …, col_namexn) REFERENCE table_name(col_namex1, …, col_namexn) .

Določite lahko več kot en primarni ključ. V tem primeru boste dobili sestavljeni primarni ključ.

Primer

Ustvari tabelo "inštruktor":

CREATE TABLE inštruktor (ID CHAR(5), ime VARCHAR(20) NOT NULL, ime_oddelka VARCHAR(20), plača NUMERIC(8,2), PRIMARNI KLJUČ (ID), TUJI KLJUČ (ime_oddelka) REFERENCE oddelek (ime_oddelka));

8. Podatki o tabeli

Ogledate si lahko različne informacije (vrsto vrednosti, ključ ali ne) o stolpcih tabele z naslednjim ukazom:

OPIŠI ;

9. Dodajanje podatkov v tabelo INSERT INTO (, , , …) VALUES (, , , …);

Ko dodate podatke v vsak stolpec v tabeli, vam ni treba podati imen stolpcev.

VSTAVI V VREDNOSTI (, , , ...);

10. Posodabljanje podatkov tabele UPDATE SET = , = , ... WHERE ; 11. Brisanje vseh podatkov iz tabele DELETE FROM ; 12. Odstranjevanje tabele DROP TABLE ; Ukazi za ustvarjanje poizvedb13. IZBERI

SELECT se uporablja za pridobivanje podatkov iz določene tabele:

IZBERI , , ... IZ ;

Naslednji ukaz lahko prikaže vse podatke iz tabele:

IZBERI * IZ ;

14. IZBERI DISTINCT

Stolpci tabele lahko vsebujejo podvojene podatke. Uporabite SELECT DISTINCT, da pridobite samo podatke, ki niso podvojeni.

IZBERI DISTINCT , , … FROM ;

15. KJE

Za določitev pogojev v poizvedbi lahko uporabite ključno besedo WHERE v SELECT:

IZBERI , , ... OD KJE ;

V zahtevku je mogoče navesti naslednje pogoje:

  • primerjava besedil;
  • primerjava številskih vrednosti;
  • logični operatorji IN (in), ALI (ali) in NE (negacija).
Primer

Poskusite naslednje ukaze. Bodite pozorni na pogoje, navedene v WHERE:

SELECT * FROM tečaj WHERE dept_name=’Comp. znanost'; IZBERITE * IZ predmeta WHERE krediti>3; SELECT * FROM tečaj WHERE dept_name="Comp. Sci." IN krediti>3;

16. ZDRUŽI PO

Operator GROUP BY se pogosto uporablja z združevalnimi funkcijami, kot so COUNT, MAX, MIN, SUM in AVG, za združevanje izhodnih vrednosti.

IZBERI , , … IZ SKUPINE PO ;

Primer

Prikažemo število predmetov za vsako fakulteto:

SELECT COUNT(course_id), dept_name FROM course GROUP BY ime_oddelka;

17. IMETI

Ključna beseda HAVING je bila dodana v SQL, ker WHERE ni mogoče uporabiti z združevalnimi funkcijami.

IZBERITE , , ... IZ SKUPINE TAKO, DA IMATE

Primer

Prikažemo seznam fakultet, ki imajo več kot en predmet:

SELECT COUNT(course_id), dept_name FROM course GROUP BY dept_name HAVING COUNT(course_id)>1;

18. NAROČI PO

ORDER BY se uporablja za razvrščanje rezultatov poizvedbe v padajočem ali naraščajočem vrstnem redu. ORDER BY bo razvrstil v naraščajočem vrstnem redu, razen če je določen ASC ali DESC.

IZBERI , , … OD ORDER BY , , … ASC|DESC;

Primer

Prikažimo seznam tečajev v naraščajočem in padajočem vrstnem redu kreditov:

IZBERI * IZ tečaja ORDER BY kreditov; IZBERI * IZ tečaja ORDER BY kreditov DESC;

19. MED

BETWEEN se uporablja za izbiro vrednosti podatkov iz določenega obsega. Uporabite lahko številske in besedilne vrednosti ter datume.

IZBERI , , … OD KJE MED IN ;

Primer

Prikažimo seznam inštruktorjev, katerih plača je večja od 50.000, vendar manjša od 100.000:

IZBERI * OD inštruktorja WHERE plača MED 50000 IN 100000;

20. VŠEČ

Operator LIKE se uporablja v WHERE za podajanje iskalnega vzorca za podobno vrednost.

Obstajata dva prosta operaterja, ki se uporabljata v LIKE:

  • % (brez, en ali več znakov);
  • _ (en znak).
IZBERI , , ... OD KJE LIKE ; Primer

Prikažimo seznam tečajev, katerih imena vsebujejo "do", in seznam tečajev, katerih imena se začnejo s "CS-":

SELECT * FROM tečaj WHERE naslov LIKE ‘%to%’; SELECT * FROM tečaj WHERE course_id LIKE "CS-___";

21. IN

Z uporabo IN lahko določite več vrednosti za stavek WHERE:

SELECT , , … FROM WHERE IN (, , …);

Primer

Prikažimo seznam študentov iz Comp smeri. znanost, fizika in elektr. angleščina:

SELECT * FROM študent WHERE dept_name IN ('Comp. Sci.', 'Physics', 'Elec. Eng.');

22. PRIDRUŽI SE

JOIN se uporablja za povezovanje dveh ali več tabel z uporabo skupnih atributov v njih. Spodnja slika prikazuje različne načine združevanja v SQL. Upoštevajte razliko med levim zunanjim spojem in desnim zunanjim spojem:

SELECT , , … FROM JOIN ON = ;

Primer 1

Prikazali bomo seznam vseh predmetov in ustrezne informacije o fakultetah:

IZBERITE * IZ tečaja JOIN Department ON course.dept_name=department.dept_name;

Primer 2

Prikazali bomo seznam vseh obveznih tečajev in podrobnosti o njih:

SELECT prereq.course_id, title, dept_name, Credits, prereq_id FROM prereq LEFT OUTER JOIN tečaj ON prereq.course_id=course.course_id;

Primer 3

Prikazali bomo seznam vseh tečajev, ne glede na to, ali so obvezni ali ne:

SELECT course.course_id, title, dept_name, Credits, prereq_id FROM prereq RIGHT OUTER JOIN course ON prereq.course_id=course.course_id;

23. Pogled

Pogled je navidezna tabela SQL, ustvarjena kot rezultat izvajanja izraza. Vsebuje vrstice in stolpce in je zelo podobna običajni tabeli SQL. Pogled vedno prikazuje najnovejše informacije iz baze podatkov.

Ustvarjanje CREATE VIEW AS SELECT , , ... FROM WHERE ; Odstranjevanje DROP VIEW ; Primer

Ustvarimo pogled, sestavljen iz tečajev s 3 kreditnimi točkami:

24. Agregatne funkcije

Te funkcije se uporabljajo za pridobitev skupnega rezultata v zvezi z zadevnimi podatki. Naslednje so običajno uporabljene agregatne funkcije:

  • COUNT (col_name) - vrne število vrstic;
  • SUM (col_name) - vrne vsoto vrednosti v tem stolpcu;
  • AVG (col_name) - vrne povprečno vrednost danega stolpca;
  • MIN (col_name) - vrne najmanjšo vrednost danega stolpca;
  • MAX (col_name) – Vrne največjo vrednost danega stolpca.
25. Ugnezdene podpoizvedbe

Ugnezdene podpoizvedbe so poizvedbe SQL, ki vključujejo klavzule SELECT, FROM in WHERE, ugnezdene znotraj druge poizvedbe.

Primer

Poiščimo tečaje, ki so se izvajali jeseni 2009 in spomladi 2010:

SELECT DISTINCT course_id FROM section WHERE semester = 'Fall' AND year= 2009 AND course_id IN (SELECT course_id FROM section WHERE semester = 'Spring' AND year= 2010);

Kirill Pozdeev, prevajalec

Kako Yandex uporablja vaše podatke in strojno učenje za prilagajanje storitev -.

SQL (ˈɛsˈkjuˈɛl; angleški strukturirani poizvedovalni jezik - “structured query language”) je deklarativni programski jezik, ki se uporablja za ustvarjanje, spreminjanje in upravljanje podatkov v relacijski bazi podatkov.

Skladnost s standardi SQL za različne baze podatkov:

SQL (Structured Query Language – strukturiran poizvedovalni jezik). SQL je predvsem informacijski logični jezik, namenjen opisovanju shranjenih podatkov, pridobivanju shranjenih podatkov in spreminjanju podatkov.

SQL ni programski jezik. Ker je SQL postal bolj zapleten, je postal bolj programski jezik aplikacij in uporabniki lahko zdaj uporabljajo vizualne graditelje poizvedb.

SQL je jezik, ki ne razlikuje med velikimi in malimi črkami. Nizi v SQL so v enojnih narekovajih.

Jezik SQL je zbirka stavkov. Stavki SQL so razdeljeni na:

    Data Definition Language (DDL) - opisni jezik sheme v ANSI, sestavljen iz ukazov, ki ustvarjajo objekte (tabele, indekse, poglede itd.) v bazi podatkov (CREATE, DROP, ALTER itd.).

    Operatorji za obdelavo podatkov (Data Manipulation Language, DML) so nabor ukazov, ki določajo, katere vrednosti so kadar koli predstavljene v tabelah (INSERT, DELETE, SELECT, UPDATE itd.).

    izjave o definiciji dostopa do podatkov (Data Control Language, DCL) – sestavljena iz orodij, ki določajo, ali naj uporabniku dovoli izvajanje določenih dejanj ali ne (GRANT/REVOKE, LOCK/UNLOCK).

    Operatorji Transaction Control Language (TCL).

Na žalost se ti izrazi ne uporabljajo univerzalno v vseh izvedbah. ANSI jih poudarja in so uporabni na konceptualni ravni, vendar jih večina programov SQL le malo obravnava ločeno, tako da v bistvu postanejo funkcionalne kategorije ukazov SQL.

IZBERITE razdelek JOIN

    Simple JOIN (=presek JOIN =INNER JOIN) - pomeni prikaz samo skupnih zapisov obeh tabel. Kako se zapisi štejejo za skupno rabo, določajo polja v spojnem izrazu. Na primer naslednji vnos: FROM t1 JOIN t2 ON t1. id = t2. id

    pomeni, da bodo prikazani zapisi z istim ID-jem, ki obstajajo v obeh tabelah.

    LEFT JOIN (ali LEFT OUTER JOIN) pomeni prikazati vse zapise iz leve tabele (tistega, ki je prvi v spojnem izrazu) ne glede na to, ali so v desni tabeli ustrezni zapisi. Če v desni tabeli ni zapisov, je nastavljena prazna vrednost NULL.

    RIGHT JOIN (ali RIGHT OUTER JOIN) deluje v nasprotju z LEFT JOIN - prikaže vse zapise iz desne (druge) tabele in le tiste, ki se ujemajo iz leve (prve) tabele.

    Druge vrste združevanj JOIN: MINUS - odštevanje; FULL JOIN - popolna združitev; CROSS JOIN - “Vsi z vsemi” ali operacija kartezičnega produkta.

SELECT JOIN SUBSTRING INSERT INTO users_auth VALUES (privzeto, "root", MD5("root"));

    INSERT IGNORE Če podate ključno besedo IGNORE v ukazu INSERT z vrsticami, ki imajo več vrednosti, bodo vse vrstice, ki imajo podvojene PRIMARY ali UNIQUE ključe v tej tabeli, prezrte in ne bodo vstavljene. Če ne podate IGNORE, se ta operacija vstavljanja prekine, ko naleti na vrstico, ki ima podvojeno vrednost za obstoječi ključ

VSTAVI PREZRI V VREDNOSTI cen (PRIVZETO, 1, 1111, "Fr", 50, 50, 1, 1)

Ukaz REPLACE se od INSERT razlikuje le po tem, da če je v tabeli zapis z enako vrednostjo v indeksiranem polju (enolični indeks) kot novi zapis, potem se stari zapis izbriše, preden se doda nov.

NADGRADNJA< tablename>SET ( | ) .,. .< COLUMN name> = < VALUE expresslon>[KJE< predlcate>| KJE TOK< cursor name>(*samo za prilogo*) ] ; UPDATE peers SET zone= "voip" ; # posodobi vse vrstice v stolpcu cone tabele vrstnikov UPDATE stat SET whp= "13x13x13" WHERE id = 1 ; POSODOBITE države SET nm_ukr= (IZBERITE del_države. ukrajinski FROM del_države WHERE države. nm_en= del_države. angleščina ) ;

Uporaba WordPressa, nastavitev: v tabeli wp_posts izbrišite vse pojavitve vrstice

UPDATE wp_posts SET post_content = REPLACE (post_content, "" , "" ) ;

IZBRIŠI IZ

[ KJE | WHERE CURRENT OF (*samo priponka*) ];

DELETE FROM Peers; // bo izbrisal vso vsebino tabele Peers. DELETE FROM FinR where day Like "20120415%"; // IZBRIŠI IZ cen WHERE ratesheet_id NOT IN (IZBERI id FROM tarifnikov);

SPREMINJATI

    Spreminjanje privzete vrednosti za stolpec. Če želite nastaviti novo privzeto vrednost za stolpec, uporabite ukaz, kot je: ALTER TABLE products ALTER COLUMN price SET DEFAULT 7.77 ; ALI ALTER TABLE nases ALTER COLUMN cona SET DEFAULT "voip" ;

    Upoštevajte, da izvajanje tega ukaza ne vpliva na obstoječe vrstice v tabeli; ukaz bo spremenil le privzeto vrednost za prihodnje ukaze INSERT. Če želite odstraniti katero koli privzeto vrednost, uporabite

    ALTER TABLE izdelki ALTER COLUMN cena DROP DEFAULT ;

    Ukaz naredi isto kot nastavitev privzete vrednosti na nič. Ker je brisanje privzete vrednosti implicitno nastavljeno na ničelno vrednost, se ne poroča o napakah, če se obstoječa privzeta vrednost izbriše.

    Funkcija kot privzeta vrednost za stolpec. V tem primeru ima stolpec časovnega sledenja podatkovni tip časovni žig, kar pomeni, da je njegovo privzeto vrednost mogoče nastaviti na vgrajeno funkcijo now(), tj. pri dodajanju nove vrstice v stolpec bosta zabeležena trenutni datum in čas ALTER TABLE časovno sledenje ALTER COLUMN date_wd SET DEFAULT now();

    Dodajanje omejitve. Če želite dodati omejitev, se uporabi sintaksa tabele za definiranje te omejitve. Na primer: izdelki ALTER TABLE ADD CHECK (ime ""); ALTER TABLE izdelki ADD CONSTRAINT some_name UNIQUE (product_no); ALTER TABLE products ADD FOREIGN KEY (product_group_id) REFERENCE product_groups;

    Če želite dodati neničelno omejitev, ki je ni mogoče zapisati kot omejitev tabele, uporabite sintakso:

    ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;

    Navedena omejitev bo uveljavljena takoj, zato jo morajo podatki v tabeli izpolnjevati, preden dodate omejitev.

Funkcije združevanja

V standardnem SQL obstaja 5 agregatnih funkcij:

    COUNT - funkcija vrne število vrstic, ki ustrezajo določenim kriterijem.,

    SUM - vrne vsoto (vsoto) vrednosti v določenem stolpcu. Vrstice stolpcev z vrednostmi NULL funkcija SUM prezre.

    AVG - povprečna vrednost v stolpcu,

Funkcije združevanja se uporabljajo kot imena polj v klavzuli poizvedbe SELECT, z eno izjemo: imena polj se uporabljajo kot argumenti. Funkciji SUM in AVG lahko delujeta samo s številskimi polji. Funkcije COUNT, MAX, MIN delujejo s številskimi in znakovnimi polji. Ko se uporabita za znakovna polja, lahko funkciji MAX in MIN delujeta z ekvivalenti znakov ASCII.

SELECT Count(Books.ID) AS [število knjig] FROM knjig;

Uporaba CROUP BY vam omogoča uporabo agregatnih funkcij za skupine zapisov.

SELECT Count(Books.ID) AS [Number of Books] FROM Books GROUP BY [Writer];

Ogledi (OGLED)

POGLED je podatkovni objekt, ki ne vsebuje nobenih podatkov o lastniku. Je vrsta tabele, katere vsebina se pridobi iz drugih tabel z izvajanjem poizvedbe.

Osnovne tabele so tabele, ki vsebujejo podatke. Obstaja pa še ena vrsta tabele: - pogledi (VIEW). Pogledi so tabele, katerih vsebina je izbrana ali pridobljena iz drugih tabel. Delujejo v poizvedbah in stavkih DML tako kot glavne tabele, vendar ne vsebujejo lastnih podatkov. Pogledi so kot okna, skozi katera si ogledujete informacije, ki so dejansko shranjene v spodnji tabeli.

    Ukaz CREATE VIEW. Pogled ustvarimo z ukazom CREATE VIEW. Sestavljen je iz besed CREATE VIEW, imena pogleda, ki ga je treba ustvariti, besede AS (KAKO) in nato poizvedbe. Ustvarimo pogled Londonstaff: CREATE VIEW Londonstaff AS SELECT * FROM Prodajalci WHERE city = "London";

    Ta pogled se uporablja tako kot katera koli druga tabela. Po njem lahko poizvedujete, ga spreminjate, vstavljate vanj, brišete iz njega in ga združujete z drugimi tabelami in pogledi. Zahteva za predložitev.

    Ta dodatek vsebuje skrajšane opise različnih ukazov SQL. Cilj je dati hitro in natančno referenco in definicijo SQL.

    Prvi del te aplikacije definira elemente, ki se uporabljajo za ustvarjanje ukazov SQL; drugo so podrobnosti sintakse in stavkov s kratkim opisom samih ukazov.

    Tukaj so standardne konvencije (imenovane pogoji BNF):

  • Ključne besede so vpisane z velikimi črkami.
  • SQL in drugi posebni pogoji so v oglatih oklepajih in napisani v poševnem tisku.()
  • Neobvezni deli ukazov so v oglatih oklepajih ([ in ]).
  • Trojica (....) označuje, da se lahko prejšnji del ukaza ponovi poljubno število krat.
  • Navpična vrstica (|) pomeni, da je tisto, kar je pred njo, mogoče zamenjati s tistim, kar ji sledi.
  • Zavihani oklepaji (( in )) označujejo, da je treba vse v njih obravnavati kot celoto, da lahko ocenimo druge znake (kot so navpične črte ali elipse).
  • Dvojno dvopičje in enačaj (:: =) pomenita, da je tisto, kar sledi, definicija tistega, kar je pred njim.

    Poleg tega bomo uporabili naslednje zaporedje (.,..), da označimo, da se tisto, kar je pred njim, lahko ponovi poljubno število krat, pri čemer bodo posamezni dogodki ločeni z vejicami. Atributi, ki niso del uradnega standarda, bodo v opisu označeni kot (*nestandardni*).

    UPOŠTEVAJTE: Terminologija, ki jo uporabljamo tukaj, ni uradna terminologija ANSI. Uradna terminologija je lahko zelo zmedena, zato smo jo nekoliko poenostavili. Zaradi tega včasih uporabimo pogoje, ki se razlikujejo od ANSI, ali uporabimo enake pogoje, vendar na nekoliko drugačen način. Na primer, naša definicija C se razlikuje od kombinacije ANSI standardne definicije C. ELEMENTI SQL

    Ta razdelek definira elemente ukazov SQL.

    Razdeljeni so v dve kategoriji: Osnovne prvine jezika in Funkcionalne prvine jezika.

    Osnovni elementi so ustvarjeni bloki jezika; Ko SQL pregleda ukaz, najprej oceni vsak znak v besedilu ukaza glede na te elemente. Ločilo loči en del ukaza od drugega; vse med ločili se obravnava kot modul. Na podlagi te delitve SQL interpretira ukaz.

    Funkcionalni elementi so različni elementi, razen ključnih besed, ki jih je mogoče interpretirati kot module. To so deli ukaza, ločeni z ločili, ki imajo v SQL poseben pomen. Nekateri izmed njih so posebni za določene ukaze in bodo skupaj s temi ukazi opisani kasneje v tem dodatku.

    Tukaj navedeni elementi so skupni vsem opisanim ukazom.

    Funkcionalne elemente je mogoče definirati drug glede na drugega ali celo v lastnem smislu. Na primer, predikat Naš zadnji in najbolj zapleten primer vsebuje predikat Znotraj lastne definicije. To je zato, ker lahko predikat, ki uporablja IN ali ALI, vsebuje poljubno število predikatov, ki lahko delujejo neodvisno. Predikat B smo vam v tej prilogi predstavili v ločenem razdelku zaradi raznolikosti in kompleksnosti tega funkcijskega elementa jezika. Stalno bo prisoten pri pogovorih o drugih funkcionalnih delih ekip.

    OSNOVNE PRVINE JEZIKA

    DEFINICIJA ELEMENTA | | -- konec znakovnega niza, določen z implementacijo presledka [( | = B IN


    Svet brezplačnih programov in koristnih nasvetov
    2024 whatsappss.ru