Vadnica za SQL Server - vse, kar potrebujete za obvladovanje Transact-SQL



Ta članek o Vadnici za SQL Server je izčrpen vodnik o različnih konceptih, sintaksi in ukazih, ki se uporabljajo v MS SQL Server.

Na današnjem trgu, kjer se vsak dan ustvari ogromna količina podatkov, je zelo pomembno razumeti, kako ravnati s podatki. SQL Server je integrirano okolje, ki ga je Microsoft razvil za obdelavo podatkov.V tem članku o vadnici SQL Server se boste naučili vseh operacij in ukazov, ki jih potrebujete za raziskovanje svojih zbirk podatkov.

Za boljše razumevanje sem blog razdelil na naslednje kategorije:





Ukazi Opis

Ukazi jezika za definicijo podatkov (DDL)

Ta niz ukazov se uporablja za definiranje baze podatkov.

Ukazi jezika za upravljanje podatkov (DML)



Ukazi za manipulacijo se uporabljajo za obdelavo podatkov, ki so v bazi podatkov.

Ukazi jezika za nadzor podatkov (DCL)

Ta niz ukazov obravnava dovoljenja, pravice in druge kontrole sistemov baz podatkov.

Ukazi jezika za nadzor transakcij (TCL)

Ti ukazi se uporabljajo za se ukvarjajo s transakcijo baze podatkov.

V tem članku so poleg ukazov obravnavane naslednje teme:



MS SQL Server - Vadnica za SQL Server - Edureka

  1. Kaj je SQL Server?
  2. Namestite SQL Server
  3. Povežite se s strežnikom SQL Server s pomočjo SSMS
  4. Dostopite do zbirke podatkovnih baz
  5. Arhitektura SQL Server
  6. Komentarji v SQL
  7. Podatkovni tipi SQL Server
  8. Ključi v bazi podatkov
  9. Omejitve v zbirki podatkov
  10. Operaterji
  11. Združene funkcije
  12. Uporabniško določene funkcije
  13. Vgnezdene poizvedbe
  14. Pridruži se
  15. Zanke
  16. Shranjeni postopki
  17. Ravnanje z izjemami

***OPOMBA*** V tej vadnici za SQL Server bom spodnjo bazo podatkov obravnaval kotprimer, da vam pokažem, kako se učiti in pisatiukazi.

StudentID Študentsko ime Ime starša Telefonska številka Naslov Mesto Država
enosovražimAkriti mehra9955339966Blok ceste 9HyderabadIndija
2.ManasaShourya Sharma9234568762Mayo Road 15KolkataIndija
3.AnaySoumya Mishra9876914261Marathallijeva hiša št. 101BengaluruIndija
4.PreetiRohan Sinha9765432234Queens Road 40DelhiIndija
5.ShanayaAbhinay agarwal9878969068Ulica Oberoi 21MumbajIndija

Preden začnemo razumeti različne ukaze, ki se uporabljajo v strežniku SQL Server, pojmo, kaj je SQL Server, njegova arhitektura in kako ga namestiti.

Kaj je SQL Server?

Microsoft SQL Server je relacijski sistem za upravljanje baz podatkov . Podpira Strukturirani povpraševalni jezik za delo s podatkovnimi bazami in ima lastno izvedbo jezika SQL, ki je Transact-SQL (T-SQL) . Ima integrirano okolje za obdelavo podatkovnih baz SQL, kar je .

Ključne komponente SQL Serverja so naslednje:

  • Database Engine: Ta komponenta obravnava shranjevanje, hitro obdelavo transakcij in zaščito podatkov.
  • SQL Server - Ta storitev se uporablja za zagon, zaustavitev, zaustavitev in nadaljevanje primerka MS SQL Server.
  • Agent strežnika SQL - Storitev Server Agent ima vlogo razporejevalnika opravil in ga sproži kateri koli dogodek ali zahteva.
  • Brskalnik SQL Server - Ta storitev se uporablja za povezovanje dohodne zahteve z želenim primerkom strežnika SQL Server.
  • Iskanje celotnega besedila SQL Server - Uporablja se za omogočanje uporabniku, da zažene poizvedbe v celotnem besedilu glede podatkov o znakih v tabelah SQL.
  • SQL Server VSS Writer - Omogoča varnostno kopiranje in obnovitev podatkovnih datotek, ko se SQL Server ne zažene.
  • Storitve za analizo SQL Server (SSAS) - Ta storitev se uporablja za analizo podatkov, podatkovno rudarjenje in zmogljivosti. SQL Server je tudi integriran z in R za napredno analitiko podatkov.
  • Storitve poročanja SQL Server (SSRS) - Kot že ime pove, se ta storitev uporablja za zagotavljanje funkcij in zmožnosti odločanja, vključno z integracijo z .
  • Storitve integracije SQL Server (SSIS) - Ta storitev se uporablja za izvajanje operacij ETL za različne vrste podatkov iz več virov podatkov.

Zdaj, ko veste, kaj je MS SQL Server, pojdimo naprej v tem članku o vadnici SQL Server in razumemo, kako namestiti in nastaviti SQL Server.

Namestite SQL Server

Za namestitev strežnika SQL Server sledite spodnjim korakom:

Korak 1: Pojdite na uradno stran Prenos strežnika Microsoft SQL Server , kjer boste našli možnost namestitve strežnika SQL Server bodisi lokalno bodisi v oblaku.

2. korak: Zdaj se pomaknite navzdol in videli boste dve možnosti: Izdaja za razvijalce in podjetja . Tukaj bom prenesel Razvojna izdaja . Če želite prenesti, morate samo klikniti na Prenesi zdaj možnost. Glejte spodaj.

3. korak: Ko je aplikacija prenesena, dvokliknite datoteko in prikazalo se bo naslednje okno.

4. korak: Zdaj lahko izberete eno od treh možnosti za nastavitev strežnika SQL Server. Tukaj bom samo izbral Osnovna možnost . Ko izberete možnost vrste namestitve, bo naslednji zaslon sprejem licenčne pogodbe. Za to kliknite Sprejmi v naslednjem oknu.

5. korak: Nato morate določiti mesto namestitve SQL Server. Nato morate klikniti na Namesti.

Ko kliknete na Namestite , boste videli, da se zahtevani paketi prenašajo. Po končani namestitvi boste videli naslednji zaslon:

Tu lahko greste naprej in kliknete Connect Now ali pa prilagodite namestitev. Za vaše boljše razumevanje bom šel naprej in izbral Prilagoditi.

6. korak: Ko kliknete na Prilagoditi v zgornjem oknu boste videli, da se odpre naslednji čarovnik. v naslednjem oknu kliknite Naslednji.

7. korak: Ko se pravila samodejno namestijo, kliknite Naslednji . Glejte spodaj.

8. korak: Nato morate izbrati vrsto namestitve. Torej, izberite Izvedite a nova namestitev SQL Server 2017 in nato kliknite Naslednji.

9. korak: V čarovniku, ki se odpre, izberite izdajo: Razvijalec. Nato kliknite Naslednji . Glejte spodaj.

10. korak: Zdaj preberite in sprejmite licenčne pogodbe tako, da se prijavite izbirni gumb in nato kliknete Naslednji . Glejte spodaj.

11. korak: V spodnjem čarovniku lahko izberete funkcije, ki jih želite namestiti. Izberete lahko tudi korenski imenik primerka in nato kliknete Naslednji . Tukaj bom izbral Storitve Database Engine .

12. korak: Nato morate poimenovati primerek in samodejno bo ustvarjen ID primerka. Tu bom primerek poimenoval 'edureka'. Nato kliknite Naslednji.

13. korak: V čarovniku za konfiguracijo strežnika kliknite Naslednji .

