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 |
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. |
Ta niz ukazov obravnava dovoljenja, pravice in druge kontrole sistemov baz podatkov. | |
Ti ukazi se uporabljajo za se ukvarjajo s transakcijo baze podatkov. |
V tem članku so poleg ukazov obravnavane naslednje teme:
- Kaj je SQL Server?
- Namestite SQL Server
- Povežite se s strežnikom SQL Server s pomočjo SSMS
- Dostopite do zbirke podatkovnih baz
- Arhitektura SQL Server
- Komentarji v SQL
- Podatkovni tipi SQL Server
- Ključi v bazi podatkov
- Omejitve v zbirki podatkov
- Operaterji
- Združene funkcije
- Uporabniško določene funkcije
- Vgnezdene poizvedbe
- Pridruži se
- Zanke
- Shranjeni postopki
- 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 |
eno | sovražim | Akriti mehra | 9955339966 | Blok ceste 9 | Hyderabad | Indija |
2. | Manasa | Shourya Sharma | 9234568762 | Mayo Road 15 | Kolkata | Indija |
3. | Anay | Soumya Mishra | 9876914261 | Marathallijeva hiša št. 101 | Bengaluru | Indija |
4. | Preeti | Rohan Sinha | 9765432234 | Queens Road 40 | Delhi | Indija |
5. | Shanaya | Abhinay agarwal | 9878969068 | Ulica Oberoi 21 | Mumbaj | Indija |
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čno | Uporablja se za shranjevanje številskih vrednosti in ima fiksne številke natančnosti in lestvice | - 10 ^ 38 +1 do 10 ^ 38 - 1. |
tinyint | Uporablja se za shranjevanje celoštevilnih vrednosti | Od 0 do 255 | |
smallint | Uporablja se za shranjevanje celoštevilčnih vrednosti | -2 ^ 15 (-32.768) do 2 ^ 15-1 (32.767) | |
bigint | Uporablja 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) | |
int | Uporablja se za shranjevanje celoštevilčnih vrednosti | -2 ^ 31 (-2.147.483.648) do 2 ^ 31-1 (2.147.483.647) | |
bit | Shrani celoštevilčni podatkovni tip, ki ima vrednost 0, 1 ali NULL | 0, 1 ali NULL | |
decimalno | Uporablja se za shranjevanje številskih vrednosti in ima fiksne številke natančnosti in lestvice | - 10 ^ 38 +1 do 10 ^ 38 - 1. | |
drobni denar | Uporablja se za shranjevanje denarjaali valutne vrednosti. | - 214.748,3648 do 214.748,3647 | |
denarja | Uporablja 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 | float | Uporablja 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čno | Uporablja 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 | datum | Uporablja se za določanje datuma v strežniku SQL Server. | Sintaksa: datum |
mali čas | Uporablja 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 čas | Uporablja 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 | |
datetimeoffset | Uporablja se za določanje datuma, ki je kombiniran s časom dneva, ki je seznanjen s časovnim pasom. Temelji na 24-urni uri. | Sintaksa: datetimeoffset | |
čas | Uporablja se za določanje dnevnega časa. | Sintaksa: čas | |
Niz znakov | char | Uporablja se za shranjevanje znakov fiksne velikosti. | char[( n )], kjer se vrednost n spreminja od 1 do 8 000 |
varchar | Uporablja 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. | |
besedilo | Uporablja se za shranjevanje vne-Unicode podatki spremenljive dolžine | Največja dovoljena dolžina niza - 2 ^ 31-1 (2,147,483,647) | |
Nizi znakov Unicode | nchar | Uporablja se za shranjevanje znakov fiksne velikosti. | nchar[(n)], kjer se vrednost n razlikuje od 1 do 4000 |
nvarchar | Uporablja 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. | |
ntext | Uporablja se za shranjevanje podatkov Unicode s spremenljivo dolžino | Največja dovoljena dolžina niza - 2 ^ 30-1 (2,147,483,647) | |
Binarni nizi | binarno | Uporablja se za shranjevanje binarnih podatkovnih vrst s fiksno dolžino | binarno[( n )], kjer se vrednost n spreminja od 1 do 8 000 |
varbinarno | Uporablja se za shranjevanje binarnih podatkovnih vrst s fiksno dolžino | varbinarno[( n )], kjer se vrednost n razlikuje od 1-8000 in je največja dovoljena shramba 2 ^ 31-1 bajtov. | |
slike | Uporablja se za shranjevanje binarnih podatkov s spremenljivo dolžino | 0 - 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. | - | |
rowversion | Uporablja se za razkritje samodejno ustvarjenih enoličnih binarnih števil v zbirki podatkov. | - | |
hierarhija | Uporablja se za predstavitev položaja v hierarhiji. | - | |
unikatni identifikator | Je 16-bajtni GUID. | Sintaksa:unikatni identifikator | |
sql_variant | Uporablja se za shranjevanje vrednosti različnih podatkovnih vrst, ki jih podpira SQL Server | Sintaksa: sql_variant | |
xml | Uporablja se za shranjevanje podatkovnega tipa XML. | xml ([VSEBINA | DOKUMENT] xml_schemacollection) | |
Vrste prostorske geometrije | Uporablja se za predstavitev podatkov v evklidskem (ravnem) koordinatnem sistemu. | - | |
Vrste prostorske geografije | Uporablja se za shranjevanje elipsoidnih (okroglih) podatkov, kot so koordinate zemljepisne širine in dolžine GPS. | - | |
tabela | Uporablja 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 |
eno | sovražim | 87 |
2. | Manasa | 92 |
4. | Anay | 74 |
Tabela ciljev:
StudentID | Študentsko ime | Oznake |
eno | sovražim | 87 |
2. | Manasa | 67 |
3. | Saurabh | 55 |
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 |
eno | sovražim | 87 |
2. | Manasa | 92 |
4. | Anay | 74 |
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:
- Aritmetični operaterji
- Operatorji dodelitve
- Bitni operaterji
- Primerjalni operaterji
- Sestavljeni operaterji
- Logični operaterji
- Operaterji ločljivosti obsega
- Nastavite operaterje
- Operaterji združevanja nizov
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]) |
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. | enajst | Fizika |
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 |
eno | Rohit |
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.