14. korak: Zdaj morate omogočiti načine preverjanja pristnosti. Tukaj boste videli Način preverjanja pristnosti sistema Windows in Mešani način . Izbral bom mešani način. Nato omenite geslo in nato bom trenutnega uporabnika dodal kot Skrbnik z izbiro Dodaj trenutnega uporabnika možnost.

Korak 15: Nato izberite pot do konfiguracijske datoteke in kliknite Namestite .

Po končani namestitvi boste videli naslednji zaslon:

Povežite se s strežnikom SQL s pomočjo SSMS

Po namestitvi strežnika SQL Server je naslednji korak povezava strežnika SQL Server s programom SQL Server Management Studio. Če želite to narediti, sledite spodnjim korakom:

Korak 1: Vrnite se v naslednje okno in kliknite na namestite SSMS možnost.

2. korak: Ko kliknete to možnost, boste preusmerjeni na naslednjo stran , kjer morate izbrati Prenesite SSMS.

3. korak: Ko je namestitev prenesena, dvokliknite aplikacijo in prikazal se bo naslednji čarovnik.

4. korak: Kliknite na Možnost namestitve , v zgornjem oknu in videli boste, da se bo namestitev začela.

5. korak: Po končani namestitvi boste dobili pogovorno okno, kot je prikazano spodaj.

Ko namestite SSMS, je naslednji korak dostop do Database Engine .

Dostop do mehanizma za baze podatkov

Ko odprete Studio za upravljanje strežnikov SQL Iz meni Start , se bo odprlo okno, podobno oknu, prikazanemu na spodnji sliki.

Tukaj omenite Ime strežnika, Način overjanja in kliknite na Povežite se.

Ko kliknete na Povežite se , boste videli naslednji zaslon.

No, ljudje, tako namestite in nastavite SQL Server. Zdaj, ko gremo naprej v tej vadnici za SQL Server, nam dovolite, da razumemo različne komponente arhitekture SQL Server.

Arhitektura strežnika SQL

Arhitektura SQL Server je naslednja:

  • Strežnik & minus Tu so nameščene storitve SQL in baza podatkov
  • Relacijski motor & minus Vsebuje razčlenjevalnik poizvedb, optimizator in izvršitelj, izvedba pa se zgodi v relacijskem mehanizmu.
  • Ukaz Parser & minus Preveri sintakso poizvedbe in pretvori poizvedbo v strojni jezik.
  • Optimizator & minus Pripravi načrt izvedbe kot izhod, tako da za vhod vzame statistiko, poizvedbo in drevo Algebrator.
  • Izvajalec poizvedbe & minus Tu se poizvedbe izvajajo korak za korakom
  • Storage Engine & minus Ta je odgovoren za shranjevanje in pridobivanje podatkov v pomnilniškem sistemu, manipulacijo s podatki, upravljanje in zaklepanje transakcij.

Zdaj, ko veste, kako nastaviti in namestiti SQL Server in njegove različne komponente, začnimo s pisanjem Strežnik. Pred tem pa naj predstavim, kako pišem komentarje v SQL Serverju.

Komentarji v SQL Serverju

Na SQL lahko komentirate na dva načina, tj. Bodisi uporabite s komentarji v vrstici ali m ulti-line komentarji .

Enovrstični komentarji

Enovrstični komentarji se začnejo z dve vezaji (-). Zato bo prevajalnik besedilo, omenjeno za (-), do konca posamezne vrstice prezrlo.

Primer:

- Primer enovrstnih komentarjev

Komentarji z več vrsticami

Komentarji z več vrsticami se začnejo z / * in končajo z * / . Zato besedilo, omenjeno med / * in * / prevajalnik bo prezrl.

Primer:

/ * Primer za večvrstične komentarje * /

Zdaj v tem članku o vadnici SQL Server začnimo s prvim nizom ukazov, tj.

Ukazi za jezik definicije podatkov

Ta odsek članka vam bo predstavil ukaze, s pomočjo katerih lahko določite svojo bazo podatkov. Ukazi so naslednji:

USTVARI

Ta stavek se uporablja za ustvarjanje tabele, baze podatkov ali pogleda.

Izjava 'USTVARI BAZO PODATKOV'

Ta stavek se uporablja za ustvarjanje baze podatkov.

Sintaksa

USTVARI BAZO PODATKOV DatabaseName

Primer

USTVARI BAZO PODATKOV Študenti

USTVARI TABELO Izjava

Kot že ime pove, se ta stavek uporablja za ustvarjanje tabele.

Sintaksa

USTVARI TABELO Ime tabele (podatkovni tip stolpca 1, podatkovni tip stolpca 2, podatkovni tip stolpca 3, .... podatkovni tip stolpca N)

Primer

USTVARI TABELO StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))

POPUST

Ta stavek se uporablja za spuščanje obstoječe tabele, baze podatkov ali pogleda.

Izjava „DROP DATABASE“

Ta stavek se uporablja za spuščanje obstoječe baze podatkov. Popolni podatki v zbirki podatkov bodo izgubljeni takoj, ko izvedete spodnji ukaz.

Sintaksa

DROP DATABASE DatabaseName

Primer

DROBNA BAZA PODATKOV Študenti

Izjava „DOPUSNA TABELA“

Ta stavek se uporablja za spuščanje obstoječe tabele. Popolni podatki v tabeli bodo izgubljeni takoj, ko izvedete spodnji ukaz.

Sintaksa

DOPUSTNA TABELA TableName

Primer

KAPITALNA TABELA StudentInfo

STAROST

Ukaz ALTER se uporablja za dodajanje, brisanje ali spreminjanje stolpcev ali omejitev v obstoječi tabeli.

ALTER TABLE Izjava

Ta stavek se uporablja za dodajanje, brisanje, spreminjanje stolpcev v že obstoječi tabeli.

Izjava „ALTER TABLE“ s stolpcem DODAJ / PUSTI

Stavek ALTER TABLE se uporablja z ukazom ADD / DROP Column za dodajanje in brisanje stolpca.

Sintaksa

ALTER TABLE TableName ADD ColumnName Datatype ALTER TABLE TableName DROP COLUMN StolpecName

Primer

--ADD stolpca BloodGroup: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) --DROP Stolpec BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup

Izjava „ALTER TABLE“ s ALTER STOLPEC

Stavek ALTER TABLE lahko s stolpcem ALTER uporabite za spreminjanje podatkovnega tipa obstoječega stolpca v tabeli.

Sintaksa

ALTER TABLE TableName ALTER COLUMN Ime stolpca Vrsta podatkov

Primer

- Dodajte stolpec DOB in spremenite vrsto podatkov z datuma na datum in čas. ALTER TABLE StudentInfo ADD DOB date ALTER TABLE StudentInfo ALTER COLUMN DOB datetime

RAZREŽI

Ta ukaz SQL se uporablja za brisanje informacij v tabeli, vendar ne izbriše same tabele. Če želite torej izbrisati informacije v tabeli in ne izbrisati same tabele, morate uporabiti ukaz TRUNCATE. V nasprotnem primeru uporabite ukaz DROP.

Sintaksa

TRUNCATE TABLE TableName

Primer

TRUNCATE TABLE StudentInfo

PRENIMI

Ta stavek se uporablja za preimenovanje ene ali več tabel.

Sintaksa

sp_rename 'OldTableName', 'NewTableName'

Primer

sp_rename 'StudentInfo', 'Infostudents'

Nadaljujemo v tem članku o vadnici SQL Server, da bomo razumeli različne vrste podatkov, ki jih podpira SQL Server.

Podatkovni tipi SQL Server

Kategorija podatkovnega tipa Ime podatkovnega tipa Opis Obseg / sintaksa
Natančne številke številčnoUporablja se za shranjevanje številskih vrednosti in ima fiksne številke natančnosti in lestvice- 10 ^ 38 +1 do 10 ^ 38 - 1.
tinyintUporablja se za shranjevanje celoštevilnih vrednostiOd 0 do 255
smallintUporablja se za shranjevanje celoštevilčnih vrednosti-2 ^ 15 (-32.768) do 2 ^ 15-1 (32.767)
bigintUporablja se za shranjevanje celoštevilčnih vrednosti-2 ^ 63 (-9.223.372.036.854.775.808) do 2 ^ 63-1 (9.223.372.036.854.775.807)
intUporablja se za shranjevanje celoštevilčnih vrednosti-2 ^ 31 (-2.147.483.648) do 2 ^ 31-1 (2.147.483.647)
bitShrani celoštevilčni podatkovni tip, ki ima vrednost 0, 1 ali NULL0, 1 ali NULL
decimalnoUporablja se za shranjevanje številskih vrednosti in ima fiksne številke natančnosti in lestvice- 10 ^ 38 +1 do 10 ^ 38 - 1.
drobni denarUporablja se za shranjevanje denarjaali valutne vrednosti.- 214.748,3648 do 214.748,3647
denarjaUporablja se za shranjevanje denarjaali vrednosti valut.-922.337.203.685.477,5808 do 922.337.203.685.477,5807 (-922.337.203.685.477,58
na 922.337.203.685.477,58 za Informatico.
Približne številke floatUporablja se za shranjevanje numeričnih podatkov s plavajočo vejico- 1,79E + 308 do -2,23E-308, 0 in 2,23E-308 do 1,79E + 308
resničnoUporablja se za shranjevanje numeričnih podatkov s plavajočo vejico- 3,40E + 38 do -1,18E - 38, 0 in 1,18E - 38 do 3,40E + 38
Datum in čas datumUporablja se za določanje datuma v strežniku SQL Server.Sintaksa: datum
mali časUporablja se za določanje datuma, ki je združen s časom dneva, pri katerem čas temelji na 24-urnem dnevu, pri čemer so sekunde vedno nič (: 00) in brez delnih sekund.Sintaksa: smalldatetime
Datum časUporablja se za določanje datuma, ki je združen s časom dneva z delnimi sekundami na podlagi 24-urne ure.Sintaksa: datum in čas
datetime2 datetime2 je kot podaljšek obstoječega Datum čas tip, ki ima večjo privzeto natančno delno natančnost, največje časovno obdobje.Sintaksa: datetime2
datetimeoffsetUporablja se za določanje datuma, ki je kombiniran s časom dneva, ki je seznanjen s časovnim pasom. Temelji na 24-urni uri.Sintaksa: datetimeoffset
časUporablja se za določanje dnevnega časa.Sintaksa: čas
Niz znakov charUporablja se za shranjevanje znakov fiksne velikosti.char[( n )], kjer se vrednost n spreminja od 1 do 8 000
varcharUporablja se za shranjevanje znakov spremenljive dolžine.varchar [( n | maks)], kjer se vrednost n razlikuje od 1-8000 in je največja dovoljena shramba 2 GB.
besediloUporablja se za shranjevanje vne-Unicode podatki spremenljive dolžineNajvečja dovoljena dolžina niza - 2 ^ 31-1 (2,147,483,647)
Nizi znakov Unicode ncharUporablja se za shranjevanje znakov fiksne velikosti.nchar[(n)], kjer se vrednost n razlikuje od 1 do 4000
nvarcharUporablja se za shranjevanje znakov spremenljive dolžine.varchar [( n | maks)], kjer se vrednost n spreminja od 1 do 4000 in je največja dovoljena shramba 2 GB.
ntextUporablja se za shranjevanje podatkov Unicode s spremenljivo dolžinoNajvečja dovoljena dolžina niza - 2 ^ 30-1 (2,147,483,647)
Binarni nizi binarnoUporablja se za shranjevanje binarnih podatkovnih vrst s fiksno dolžinobinarno[( n )], kjer se vrednost n spreminja od 1 do 8 000
varbinarnoUporablja se za shranjevanje binarnih podatkovnih vrst s fiksno dolžinovarbinarno[( n )], kjer se vrednost n razlikuje od 1-8000 in je največja dovoljena shramba 2 ^ 31-1 bajtov.
slikeUporablja se za shranjevanje binarnih podatkov s spremenljivo dolžino0 - 2 ^ 31-1 (2.147.483.647) bajtov
Druge vrste podatkov To je podatkovni tip za shranjene postopke ali spremenljivke IZHODNI parametri, ki vsebujejo sklic na kazalko.-
rowversionUporablja se za razkritje samodejno ustvarjenih enoličnih binarnih števil v zbirki podatkov.-
hierarhijaUporablja se za predstavitev položaja v hierarhiji.-
unikatni identifikatorJe 16-bajtni GUID.Sintaksa:unikatni identifikator
sql_variantUporablja se za shranjevanje vrednosti različnih podatkovnih vrst, ki jih podpira SQL ServerSintaksa: sql_variant
xmlUporablja se za shranjevanje podatkovnega tipa XML.

xml ([VSEBINA | DOKUMENT] xml_schemacollection)

Vrste prostorske geometrijeUporablja se za predstavitev podatkov v evklidskem (ravnem) koordinatnem sistemu.-
Vrste prostorske geografijeUporablja se za shranjevanje elipsoidnih (okroglih) podatkov, kot so koordinate zemljepisne širine in dolžine GPS.-
tabelaUporablja se za shranjevanje nabora rezultatov za poznejšo obdelavo-

Nato v tem članku naj razumemo različne vrste ključev in omejitev v zbirki podatkov.

Različne vrste tipk v zbirki podatkov

Sledijo različne vrste ključev, ki se uporabljajo v zbirki podatkov:

  • Ključ kandidata - Ključ kandidata je niz atributov, ki lahko enolično identificirajo tabelo. Tabela ima lahko več kot en ključ kandidata in med izbranimi ključi kandidat je za primarni ključ izbran en ključ.
  • Super Key - Nabor atributov lahko enolično identificira nabor. Ključi kandidat, unikatni ključi in primarni ključi so torej super ključi, vendar obratno ni res.
  • Primarni ključ - Primarni ključi se uporabljajo za enolično identifikacijo vsakega nabora.
  • Nadomestni ključ - Nadomestni ključi so tisti kandidati, ki niso izbrani kot primarni ključ.
  • Edinstven ključ- Edinstveni ključi so podobni primarnemu ključu, vendar v stolpcu dovoljujejo eno vrednost NULL.
  • Tuji ključ - Atribut, ki lahko samo vrednosti, ki so prisotne kot vrednosti nekaterih drugih atributov, je tuji ključ na atribut, na katerega se nanaša.
  • Sestavljeni ključ- Sestavljeni ključi so kombinacija dveh ali več stolpcev, ki vsak nabor enolično identificirajo.

Omejitve, uporabljene v zbirki podatkov

Omejitve se v zbirki podatkov uporabljajo za določanje pravil za podatke, shranjene v tabeli. Različne vrste omejitve v SQL so naslednji:

NI NULL

Omejitev NOT NULL zagotavlja, da stolpec ne more imeti vrednosti NULL.

Primer

USTVARI TABELO StudentInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000)) - NOT NULL na ALTER TABLE ALTER TABLE ŠtudentiInfo ALTER COLUMN PhoneNumber int NOT NULL

ENOTNA

Ta omejitev zagotavlja, da so vse vrednosti v stolpcu enolične.

Primer

- UNIQUE na Ustvari tabelo USTVARI TABELO StudentsInfo (StudentID int NOT NULL UNIQUE, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000)) - UNIQUE na več stolpciH USTVARI TABELO StudentInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) - UNIQUE na ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) - Če želite spustiti UNIQUE omejitev ALTER TABLE StudentInfo DROP CONSTRAINT UC_fotudija

PREVERITE

Omejitev CHECK zagotavlja, da vse vrednosti v stolpcu izpolnjujejo določen pogoj.

Primer

--CHECK Omejitev na USTVARI TABELO USTVARI TABELO StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000) CHECK (Country = 'India')) - CHECK Omejitev na več stolpcev USTVARI TABELO StudentInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) PREVERITE (Country = 'India' AND City = 'Hyderabad')) - PREVERITE Omejitev za ALTER TABLE ALTER TABLE StudentInfo ADD CHECK (Country = 'India') - Dati ime za CHECK Constraint ALTER TABLE StudentsInfo ADD CONSTRAINT CheckConstraintName CHECK (Country = 'India') - Če želite spustiti CHECK Constraint ALTER TABLE StudentsInfo DROP CONSTRAINT CheckConstraintName

PRIPOMOČNO

Omejitev DEFAULT je sestavljena iz nabora privzetih vrednosti za stolpec, kadar vrednost ni podana.

Primer

--DEFAULT Omejitev na CREATE TABLE CREATE TABLE StudentsInfo (StudentID int, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) DEFAULT 'India') --DEFAULT Omejitev za ALTER TABLE ALTER TABLE StudentInfo ADD CONSTRAINT defau_Country DEFAULT 'India' FOR Country - Če želite spustiti privzeto omejitev ALTER TABLE StudentInfo ALTER COLUMN Country DROP defau_Country

KAZALO

The Omejitev INDEX se uporablja za ustvarjanje indeksov v tabeli, s pomočjo katerih lahko zelo hitro ustvarite in pridobite podatke iz baze podatkov.

Sintaksa

- Ustvarite indeks, v katerem so dovoljene podvojene vrednosti. USTVARI INDEKS Indeksno ime ON TableName (Stolpec1, Stolpec2, ... StolpecN) - Ustvarite indeks, v katerem podvojene vrednosti niso dovoljene. USTVARI ENOTEN INDEKS Indeksno ime NA TableName (stolpec1, stolpec2, ... StolpecN)

Primer

USTVARI INDEKS idex_StudentName ON StudentsInfo (StudentName) - Če želite izbrisati indeks v tabeli DROP INDEX StudentsInfo.idex_StudentName

V tem članku o vadnici za SQL Server bomo zdaj razumeli različne ukaze jezika za upravljanje podatkov, ki se uporabljajo v strežniku Microsoft SQL Server.

Ukazi jezika za upravljanje podatkov

Ta odsek članka bo zajemal vse tiste ukaze, s katerimi lahko upravljate bazo podatkov. Ukazi so naslednji:

Poleg teh ukazov obstajajo tudi drugi manipulativni operaterji / funkcije, kot so:

UPORABA

Ta stavek se uporablja za izbiro baze podatkov za začetek izvajanja različnih operacij nad njo.

Sintaksa

USE DatabaseName

Primer

USE študentje

VSTAVITE V

The Stavek INSERT INTO se uporablja za vstavljanje novih zapisov v obstoječo tabelo.

Sintaksa

INSERT INTO TableName (Stolpec1, Stolpec2, Stolpec3, ..., StolpecN) VREDNOSTI (vrednost1, vrednost2, vrednost3, ...) - Če ne želite omenjati imen stolpcev, uporabite spodnjo sintakso INSERT INTO TableName VALUES (Vrednost1, Vrednost2, Vrednost3, ...)

Primer

INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, Address of Student, City, Country) VREDNOTE ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India ') VSTAVITE V VREDNOSTI študentov (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' India ')

NADGRADNJA

Stavek UPDATE se uporablja za spreminjanje ali posodabljanje zapisov, ki so že prisotni v tabeli.

Sintaksa

UPDATE IME tabele SET Stolpec1 = Vrednost1, Stolpec2 = Vrednost2, ... KJE Pogoj

Primer

UPDATE StudentInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WHERE StudentID = 1

IZBRIŠI

Stavek DELETE se uporablja za brisanje obstoječih zapisov v tabeli.

Sintaksa

IZBRIŠI IZ TableName WHERE Pogoj

Primer

IZBRIŠI IZ StudentInfo WHERE StudentName = 'Aahana'

GO

Stavek MERGE se uporablja za izvajanje operacij INSERT, UPDATE in DELETE v določeni tabeli, kjer je na voljo izvorna tabela. Glejte spodaj.

Sintaksa

MERGE TagretTableName UPORABA SourceTableName ON MergeCondition KDAJ SE UGOTOVILO TEDA Update_Statement KDAJ SE NI USTREZILO Insert_Statement KDAJ SE NISO UDELILI IZ VIRA Nato IZBRIS

Primer

Če želite razumeti stavek MERGE, upoštevajte naslednje tabele kot izvorno tabelo in ciljno tabelo.

Tabela virov:

StudentID Študentsko ime Oznake
enosovražim87
2.Manasa92
4.Anay74

Tabela ciljev:

StudentID Študentsko ime Oznake
enosovražim87
2.Manasa67
3.Saurabh55
MERGE SampleTargetTable CILJ Z UPORABO SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) KO SE UGOTAVLJA IN CILJ. KDAJ SE NE UJEMI CILJ, TAKO INSERT (StudentID, StudentName, Marks) VREDNOSTI (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) KDAJ SE NI USTREZAL VIR Nato IZBRIŠI

Izhod

StudentID Študentsko ime Oznake
enosovražim87
2.Manasa92
4.Anay74

IZBERI

The Stavek SELECT se uporablja za izbiro podatkov iz baze podatkov, tabele ali pogleda. Vrnjeni podatki so shranjeni v tabeli rezultatov, imenovani rezultat-niz .

Sintaksa

SELECT Stolpec1, Stolpec2, ... Stolpec FROM TableName - (*) se uporablja za izbiro vseh iz tabele SELECT * FROM table_name - Če želite izbrati število zapisov, ki jih želite vrniti: SELECT TOP 3 * FROM TableName

Primer

- Če želite izbrati nekaj stolpcev SELECT StudentID, se StudentName FROM StudentsInfo - (*) uporablja za izbiro vseh iz tabele SELECT * FROM StudentsInfo - Če želite izbrati število zapisov, ki jih želite vrniti: SELECT TOP 3 * FROM StudentsInfo

S stavkom SELECT lahko uporabimo tudi naslednje ključne besede:

IZRAZIT

Ključna beseda DISTINCT se uporablja z stavkom SELECT za vrnitev samo različnih vrednosti.

Sintaksa

IZBERI DISTINCT Stolpec1, Stolpec2, ... StolpecN IZ IME Tabele

Primer

IZBERITE DISTINCTNO telefonsko številko študentov

NAROČITE PO

Ta stavek se uporablja za razvrščanje zahtevanih rezultatov v naraščajočem ali padajočem vrstnem redu. Rezultati so privzeto shranjeni v naraščajočem vrstnem redu. Če pa želite rezultate dobiti v padajočem vrstnem redu, morate uporabiti DESC ključna beseda.

Sintaksa

IZBERI stolpec1, stolpec2, ... stolpecN IZ IMENA tabele ORDER BY Stolpec1, stolpec2, ... ASC | DESC

Primer

- Izberite vse študente iz tabele 'StudentsInfo', razvrščene po ParentName: SELECT * FROM StudentsInfo ORDER BY ParentName - Izberite vse študente iz tabele 'StudentsInfo', razvrščene po ParentName v padajočem vrstnem redu: SELECT * FROM StudentsInfo ORDER BY ParentName DESC Izberite vse študente iz tabele 'StudentsInfo', razvrščene po ParentName in StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Izberite vse študente iz tabele 'StudentsInfo', razvrščene po ParentName v padajočem vrstnem redu in StudentName v naraščajočem vrstnem redu: * / SELECT * OD StudentsInfo NAROČILO po nadrejenem ASC, StudentName DESC

SKUPINA PO

Ta stavek se uporablja z agregatne funkcije za združevanje nabora rezultatov v enega ali več stolpcev.

Sintaksa

IZBERI Stolpec1, Stolpec2, ..., StolpecN IZ IMENA Tabele KJER Pogoj SKUPINA PO IMENIH STOLPCEV NAROČI PO IMEH

Primer

- Našteti število študentov iz posameznega mesta. IZBERITE ŠTEVILO (StudentID), Mesto IZ Študentov INFO SKUPINA PO MESTU

GRUPIRANJE SETOV

NABORI RAZVRŠČANJA so bili uvedeni v SQL Server 2008, ki se uporablja za ustvarjanje nabora rezultatov, ki ga lahko generira UNIJA VSE več preprostih stavkov GROUP BY.

Sintaksa

IZBERITE IMENA STOLPCEV IZ SKUPINE IMEN NASLOV Z ZBIRANJEM NABOROV (Imena stolpcev)

Primer

IZBERITE StudentID, StudentName, COUNT (City) iz skupine StudentsInfo PO SKUPINSKIH NASTAVAH ((StudentID, StudentName, City), (StudentID), (StudentName), (City))

IMAJO

Ta klavzula se uporablja v scenariju, kjer je Ključna beseda WHERE ni mogoče uporabiti.

Sintaksa

IZBERITE Imena Stolpcev IZ IMENA Tabele, KJER Pogoj SKUPINA PO IMENIH STOLPCEV, KI IMAJO Pogoj NAROČILO PO IMENIH STOLPCEV

Primer

IZBERITE ŠTEVILO (ŠTUDENT), Mesto OD ŠTUDENTOV INFO SKUPINA PO MESTU ŠE ŠTEVILO (ŠTUDENT)> 2 NAROČI PO ŠT.

INTO

Ključno besedo INTO lahko uporabite z Stavek SELECT za kopiranje podatkov iz ene tabele v drugo. No, te tabele lahko razumete kot začasne. Začasne tabele se običajno uporabljajo za manipulacije s podatki v tabeli, ne da bi motili prvotno tabelo.

Sintaksa

SELECT * INTO NewTable [IN ExternalDB] FROM OldTable WHERE Pogoj

Primer

- Če želite ustvariti varnostno kopijo tabele 'StudentsInfo' SELECT * INTO StudentsBackup FROM StudentsInfo - Če želite izbrati le nekaj stolpcev iz StudentInfo SELECT StudentName, PhoneNumber INTO StudentsPetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'

KOCKA

CUBE je podaljšek Klavzula GROUP BY . Omogoča vam, da ustvarite vmesne seštevke za vse kombinacije stolpcev za razvrščanje, določene v stavku GROUP BY.

Sintaksa

IZBERITE IME STOLPCEV IZ IMENA SKUPINE PO KUBI (Ime stolpca1, Ime stolpca2, ....., Ime stolpca)

Primer

IZBERITE ID ŠT., ŠT. (Mesto) IZ Študentov INFO SKUPINA PO KUBI (ŠT. ŠT.)

ZAVIHAMO

ROLLUP je razširitev klavzule GROUP BY. To vam omogoča, da vključite dodatne vrstice, ki predstavljajo vmesne seštevke. Te se imenujejo super združene vrstice skupaj z vrstico z vsoto vsote.

Sintaksa

IZBERITE IME STOLPCEV IZ SKUPINE IMEN TABLE PO SKUPINI (Ime stolpca1, Ime stolpca2, ....., Ime stolpca)

Primer

IZBERITE ID ŠT., ŠT. (Mesto) IZ SKUPINE Študentov INFO (ŠT. ŠT.)

OFFSET

Klavzula OFFSET se uporablja s SELECT in Stavek ORDER BY za pridobitev vrste zapisov. Uporabljati ga je treba s klavzulo ORDER BY, ker je ni mogoče uporabiti samostojno. Obseg, ki ga omenite, mora biti enak ali večji od 0. Če omenite negativno vrednost, se prikaže napaka.

Sintaksa

IZBERITE Imena stolpcev) IZ IMENA Tabele KJER Pogoj NAROČI PO IMENIH STOLPCOV OFFSET RowsToSkip ROWS

Primer

Razmislite o novem stolpcu Oznake v Študentske informacije tabela.

IZBERITE ŠTUDENTSKO IME, IME NAREDILA IZ Študentske informacije NAROČI PO ZNAMKAH PREMIK 1 VRST

FETCH

Stavek FETCH se uporablja za vrnitev nabora številnih vrstic. Uporabljati ga je treba skupaj s klavzulo OFFSET.

Sintaksa

IZBERITE Imena stolpcev) IZ IMENA Tabele KJER Pogoj NAROČI PO IMEH stolpcev OFFSET RowsToSkip FETCH NEXT NumberOfRows SAMO VRSTE

Primer

IZBERITE ŠTUDENTSKO IME, IME staršev IZ ŠTUDIJSKE INFORMACIJE NAROČI PO OZNAKI POMAK 1 VRSTI PRENOS NASLEDNJIH VRST SAMO

VRH

Stavek TOP se uporablja z stavkom SELECT za omenjanje števila zapisov, ki jih je treba vrniti.

Sintaksa

IZBIRA NAJBOLJŠA Številka (-ja) Ime (-a) stolpca FROM (Ime-tabela) WHERE Pogoj

Primer

IZBERITE TOP 3 * IZ Študentske informacije

PIVOT

PIVOT se uporablja za vrtenje vrstic na vrednosti stolpcev in po potrebi združuje preostale vrednosti stolpcev.

Sintaksa

SELECT NonPivoted ColumnName, [First Pivoted ColumnName] AS ColumnName, [Second Pivoted ColumnName] AS ColumnName, [Third Pivoted ColumnName] AS ColumnName, ... [Last Pivoted ColumnName] AS ColumnName FROM (SELECT poizvedba, ki proizvaja podatke) AS [ali alias za začetno poizvedbo] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName stolpca, katere vrednosti bodo postale glave stolpcev] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last vrteči se stolpec])) AS [vzdevek za vrtilno tabelo]

Primer

Za podroben primer se lahko obrnete na moj članek o SQL PIVOT in UNPIVOT . V nadaljevanju te vadnice za SQL Server si oglejmo različne operaterje, ki jih podpira Microsoft SQL Server.

Operaterji

The različne vrste operaterjev ki jih podpira SQL Server, so naslednji:

Pogovorimo se o vsakem posebej.

Aritmetični operaterji

Operater Pomen Sintaksa

+

Dodatek

izraz + izraz

-

Odštevanje

izraz - izraz

*

Množenje

izraz * izraz

/

Divizija

izraz / izraz

%

Modusno

izraz% izraz

Operatorji dodelitve

Operater Pomen Sintaksa

=

Spremenljivki dodelite vrednost

spremenljivka = 'vrednost'

Bitni operaterji

Operater Pomen Sintaksa

& (Po bitnem in)

Uporablja se za izvajanje bitne logične operacije AND med dvema celoštevilnima vrednostma.

izraz in izraz

& = (Bit-bit in dodelitev)

Uporablja se za izvajanje bitne logične operacije AND med dvema celoštevilnima vrednostma. Prav tako nastavi vrednost na rezultat operacije.

izraz & = izraz

| (Bitno ALI)

Uporablja se za izvajanje bitne logične operacije ALI med dvema celoštevilnima vrednostma, prevedeno v binarne izraze znotraj stavkov Transact-SQL.

izraz | izraz

| = (Bitna ALI dodelitev)

Uporablja se za izvajanje bitne logične operacije ALI med dvema celoštevilnima vrednostma, prevedeno v binarne izraze znotraj stavkov Transact-SQL. Prav tako nastavi vrednost na rezultat operacije.

izraz | = izraz

^ (Bitno izključno ALI)

Uporablja se za izvedbo bitne ekskluzivne operacije ALI med dvema celoštevilnima vrednostma.

izraz ^ izraz

^ = (Bitno izključno ALI dodelitev)

Uporablja se za izvedbo bitne izključne operacije OR med dvema celoštevilnima vrednostma. Prav tako nastavi vrednost na rezultat operacije.

izraz ^ = izraz

~ (Bitno NE)

Uporablja se za izvajanje bitne logične operacije NOT nad celoštevilčno vrednostjo.

~ izraz

Primerjalni operaterji

Operater Pomen Sintaksa

=

Enako

izraz = izraz

>

Večji kot

izraz> izraz

<

Manj kot

izraz

> =

Večja ali enaka

izraz> = izraz

<=

Manj ali enako

izraz<= expression

Ni enako

izraz izraz

! =

Ni enako

izraz! = izraz

!<

Nič manj kot

izraz!

!>

Ne več kot

izraz!> izraz

Sestavljeni operaterji

Operater Pomen Sintaksa

+ =

Uporablja se za dodajanje vrednosti prvotni vrednosti in nastavitev prvotne vrednosti na rezultat.

izraz + = izraz

- =

Uporablja se za odštevanje vrednosti od prvotne vrednosti in nastavitev prvotne vrednosti na rezultat.

izraz - = izraz

* =

Uporablja se za pomnožitev vrednosti na prvotno vrednost in nastavitev prvotne vrednosti na rezultat.

izraz * = izraz

/ =

Uporablja se za delitev vrednosti od prvotne vrednosti in nastavitev prvotne vrednosti na rezultat.

izraz / = izraz

% =

Uporablja se za delitev vrednosti od prvotne vrednosti in nastavitev prvotne vrednosti na rezultat.

izraz% = izraz

& =

Uporablja se za izvedbo bitne operacije AND in nastavitev prvotne vrednosti na rezultat.

izraz & = izraz

^ =

Uporablja se za izvedbo bitne ekskluzivne operacije OR in nastavitev prvotne vrednosti na rezultat.

izraz ^ = izraz

| =

Uporablja se za izvajanje bitne operacije ALI in nastavitev prvotne vrednosti na rezultat.

izraz | = izraz

Logični operaterji

Operater Pomen Sintaksa

VSE

Vrne TRUE, če so vsi nabori primerjav TRUE.

scalar_expression! = VSE (podpoizvedba)

IN

Vrne TRUE, če sta oba izraza TRUE.

boolean_expression in boolean_expression

KAJ

Vrne TRUE, če je katera od nizov primerjav TRUE.

skalarni_izraz! = {VSAKO} (podpoizvedba)

MED

Vrne TRUE, če je operand znotraj obsega.

vzorec izraza [NOT] MED začetkom izražanja IN končnim izrazom

OBSTOJI

Vrne TRUE, če podpoizvedba vsebuje katere koli vrstice.

OBSTOJI (podpoizvedba)

IN

Vrne TRUE, če je operand enak seznamu izrazov.

test_expression [NOT] IN (podpoizvedba | izraz [,… n])

LIKE

Vrne TRUE, če se operand ujema z vzorcem.

match_expression [NOT] LIKE pattern [ESCAPE escape_character]

NE

Obrne vrednost katerega koli logičnega operaterja.

[NOT] boolean_expression

ALI

Vrne TRUE, če je kateri koli od logičnih izrazov TRUE.

boolean_expression ALI boolean_expression

NEKATERI

Vrne TRUE, če je del nabora primerjav TRUE.

skalarni_izraz<= { SOME} ( subquery )

Operaterji ločljivosti obsega

Operater Pomen Primer

::

Omogoča dostop do statičnih članov sestavljenega podatkovnega tipa. Sestavljeni podatkovni tipi so tisti podatkovni tipi, ki vsebujejo več metod in enostavnih podatkovnih tipov. Sestavljeni tipi podatkov Sem spadajo vgrajeni tipi CLR in uporabniško določeni tipi SQLCLR po meri (UDT).

IZJAVITE @hid hierarchyid SELECT @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString ()

Nastavite operaterje

V glavnem obstajajo trije sklopi:UNIJA,INTERSECT,MINUS. Za razumevanje nastavljenih operacij v SQL lahko uporabite spodnjo sliko. Glejte spodnjo sliko:

Operater Pomen Sintaksa

UNIJA

Operator UNION se uporablja za kombiniranje nabora rezultatov dveh ali več stavkov SELECT.

IZBERITE IME Stolpcev IZ Tabele1
UNIJA
IZBERITE IME Stolpcev IZ Tabele2

INTERSECT

Stavek INTERSECT se uporablja za kombiniranje dvehIZBERIin vrne presečišče naborov podatkov obeh stavkov SELECT.

IZBERI stolpec1, stolpec2….
FROM TableName
KJE Stanje
INTERSECT
IZBERI stolpec1, stolpec2….
FROM TableName
KJE Stanje

RAZEN

Operator EXCEPT vrne tiste nabore, ki jih vrne prva operacija SELECT, druga operacija SELECT pa jih ne vrne.

IZBERI Ime stolpca
FROM TableName
RAZEN
IZBERI Ime stolpca
FROM TableName

String Operatorji

Operater Pomen Sintaksa / primer

+ (Združevanje nizov)

Združi dva ali več binarnih nizov ali znakovnih nizov, stolpcev ali kombinacije nizov in imen stolpcev v en izraz

izraz + izraz

+ = (Združevanje nizov)

Uporablja se za združevanje dveh nizov in niz nastavi na rezultat operacije.

izraz + = izraz

% (Znaki z nadomestnimi znaki)

Uporablja se za ujemanje katerega koli niza z nič ali več znakov.

Primer: 'vzorec%'

[] (Nadomestni znaki, ki se ujemajo)

Uporablja se za ujemanje enega znaka znotraj določenega obsega ali nabora, ki je podan med oklepaji [].

Primer: m [n-z]% ’

[^] (Nadomestni znaki, ki se ujemajo)

Uporablja se za ujemanje enega znaka, ki ni znotraj obsega ali nabora, določenega med oglatimi oklepaji.

Primer: ‘Al [^ a]%’

_ (Znaki z nadomestnimi znaki)

Uporablja se za ujemanje enega znaka v operaciji primerjave nizov

test_expression [NOT] IN (podpoizvedba | izraz [,… n])

Skupno Funkcije

Drugačen agregatne funkcije ki jih podpira SQL Server, so naslednji:

Funkcija Opis Sintaksa Primer

SUM ()

Uporablja se za vrnitev vsote skupine vrednosti.

SELECT SUM (ColumnName) FROM TableName

IZBERITE SUM (Oznake) IZ Študentske informacije

ŠTEVILO ()

Vrne število vrstic na podlagi pogoja ali brez pogoja.

SELECT COUNT (ColumnName) FROM TableName WHERE Pogoj

IZBERITE ŠTEVILO (StudentID) IZ StudentInfo

AVG ()

Uporablja se za izračun povprečne vrednosti številskega stolpca.

SELECT AVG (ColumnName) FROM TableName

SELECT AVG (Marks) FROM StudentsInfo

MIN ()

Ta funkcija vrne najmanjšo vrednost stolpca.

SELECT MIN (ColumnName) FROM TableName

IZBERITE MIN (ocene) IZ Študentske informacije

MAX ()

Vrne največjo vrednost stolpca.

SELECT MAX (ColumnName) IZ TableName

SELECT MAX (Marks) FROM StudentsInfo

ZAČETNA ()

Uporablja se za vrnitev prve vrednosti stolpca.

IZBERITE PRVO (Ime stolpca) IZIme tabele

IZBERITE PRVO (Oznake) IZ Študentske informacije

ZADNJE ()

Ta funkcija vrne zadnjo vrednost stolpca.

SELECT LAST (ColumnName) IZ TableName

IZBERITE ZADNJE (Oznake) IZ Študentske informacije

Uporabniško določene funkcije

Microsoft SQL Server omogoča uporabnikom, da ustvarijo uporabniško določene funkcije, ki so rutine. Te rutine sprejemajo parametre, lahko izvajajo preproste do zapletene akcije in rezultat tega določenega dejanja vrnejo kot vrednost. Vrnjena vrednost je lahko ena skalarna vrednost ali celoten niz rezultatov.

Uporabniško določene funkcije lahko uporabite za:

  • Dovoli modularno programiranje
  • Zmanjšajte omrežni promet
  • Omogoči hitrejše izvajanje poizvedb

Obstajajo tudi različne vrste uporabniško določenih funkcij, ki jih lahko ustvarite. To so:

  • Skalarne funkcije: Navajenvrne eno podatkovno vrednost vrste, definirane v stavku RETURNS.
  • Funkcije, vrednotene s tabelo: Navajenvrni atabelapodatkovni tip.
  • Sistemske funkcije: SQL Server ponuja različne sistemske funkcije za izvajanje različnih operacij.

No, poleg uporabniško določenih funkcij je v SQL Serverju še kup vgrajenih funkcij, ki se lahko uporabljajo za izvajanje različnih nalog. Nadaljujemo v tem članku o vadnici SQL Server, zato bomo zdaj razumeli, kaj so ugnezdene poizvedbe.

Vgnezdene poizvedbe

Vgnezdene poizvedbe so tiste poizvedbe, ki imajo zunanjo in notranjo poizvedbo. V bistvu je podpoizvedba poizvedba, ki je ugnezdena v drugo poizvedbo, kot je SELECT, INSERT, UPDATE ali DELETE. Glejte spodnjo sliko:

V nadaljevanju te vadnice za SQL Server nam dovolite, da razumemo različne vrste združitev v SQL.

Pridruži se

se uporabljajo za združevanje nabora iz dveh ali več tabel na podlagi povezanega stolpca med tabelami. Obstajajo štiri vrste pridružitev:

  • INNER JOIN: Vrne zapise, ki imajo ujemajoče se vrednosti v obeh tabelah.
  • LEVO PRIDRUŽITEV: Vrne zapise iz leve tabele in tudi tiste zapise, ki izpolnjujejo pogoj iz desne tabele.
  • PRAVO PRIDRUŽITEV: Vrne zapise iz desne tabele in tudi tiste zapise, ki izpolnjujejo pogoj iz leve tabele.
  • FULL JOIN: Vrne zapise, ki se ujemajo v levi ali desni tabeli.

Za razumevanje skladnje združitev si oglejte naslednjo tabelo skupaj s tabelo StudentsInfo.

SubjectID StudentID SubjectName
10.10.Matematika
2.enajstFizika
3.12.Kemija

INNER JOIN

Sintaksa

IZBERI IME STOLPCEV IZ tabele1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Primer

SELECT Subjects.SubjectID, StudentsInfo.StudentName FROM Subjects INNER JOIN StudentInfo ON Subjects.StudentID = StudentsInfo.StudentID

LEVO PRIDRUŽITE

Sintaksa

IZBERI IME STOLPCEV IZ tabele1 LEFT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Primer

IZBERITE StudentInfo.StudentName, Subjects.SubjectID FROM StudentsInfo LEVO PRIDRUŽITE PREDMETI NA StudentsInfo.SubjectID = Subjects.SubjectID NAROČITE S strani StudentsInfo.StudentName

PRAVO PRIDRUŽI

Sintaksa

IZBERI IME STOLPCEV IZ tabele1 DESNO PRIDRUŽITEV Tabela2 ON Tabela1.ColumnName = Tabela2.ColumnName

Primer

IZBERITE StudentInfo.StudentName, Subjects.SubjectID FROM StudentsInfo DESNO PRIDRUŽITE PREDMETE NA StudentsInfo.SubjectID = Subjects.SubjectID NAROČITE S strani StudentsInfo.StudentName

FULL JOIN

Sintaksa

IZBERI IME STOLPCEV IZ tabele1 FULL OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Primer

kaj je aplikacija v prodajni sili
IZBERITE StudentInfo.StudentName, Subjects.SubjectID FROM StudentsInfo FULL OUTER JOIN Subjectments ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName

Nato v tem članku o vadnici SQL Server razložimo različne vrste zank, ki jih podpira SQL Server.

Zanke

Različni ukazi za nadzor pretoka so naslednji:

Pogovorimo se o vsakem posebej.

ZAČNI..END

Te ključne besede se uporabljajo za zapiranje vrste stavkov SQL. Nato lahko izvedemo to skupino stavkov SQL.

Sintaksa

BEGIN StatementBlock END

PREKINI

Ta stavek se uporablja za izhod iz trenutne zanke WHILE. V primeru, da je trenutna zanka WHILE ugnezdena znotraj druge zanke, potem stavek BREAK zapusti samo trenutno zanko in nadzor se prenese na naslednji stavek v trenutni zanki. Stavek BREAK se običajno uporablja znotraj stavka IF.

Sintaksa

PREKINI

NADALJUJ

Stavek CONTINUE se uporablja za ponovni zagon zanke WHILE. Torej bodo vsi stavki po ključni besedi CONTINUE prezrti.

Sintaksa

NADALJUJ

Tu je oznaka točka, po kateri se začne obdelava, če je GOTO usmerjen na določeno oznako.

POJDI DO

Uporablja se za spreminjanje toka izvedbe na etiketo. Izjave, napisane po ključni besedi GOTO, se preskočijo in obdelava se nadaljuje na nalepki.

Sintaksa

Določi oznako: Oznaka: Spremeni izvedbo: Oznaka GOTO

Tu je oznaka točka, po kateri se začne obdelava, če je GOTO usmerjen na določeno oznako.

ČE POTEM

Kot kateri koli drug programski jezik tudi izjava If-else v SQL Serverju preizkuša stanje in če je pogoj neresničen, se izvrši stavek 'else'.

Sintaksa

IF BooleanExpression StatementBlock [ELSE StatementBlock]

VRNITEV

Uporablja se za brezpogojni izhod iz poizvedbe ali postopka. Izjave, ki so napisane za stavkom RETURN, se ne izvršijo.

Sintaksa

RETURN [IntegerExpression]

Tu se vrne celoštevilska vrednost.

POČAKAJ NA

Nadzorni tok WAITFOR se uporablja za blokiranje izvajanja shranjene procedure, transakcije ali paketa, dokler se določen stavek ne spremeni, vrne vsaj eno vrstico ali poteče določen čas ali časovni interval.

Sintaksa

WAITFOR (GetConversionGroupStatement)] [, TIMEOUT timeout]

kje,

  • ODLOŽITEV - Čas, ki mora preteči
  • TimeToPass - Pčas za čakanje
  • ČAS - Thečas, ko se zažene shranjena procedura, transakcija ali paket.
  • TimeToExecute - Thečas, ko se izjava WAITFOR konča.
  • RecieveStatement - TOveljavna izjava RECEIVE.
  • GetConversionGroupStatement - TOveljaven stavek GET CONVERSATION GROUP.
  • Časovna omejitev TIMEOUT - Določa časovno obdobje, v milisekundah, do čakanja na prihod sporočila v čakalno vrsto.

MEDTEM

Ta zanka se uporablja za nastavitev pogoja za večkratno izvajanje določenega stavka SQL ali bloka stavka SQL. Izjave se izvajajo, dokler je pogoj, ki ga je omenil uporabnik, TRUE. Takoj, ko stanje ne uspe, se zanka preneha izvajati.

Sintaksa

WHILE BooleanExpression StatementBlock

Zdaj, ko poznate ukaze DML, pojdimo na naš naslednji razdelekv tem članku o vadnici SQL, tj. ukazi DCL.

Ukazi za nadzor podatkov (DCL)

V tem razdelku vadnice SQL Server boste dobili predstavo o ukazu, s pomočjo katerega se uveljavi varnost baze podatkov v več okoljih uporabniških baz podatkov. Ukazi so naslednji:

DODELITE

Ukaz GRANT se uporablja za zagotavljanje dostopa ali privilegijev do baze podatkov in njenih predmetov uporabnikom.

Sintaksa

GRANT PrivilegeName ON ObjectName RoleName [S GRANT OPTION]

kje,

  • PrivilegeName - Ali je privilegij / pravica / dostop dodeljen uporabniku.
  • ObjectName - Ime predmeta baze podatkov, kot je TABLE / VIEW / STORED PROC.
  • UserName - Ime uporabnika, ki dobi dostop / pravice / privilegije.
  • JAVNO - dodeliti pravice dostopa vsem uporabnikom.
  • RoleName - Ime sklopa privilegijev, združenih v skupino.
  • Z DODELJENO MOŽNOSTJO - omogočiti uporabniku dostop, da drugim uporabnikom podeli pravice.

Primer

- Če želite uporabniku1 podeliti dovoljenje SELECT za tabelo StudentsInfo. GRANT SELECT ON StudentInfo TO user1

ODPOVEDI

Ukaz REVOKE se uporablja za odvzem uporabnikovih pravic dostopa, podanih z ukazom GRANT.

Sintaksa

ODPOVEDI PrivilegeName ON ObjectName FROM PUBLIC

Primer

- Preklicati odobreno dovoljenje uporabnika1 REVOKE SELECT ON ON StudentInfo TO user1

Nadaljujemo v tej vadnici SQL Server, da bomo razumeli, kako ustvariti in uporabljati shranjene postopke.

Shranjeni postopki

Shranjeni postopki so enote za večkratno uporabo, ki vsebujejo določeno poslovno logiko aplikacije. Gre torej za skupino stavkov in logike SQL, ki so zbrani in shranjeni za izvajanje določene naloge.

Sintaksa

USTVARI [ALI ZAMENJAJ] POSTOPEK ime_procedura [(ime_parametra [IN | OUT | IN OUT] vrsta [])] JE ZAČETEK [odsek_deklaracije] izvršljivi_razdelek // Stavek SQL, uporabljen v shranjeni proceduri END GO

Primer

- Ustvarite postopek, ki bo vrnil ime študenta, ko bo StudentId podan kot vhodni parameter v shranjeni postopek. BEGIN SELECT @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END

Koraki za izvedbo:

      • Prijavi @StudName kot nvarchar (50)
      • EXEC GetStudentName 01, izhod @StudName
      • SELECT @StudName

Zgornji postopek vrne ime določenega študenta,na tem, da študentu daste id kot vložek. V nadaljevanju te vadnice SQL Server nam razložite ukaze jezika za nadzor transakcij.

Ukazi jezika za nadzor transakcij (TCL)

Ta razdelek vadnice SQL Server vam bo dal vpogled v ukaze, ki se uporabljajo za upravljanje transakcij v zbirki podatkov.Ukazi so naslednji:

OBVEZI

Ukaz COMMIT se uporablja za shranjevanje transakcije v bazo podatkov.

Sintaksa

OBVEZI

POVRAT

Ukaz ROLLBACK se uporablja za obnovitev baze podatkov v zadnje zavzeto stanje.

Sintaksa

POVRAT

OPOMBA: Ko uporabite ROLLBACK s programom SAVEPOINT, lahko v trenutni transakciji neposredno skočite na točko shranjevanja. Sintaksa: ROLLBACK TO SavepointName

SAVEPOINT

Ukaz SAVEPOINT se uporablja za začasno shranjevanje transakcije. Torej, če se želite vrniti na katero koli točko, jo lahko shranite kot 'SAVEPOINT'.

Sintaksa

SAVEPOINT SAVEPOINTNAME

Za razumevanje delovanja transakcij v bazi podatkov si oglejte spodnjo tabelo.

StudentID Študentsko ime
enoRohit
2.Suhana
3.Ašiški
4.Prerna

Zdaj uporabite spodnje za razumevanje transakcij v bazi podatkov.

VSTAVITE V VREDNOTE Študentske tabele (5, 'Avinash') OBVEZI POSODOBITEV Študentske tabele SET name = 'Akash' WHERE id = '5' SAVEPOINT S1 VSTAVITE V VREDNOST Študentske mize (6, 'Sanjana') SAVEPOINT S2 VSTAVITE V VREDNOST Študentske tabele (7, 'Sanjay ') SAVEPOINT S3 VSTAVI V VREDNOSTI študentske tabele (8,' Veena ') SAVEPOINT S4 SELECT * FROM StudentTable

Nato v tem članku o vadnici SQL Server nam razložite, kako ravnati z izjemami v Transact-SQL.

Ravnanje z izjemami

Obstajata dve vrsti izjem, tj. Sistemsko določene izjeme in uporabniško določene izjeme. Kot že ime pove, je ravnanje z izjemami postopek, s katerim lahko uporabnik obravnava ustvarjene izjeme. Če želite obvladati izjeme, morate razumeti naslednje stavke krmilnega toka:

VRETI

Ta klavzula se uporablja za uveljavitev izjeme in prenos izvedbe v blok CATCH konstrukcije TRY… CATCH.

Sintaksa

THROW [ErrorNumber, @localvariable, State] []

kje,

  • ErrorNumber - TOkonstanta ali spremenljivka, ki predstavlja izjemo.
  • Sporočilo - TOspremenljivka ali niz, ki opisuje izjemo.
  • Država -Konstanta ali spremenljivka med 0 in 255, ki označuje stanje, ki ga želite povezati s sporočilom.
THROW 51000, 'Zapis ne obstaja.', 1

POSKUSITE..UJEM

Uporablja se za izvajanje ravnanja z izjemami v Transact-SQL. Skupina stavkov je lahko zaprta v bloku TRY. Če pride do napake v bloku TRY, se nadzor posreduje drugi skupini stavkov, ki so zaprti v bloku CATCH.

Sintaksa

BEGIN TRY StatementBlock END TRY BEGIN CATCH [StatementBlock] END CATCH []
BEGIN TRY SELECT * FROM StudentsInfo END TRY BEGIN CATCH SELECT ERROR_NUMBER () AS ErNum, ERROR_MESSAGE () AS ErMsg END CATCH

IN S tem smo prišli do konca tega članka o Vadnici za SQL Server. Upam, da ste uživali v branju tega članka o vadnici za SQL Server za začetnike.jaz če se želite udeležiti strukturiranega usposabljanja za MySQL, si oglejte naš ki prihaja z usposabljanjem pod vodstvom inštruktorjev v živo in resničnimi izkušnjami s projekti. Ta trening vam bo pomagal poglobljeno razumeti MySQL in vam pomagal doseči obvladovanje zadeve. Imate vprašanje za nas? Prosimo, navedite to v oddelku za komentarje v Vadnica za SQL Server ”In se vam oglasim.