Šiandienos rinkoje, kur kiekvieną dieną gaunama daugybė duomenų, labai svarbu suprasti, kaip elgtis su duomenimis. „SQL Server“ yra integruota aplinka, kurią „Microsoft“ sukūrė tvarkyti duomenis.Šiame „SQL Server“ mokymo programos straipsnyje sužinosite visas operacijas ir komandas, kurių reikia norint ištirti savo duomenų bazes.
Kad geriau suprastumėte, padalinau tinklaraštį į šias kategorijas:
Komandos | apibūdinimas |
Šis komandų rinkinys naudojamas apibrėžti duomenų bazę. | |
Duomenų manipuliavimo kalbos komandos (DML) | Manipuliavimo komandos naudojamos manipuliuoti duomenų bazėje esančiais duomenimis. |
Šis komandų rinkinys susijęs su leidimais, teisėmis ir kitais duomenų bazių sistemų valdymais. | |
Šios komandos yra naudojamos spręsti duomenų bazės sandorį. |
Šiame straipsnyje aptariamos ne tik komandos, bet ir šios temos:
- Kas yra „SQL Server“?
- Įdiekite „SQL Server“
- Prisijunkite prie SQL serverio naudodami SSMS
- Prieigos duomenų bazės variklis
- SQL serverio architektūra
- Komentarai SQL
- SQL serverio duomenų tipai
- Raktai duomenų bazėje
- Apribojimai duomenų bazėje
- Operatoriai
- Suvestinės funkcijos
- Vartotojo nustatytos funkcijos
- Įdėtos užklausos
- Prisijungia
- Kilpos
- Saugomos procedūros
- Išimčių tvarkymas
*** PASTABA *** Šioje „SQL Server“ pamokoje aš apsvarstysiu toliau pateiktą duomenų bazę kaippavyzdys, parodantis, kaip išmokti ir rašytikomandos.
Studento pažymėjimas | Studento vardas | ParentName | Telefono numeris | Adresas | Miestas | Šalis |
vienas | Aš nekenčiu | Akriti mehra | 9955339966 | 9 brigados kelio blokas | Hyderabad | Indija |
2 | Manasa | Shourya Sharma | 9234568762 | Mayo kelias 15 | Kolkata | Indija |
3 | Anay | Soumya Mishra | 9876914261 | Marathalli namas Nr. 101 | Bengaluru | Indija |
4 | Preeti | Rohanas Sinha | 9765432234 | Queens Road 40 | Delis | Indija |
5 | Šanaja | Abhinay agarwal | 9878969068 | Oberoi g. 21 | Mumbajus | Indija |
Prieš pradėdami suprasti skirtingas komandas, naudojamas „SQL Server“, leiskite mums suprasti, kas yra „SQL Server“, jo architektūra ir kaip ją įdiegti.
Kas yra „SQL Server“?
„Microsoft SQL Server“ yra reliacinis duomenų bazių valdymo sistema . Jis palaiko Struktūruota užklausos kalba ir ateina su savo įdiegta SQL kalba, kuri yra „Transact-SQL“ (T-SQL) . Ji turi integruotą aplinką tvarkyti SQL duomenų bazes, o tai yra .
Pagrindiniai „SQL Server“ komponentai yra šie:
- Duomenų bazės variklis: Šis komponentas tvarko saugojimą, greitą operacijų apdorojimą ir duomenų apsaugą.
- SQL serveris - Ši paslauga naudojama paleisti, sustabdyti, pristabdyti ir tęsti „MS SQL Server“ egzempliorių.
- SQL serverio agentas - „Server Agent“ paslauga atlieka užduočių planavimo funkciją ir ją suaktyvina bet koks įvykis arba kaip reikalaujama.
- SQL serverio naršyklė - Ši paslauga naudojama norint prijungti gaunamą užklausą prie norimo SQL serverio egzemplioriaus.
- SQL serverio viso teksto paieška - Naudojamas leisti vartotojui vykdyti viso teksto užklausas pagal SQL lentelių simbolių duomenis.
- „SQL Server VSS Writer“ - Leidžia kurti atsargines kopijas ir atkurti duomenų failus, kai neveikia „SQL Server“.
- SQL serverio analizės paslaugos (SSAS) - Ši paslauga naudojama duomenų analizei, duomenų gavybai ir galimybes. SQL serveris taip pat yra integruotas su ir R pažangiai duomenų analizei.
- „SQL Server Reporting Services“ (SSRS) - Kaip rodo pavadinimas, ši paslauga naudojama teikiant funkcijas ir sprendimų priėmimo galimybes, įskaitant integraciją su .
- SQL serverio integravimo paslaugos (SSIS) - Ši paslauga naudojama norint atlikti įvairių tipų duomenų iš kelių duomenų šaltinių ETL operacijas.
Dabar, kai žinote, kas yra „MS SQL Server“, eikime į priekį šiame straipsnyje apie „SQL Server“ mokymo programą ir supraskime, kaip įdiegti ir nustatyti „SQL Server“.
Įdiekite „SQL Server“
Norėdami įdiegti „SQL Server“, atlikite šiuos veiksmus:
1 žingsnis: Eikite į oficialų „Microsoft SQL Server“ atsisiuntimas , kur rasite galimybę įdiegti „SQL Server“ vietoje arba debesyje.
2 žingsnis: Dabar slinkite žemyn ir pamatysite dvi parinktis: „Developer & Enterprise“ leidimas . Čia aš atsisiųsiu Kūrėjo leidimas . Norėdami atsisiųsti, tereikia spustelėti Parsisiųsti dabar variantą. Žiūrėkite žemiau.
3 žingsnis: Kai programa bus atsisiųsta, dukart spustelėkite failą ir pamatysite šį langą.
skirtumas tarp qtp ir seleno
4 žingsnis: Dabar galite pasirinkti bet kurią iš 3 „SQL Server“ sąrankos parinkčių. Čia aš tiesiog pasirinksiu Pagrindinis variantas . Pasirinkus diegimo tipo parinktį, kitas ekranas bus sutikti su licencijos sutartimi. Norėdami tai padaryti, spustelėkite Priimti kitame lange.
5 žingsnis: Tada turite nurodyti SQL serverio diegimo vietą. Tada turite spustelėti Diegti.
Kai spustelėsite Diegti , pamatysite, kad reikalingi paketai atsisiunčiami. Baigę diegimą pamatysite šį ekraną:
Čia galite eiti į priekį ir spustelėti „Prisijungti dabar“ arba pritaikyti diegimą. Kad geriau suprastumėte, eisiu į priekį ir pasirinksiu Pritaikyti.
6 žingsnis: Kai spustelėsite Pritaikyti aukščiau pateiktame lange pamatysite, kaip atidaromas šis vedlys. kitame lange spustelėkite Kitas.
7 žingsnis: Kai taisyklės bus įdiegtos automatiškai, spustelėkite Kitas . Žiūrėkite žemiau.
8 žingsnis: Tada turite pasirinkti diegimo tipą. Taigi, pasirinkite Atlikite a naujas „SQL Server 2017“ diegimas parinktį ir tada spustelėkite Kitas.
9 žingsnis: Atidarytame vedlyje pasirinkite leidimą: Programuotojas. Tada spustelėkite Kitas . Žiūrėkite žemiau.
10 žingsnis: Dabar perskaitykite ir sutikite su licencijos sutartimis pažymėdami radijo mygtuką ir tada spustelėkite Kitas . Žiūrėkite žemiau.
11 žingsnis: Žemiau pateiktame vedlyje galite pasirinkti funkcijas, kurias norite įdiegti. Be to, galite pasirinkti egzemplioriaus šakninį katalogą ir tada spustelėkite Kitas . Čia aš pasirinksiu Duomenų bazių variklių paslaugos .
12 žingsnis: Tada turite pavadinti egzempliorių ir automatiškai bus sukurtas egzemplioriaus ID. Čia aš pavadinsiu pavyzdį „edureka“. Tada spustelėkite Kitas.
13 žingsnis: Serverio konfigūravimo vedlyje spustelėkite Kitas .
14 žingsnis: Dabar turite įjungti autentifikavimo režimus. Čia pamatysite „Windows“ autentifikavimo režimas ir Mišrus režimas . Aš rinkausi mišrų režimą. Tada paminėkite slaptažodį ir aš pridėsiu dabartinį vartotoją kaip Administratorius pasirinkdami Pridėti dabartinį vartotoją variantą.
15 žingsnis: Tada pasirinkite konfigūracijos failo kelią ir spustelėkite Diegti .
Baigę diegimą pamatysite šį ekraną:
Prisijunkite prie SQL serverio naudodami SSMS
Įdiegus „SQL Server“, kitas jūsų žingsnis yra prijungti „SQL Server“ prie „SQL Server Management Studio“. Norėdami tai padaryti, atlikite šiuos veiksmus:
1 žingsnis: Grįžkite į kitą langą ir spustelėkite įdiegti SSMS variantą.
2 žingsnis: Spustelėję šią parinktį, būsite nukreipti į kitame puslapyje , kur jūs turite pasirinkti Atsisiųskite SSMS.
3 žingsnis: Atsisiuntę sąranką, dukart spustelėkite programą ir pamatysite, kad atidaromas šis vedlys.
4 žingsnis: Spustelėkite Diegimo parinktis , aukščiau pateiktame lange pamatysite, kad tas diegimas bus pradėtas.
5 žingsnis: Baigę diegimą gausite dialogo langą, kaip parodyta žemiau.
Įdiegę SSMS, kitas žingsnis yra prieiga prie Duomenų bazės variklis .
Prieiga prie duomenų bazės variklio
Atidarius SQL serverio valdymo studija nuo pradžios meniu , atsidarys langas, panašus į langą, parodytą žemiau esančiame paveikslėlyje.
Čia paminėkite serverio pavadinimą, autentifikavimo režimą ir spustelėkite Prisijungti.
Spustelėję Prisijungti , pamatysite šį ekraną.
Na, žmonės, tai yra, kaip jūs įdiegiate ir nustatote „SQL Server“. Dabar, eidami į priekį šioje „SQL Server“ mokymo programoje, leiskite mums suprasti skirtingus „SQL Server“ architektūros komponentus.
SQL serverio architektūra
SQL serverio architektūra yra tokia:
- Serveris & minusas Čia yra įdiegtos SQL paslaugos ir yra duomenų bazė
- Reliacinis variklis & minusas Yra užklausos analizatorius, optimizatorius ir vykdytojas, o vykdymas vyksta reliaciniame variklyje.
- Komandų analizatorius & minusas Patikrina užklausos sintaksę ir paverčia užklausą mašinine kalba.
- „Optimizer“ & minusas Parengia vykdymo planą kaip išvestį imdamas statistiką, užklausą ir „Algebrator“ medį.
- Užklausos vykdytojas & minusas Čia vieta, kur užklausos vykdomos žingsnis po žingsnio
- Sandėliavimo variklis & minusas Tai yra atsakinga už duomenų saugojimą ir paiešką saugojimo sistemoje, manipuliavimą duomenimis, operacijų valdymą ir užrakinimą.
Dabar, kai mokate nustatyti ir įdiegti „SQL Server“ bei įvairius jo komponentus, pradėkime nuo rašymo Serveris. Bet prieš tai leiskite man aprašyti, kaip rašyti komentarus „SQL Server“.
Komentarai SQL serveryje
Yra du būdai, kuriais galite komentuoti SQL, ty naudoti s angliškų komentarų arba m ulti-line komentarai .
Vienos eilutės komentarai
Vienos eilutės komentarai prasideda du brūkšneliai (-). Taigi, kompiliatorius ignoruos po (-) minimą tekstą iki vienos eilutės pabaigos.
Pavyzdys:
- Vienos eilutės komentarų pavyzdys
Kelių eilučių komentarai
Kelių eilučių komentarai prasideda / * ir baigiasi * / . Vadinasi, tarp paminėto teksto / * ir * / kompiliatorius ignoruos.
Pavyzdys:
/ * Kelių eilučių komentarų pavyzdys * /
Dabar šiame straipsnyje apie „SQL Server“ mokymo programą pradėkime nuo pirmojo komandų rinkinio, ty „Data Definition Language“ komandų.
Duomenų apibrėžimo kalbos komandos
Šis straipsnio skyrius suteiks jums idėją apie komandas, kurių pagalba galite apibrėžti savo duomenų bazę. Komandos yra tokios:
SUKURTI
Šis sakinys naudojamas kuriant lentelę, duomenų bazę ar rodinį.
Pareiškimas „CREATE DATABASE“
Šis teiginys naudojamas kuriant duomenų bazę.
Sintaksė
Sukurti duomenų bazę DatabaseName
Pavyzdys
Sukurti duomenų bazę Studentai
„ SUKURTI LENTEL. ’Pareiškimas
Kaip rodo pavadinimas, šis teiginys naudojamas kuriant lentelę.
Sintaksė
CREATE TABLE TableName (1 stulpelio duomenų tipas, 2 stulpelio duomenų tipas, 3 stulpelio duomenų tipas, .... StulpelioN duomenų tipas)
Pavyzdys
Sukurti lentelę „StudentInfo“ („StudentID int“, „StudentName“ varchar (8000), „ParentName“ varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))
LAŠAS
Šis sakinys naudojamas esamai lentelei, duomenų bazei ar rodiniui mesti.
Pareiškimas „DROP DATABASE“
Šis sakinys naudojamas esamai duomenų bazei mesti. Visa duomenų bazėje esanti informacija bus prarasta, kai tik atliksite žemiau pateiktą komandą.
Sintaksė
DROP DATABASE DatabaseName
Pavyzdys
DROP DATABASE Studentai
Pareiškimas „DROP TABLE“
Šis sakinys naudojamas esamai lentelei mesti. Visa lentelėje pateikta informacija bus prarasta, kai tik atliksite žemiau pateiktą komandą.
Sintaksė
DROP TABLE TableName
Pavyzdys
LAŠINTI STALĄ „StudentInfo“
AMŽIUS
ALTER komanda naudojama pridėti, ištrinti ar modifikuoti esamos lentelės stulpelius ar apribojimus.
„ KEITIMO LENTELĖ ’Pareiškimas
Šis sakinys naudojamas pridėti, ištrinti, modifikuoti stulpelius jau esančioje lentelėje.
Pareiškimas „ALTER TABLE“ su stulpeliu ADD / DROP
Sakinys ALTER TABLE naudojamas kartu su komanda Add / DROP Column, kad pridėtumėte ir ištrintumėte stulpelį.
Sintaksė
ALTER TABLE TableName ADD ColumnName duomenų tipas ALTER TABLE TableName DROP COLUMN ColumnName
Pavyzdys
--ADD Column BloodGroup: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) --DROP Column BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup
„ALTER TABLE“ teiginys su ALTER COLUMN
ALTER TABLE sakinį galima naudoti su stulpeliu ALTER, norint pakeisti esamo stulpelio lentelėje duomenų tipą.
Sintaksė
ALTER TABLE TableName ALTER COLUMN ColumnName duomenų tipas
Pavyzdys
- Pridėti stulpelį DOB ir pakeisti duomenų tipą nuo datos iki datos laiko. ALTER TABLE StudentInfo PRIDĖTI DOB datą ALTER TABLE StudentInfo ALTER COLUMN DOB datos laikas
TRUNCATE
Ši SQL komanda naudojama lentelėje esančiai informacijai ištrinti, tačiau pati lentelė neištrinama. Taigi, jei norite ištrinti lentelėje esančią informaciją, o ne pačią lentelę, turite naudoti komandą TRUNCATE. Kitaip naudokite komandą DROP.
Sintaksė
TRUNCATE TABLE TableName
Pavyzdys
TRUNCATE LENTELĖ „StudentInfo“
Pervardyti
Šis sakinys naudojamas vienai ar kelioms lentelėms pervardyti.
Sintaksė
sp_rename 'OldTableName', 'NewTableName'
Pavyzdys
sp_rename 'StudentInfo', 'Infostudentai'
Šiame straipsnyje apie „SQL Server“ mokymo programą pereikite prie skirtingų duomenų tipų, kuriuos palaiko „SQL Server“.
SQL serverio duomenų tipai
Duomenų tipo kategorija | Duomenų tipo pavadinimas | apibūdinimas | Diapazonas / sintaksė |
Tiksli skaitvardis | skaitinis | Naudojamas skaitmeninėms vertėms saugoti ir turi fiksuotus tikslumo ir skalės skaičius | - 10 ^ 38 +1 iki 10 ^ 38 - 1. |
tinyint | Naudojamas sveikųjų skaičių vertėms saugoti | Nuo 0 iki 255 | |
smallint | Naudojamas sveikųjų skaičių vertėms saugoti | -2 ^ 15 (-32 768) iki 2 ^ 15-1 (32 767) | |
bigint | Naudojamas sveikųjų skaičių vertėms saugoti | -2 ^ 63 (-9,223,372,036,854,775,808) iki 2 ^ 63-1 (9,223,372,036,854,775,807) | |
tarpt | Naudojamas sveikųjų skaičių vertėms saugoti | -2 ^ 31 (-2,147,483,648) iki 2 ^ 31-1 (2 147 483 647) | |
šiek tiek | Saugo sveikojo skaičiaus duomenų tipą, kurio vertė yra 0, 1 arba NULL | 0, 1 arba NULL | |
po kablelio | Naudojamas skaitmeninėms vertėms saugoti ir turi fiksuotus tikslumo ir skalės skaičius | - 10 ^ 38 +1 iki 10 ^ 38 - 1. | |
mažasis pinigėlis | Naudojamas piniginėms atsargoms laikytiarba valiutos vertės. | - nuo 214 748,3648 iki 214 748,3647 | |
pinigų | Naudojamas piniginėms atsargoms laikytiarba valiutos vertės. | Nuo -922,337,203,685,477,5808 iki 922,337,203,685,477,5807 (-922,337,203,685,477,58 iki 922 337 203 685 477,58 „Informatica“. | |
Apytiksliai skaitmenys | plūdė | Naudojamas slankiojo kablelio skaitmeniniams duomenims saugoti | - 1,79E + 308 iki -2,23E-308, 0 ir 2,23E-308 iki 1,79E + 308 |
tikras | Naudojamas slankiojo kablelio skaitmeniniams duomenims saugoti | - 3,40E + 38 iki -1,18E - 38, 0 ir 1,18E - nuo 38 iki 3,40E + 38 | |
Data ir laikas | data | Naudojamas SQL serveryje nustatyti datą. | Sintaksė: data |
smalldatetime | Naudojamas apibrėžti datą, derinamą su dienos laiku, kai laikas yra pagrįstas 24 valandų diena, sekundės visada nulis (: 00) ir be trupmeninių sekundžių. | Sintaksė: smalldatetime | |
datos laikas | Naudojamas apibrėžti datą, kuri derinama su dienos laiku su trupmeninėmis sekundėmis, remiantis 24 valandų laikrodžiu. | Sintaksė: datos laikas | |
datos laikas2 | datos laikas2 yra kaip esamo pratęsimas datos laikas tipas, kurio numatytasis dalinis tikslumas yra didesnis, tikslinė dienų seka. | Sintaksė: datetime2 | |
datetimeoffset | Naudojamas apibrėžti datą, kuri derinama su dienos laiku, kuris suvokia laiko juostą. Jis pagrįstas 24 valandų laikrodžiu. | Sintaksė: datetimeoffset | |
laikas | Naudojamas dienos laikui nustatyti. | Sintaksė: laikas | |
Simbolių eilutės | char | Naudojamas fiksuoto dydžio simboliams saugoti. | char[( n )], kur n reikšmė svyruoja nuo 1 iki 8 000 |
varcharas | Naudojamas kintamo ilgio simboliams saugoti. | varchar [( n | maks)], kur n reikšmė svyruoja nuo 1-8000, o didžiausia leistina saugykla yra 2 GB. | |
tekstas | Naudojamas laikyti vtinkamo ilgio ne „Unicode“ duomenys | Didžiausias leistinas eilutės ilgis - 2 ^ 31-1 (2 147 483 647) | |
Unicode simbolių eilutės | ncharas | Naudojamas fiksuoto dydžio simboliams saugoti. | ncharas[(n)], kur n vertė svyruoja nuo 1 iki 4 000 |
nvarcharas | Naudojamas kintamo ilgio simboliams saugoti. | varchar [( n | maks)], kur n reikšmė svyruoja nuo 1 iki 4 000, o didžiausia leistina saugykla yra 2 GB. | |
ntekstas | Naudojamas kintamo ilgio „Unicode“ duomenims saugoti | Didžiausias leistinas eilutės ilgis - 2 ^ 30-1 (2 147 483 647) | |
Dvejetainės eilutės | dvejetainis | Naudojamas fiksuoto ilgio dvejetainiams duomenų tipams saugoti | dvejetainis[( n )], kur n reikšmė svyruoja nuo 1 iki 8 000 |
kintamasis | Naudojamas fiksuoto ilgio dvejetainiams duomenų tipams saugoti | kintamasis[( n )] kur n slinktis svyruoja nuo 1-8000, o didžiausias leistinas saugojimo talpa yra 2 ^ 31-1 baitai. | |
vaizdas | Naudojamas kintamo ilgio dvejetainiams duomenims saugoti | 0 - 2 ^ 31-1 (2 147 483 647) baitai | |
Kiti duomenų tipai | Tai yra saugomų procedūrų arba kintamųjų OUTPUT parametrų duomenų tipas, kuriame yra nuoroda į žymeklį. | - | |
irklavimas | Naudojamas automatiškai sugeneruotiems unikaliems dvejetainiams skaičiams atskleisti duomenų bazėje. | - | |
hierarchija | Naudojamas pozicijai hierarchijoje atstovauti. | - | |
unikalus identifikatorius | Yra 16 baitų GUID. | Sintaksė:unikalus identifikatorius | |
sql_variant | Naudojamas įvairių SQL Server palaikomų duomenų tipų vertėms saugoti | Sintaksė: sql_variant | |
xml | Naudojamas XML duomenų tipui saugoti. | xml ([CONTENT | DOCUMENT] xml_schemacollection) | |
Erdvinės geometrijos tipai | Naudojamas duomenims pateikti Euklido (plokščioje) koordinačių sistemoje. | - | |
Erdvinės geografijos tipai | Naudojamas elipsoidiniams (apvalios žemės) duomenims, pvz., GPS platumos ir ilgumos koordinatėms, saugoti. | - | |
stalo | Naudojamas rezultatų rinkiniui saugoti, kad jis būtų apdorotas vėliau | - |
Toliau šiame straipsnyje leiskite mums suprasti skirtingus raktų tipus ir apribojimus duomenų bazėje.
Skirtingi raktų tipai duomenų bazėje
Toliau pateikiami skirtingų tipų raktai, naudojami duomenų bazėje:
- Kandidato raktas - „Candidate Key“ yra atributų rinkinys, galintis unikaliai identifikuoti lentelę. Lentelėje gali būti daugiau nei vienas raktas kandidatas, o iš pasirinktų kandidatų raktų vienas raktas pasirenkamas kaip pagrindinis raktas.
- „Super Key“ - Atributų rinkinys gali unikaliai identifikuoti kelis. Taigi raktai kandidatai, unikalūs raktai ir pagrindiniai raktai yra super raktai, tačiau atvirkščiai nėra tiesa.
- Pagrindinis raktas - Pagrindiniai raktai yra naudojami unikaliai identifikuoti kiekvieną tupelį.
- Pakaitinis raktas - Alternatyvieji raktai yra tie raktai kandidatai, kurie nėra pasirinkti kaip pagrindinis raktas.
- Unikalus raktas- Unikalūs raktai yra panašūs į pirminį, tačiau stulpelyje leidžiama nurodyti vieną NULL reikšmę.
- Svetimas raktas - Atributas, kuris esamas vertes gali laikyti tik kokio nors kito atributo vertėmis, yra svetimas raktas atributui, į kurį jis kreipiasi.
- Kompozicinis raktas- Sudėtiniai klavišai yra dviejų ar daugiau stulpelių, identifikuojančių kiekvieną paketą unikaliai, derinys.
Duomenų bazėje naudojami apribojimai
Apribojimai naudojami duomenų bazėje, norint nurodyti lentelėje saugomų duomenų taisykles. Įvairių tipų apribojimai SQL yra tokie:
NE NULL
„NOT NULL“ apribojimas užtikrina, kad stulpelis negali turėti „NULL“ vertės.
Pavyzdys
KURTI LENTEL Students 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)) - NEMOKAMA on ALTER TABLE ALTER TABLE StudentsInfo ALTER COLUMN PhoneNumber int NOT NULL
UNIKALUS
Šis apribojimas užtikrina, kad visos stulpelio reikšmės yra unikalios.
Pavyzdys
- UNIQUE for Create Table CREATE TABLE 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 daugelyje stulpelių CREATE LENTELĖ „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) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) - UNIQUE on ALTER TABLE ALTER TABLE StudentsInfo PRIDĖTI UNIQUE (StudentID) - NEMOKAMAI apriboti ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Stud
PATIKRINTI
CHECK apribojimas užtikrina, kad visos stulpelio reikšmės atitiktų konkrečią sąlygą.
Pavyzdys
--PATIKRINKITE KŪRIMO LENTELĖS KŪRIMO LENTELĖS apribojimą StudentsInfo („StudentID int NOT NULL“, „StudentName“ varchar (8000) NOT NULL, „ParentName“ varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, miesto varchar (8000), Country varchar ( 8000) CHECK (Country = 'India')) - PATIKRINKITE suvaržymą keliuose stulpeliuose CREATE LENTELĖ StudentInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Miesto varcharas (8000), Šalies varcharas (8000) PATIKRINKITE (Šalis = 'Indija' IR Miestas = 'Hyderabad')) - PATIKRINKITE „ALTER“ LENTELĖS KEITIMO LENTELĖS apribojimą StudentInfo PRIDĖTI TIKRINIMĄ (Šalis = „Indija“) - Norėdami suteikti vardas CHECK apribojimo ALTER LENTELĖ StudentsInfo PRIDĖTI SĄLYGĄ CheckConstraintName CHECK (Šalis = 'Indija') - Norėdami atsisakyti CHECK apribojimo KEITIMO LENTELĖ StudentsInfo DROP CONSTRAINT CheckConstraintName
NUMATYTAS
Numatytąjį apribojimą sudaro numatytųjų stulpelio verčių rinkinys, kai jokia vertė nenurodyta.
Pavyzdys
- DEFAULT CREATE LENTELĖS KŪRIMO LENTELĖS apribojimas 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 ALTER TABLE ALTER TABLE apribojimas StudentInfo ADD CONSTRAINT defau_Country DEFAULT „India“ FOR Country - Norėdami atsisakyti numatytojo apribojimo ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country
INDEKSAS
The INDEX suvaržymas yra naudojamas lentelėje sukurti indeksus, per kuriuos galite labai greitai sukurti ir gauti duomenis iš duomenų bazės.
Sintaksė
- Sukurkite indeksą, kur leidžiamos pasikartojančios vertės. CREATE INDEX IndexName ON TableName (1 stulpelis, 2 stulpelis, ... stulpelisN) - Sukurkite indeksą, kuriame neleidžiamos pasikartojančios vertės. CREATE UNIQUE INDEX IndexName ON TableName (1 stulpelis, 2 stulpelis, ... N stulpelis)
Pavyzdys
CREATE INDEX idex_StudentName ON StudentsInfo (StudentName) - Norėdami ištrinti indeksą lentelėje DROP INDEX StudentsInfo.idex_StudentName
Šiame straipsnyje apie „SQL Server“ mokymo programą eikite į priekį, dabar supraskime skirtingas „Microsoft SQL Server“ naudojamas duomenų manipuliavimo kalbos komandas.
Duomenų manipuliavimo kalbos komandos
Šis straipsnio skyrius apims visas tas komandas, kuriomis galite manipuliuoti duomenų baze. Komandos yra tokios:
Be šių komandų, yra ir kitų manipuliuojančių operatorių / funkcijų, tokių kaip:
NAUDOTI
Šis sakinys naudojamas norint pasirinkti duomenų bazę, kad būtų galima pradėti atlikti įvairias su ja susijusias operacijas.
Sintaksė
NAUDOTI DatabaseName
Pavyzdys
NAUDOTI studentus
ĮDĖTI
The INSERT INTO pareiškimas yra naudojamas naujiems įrašams įterpti į esamą lentelę.
Sintaksė
INSERT INTO TableName (1 stulpelio, 2 stulpelio, 3 stulpelio, ..., stulpelio N) VERTYBĖS (reikšmė1, vertė2, reikšmė3, ...) - jei nenorite paminėti stulpelių pavadinimų, naudokite toliau pateiktą sintaksę INSERT INTO TableName VALUES (Vertė1, vertė2, vertė3, ...)
Pavyzdys
INSERT INTO StudentsInfo („StudentID“, „StudentName“, „ParentName“, „PhoneNumber“, „Studentof Address“, „City“, „Country“) VERTYBĖS („06“, „Sanjana“, „Kapoor“, „9977331199“, „Buffalo Street House No 10“, „Kolkata“, „Indija“ „) INSERT INTO StudentsInfo VALUES („ 07 “,„ Vishal “,„ Mishra “,„ 9876509712 “,„ Nice Road 15 “,„ Pune “,„ Indija “)
ATNAUJINTI
UPDATE sakinys naudojamas modifikuoti arba atnaujinti lentelėje jau esančius įrašus.
Sintaksė
UPDATE TableName SET stulpelis1 = reikšmė1, stulpelis2 = reikšmė2, ... WHERE sąlyga
Pavyzdys
ATNAUJINTI „StudentInfo“ SET StudentName = 'Aahana', Miestas = 'Ahmedabad' WHERE StudentID = 1
IŠTRINTI
DELETE sakinys naudojamas esamiems įrašams ištrinti lentelėje.
Sintaksė
IŠTRINTI IŠ TableName WHERE Sąlyga
Pavyzdys
IŠTRINTI IŠ „StudentsInfo“ WHERE StudentName = 'Aahana'
EITI
MERGE sakinys naudojamas INSERT, UPDATE ir DELETE operacijoms atlikti konkrečioje lentelėje, kur pateikiama šaltinio lentelė. Žiūrėkite žemiau.
Sintaksė
MERGE TagretTableName NAUDOJANT „SourceTableName“ „MergeCondition“, KAD TIK SUSITIKĖ, „Update_Statement“, KAI TADA NESUTIKO, „Insert_Statement“, KAI NETIKO ŠALTINIS, tada IŠTRINKITE
Pavyzdys
Norėdami suprasti MERGE sakinį, šias lenteles laikykite lentelėmis „Source“ ir „Target“.
Šaltinio lentelė:
Studento pažymėjimas | Studento vardas | Ženklai |
vienas | Aš nekenčiu | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Tikslinė lentelė:
Studento pažymėjimas | Studento vardas | Ženklai |
vienas | Aš nekenčiu | 87 |
2 | Manasa | 67 |
3 | Saurabas | 55 |
Suvienyti SampleTargetTable TARGET NAUDOJANT SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) KAI SUDERINTI IR TARGET.StudentName SOURCE.StudentName OR TARGET.Marks SOURCE.Marks THEN UPDATE SOURGAME.SET KAI NESUSITARIA TIKSLAS, TADA ĮRAŠYKITE („StudentID“, „StudentName“, „Marks“) VERTYBES (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks), KAI NETIKO ŠALTINIS, tada IŠTRINKITE
Rezultatas
Studento pažymėjimas | Studento vardas | Ženklai |
vienas | Aš nekenčiu | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
PASIRINKTI
The SELECT sakinys naudojamas duomenims iš duomenų bazės, lentelės ar rodinio pasirinkti. Grąžinti duomenys saugomi rezultatų lentelėje, vadinamoje nustatytas rezultatas .
Sintaksė
Pasirinkti stulpelį1, stulpelį2, ... stulpelisNFROM TableName - (*) naudojamas pasirinkti visus iš lentelės SELECT * FROM table_name - Norėdami pasirinkti įrašų skaičių, kurį norite grąžinti: SELECT TOP 3 * FROM TableName
Pavyzdys
- Norėdami pasirinkti kelis stulpelius, pasirinkite „StudentIDID“, „StudentName FROM“ „StudentInfo“ - (*) naudojamas visiems pažymėti iš lentelės „SELECT * FROM StudentsInfo“ - Norėdami pasirinkti įrašų skaičių, kurį norite grąžinti: SELECT TOP 3 * FROM StudentsInfo
Taip pat su „SELECT“ sakiniu galime naudoti šiuos raktinius žodžius:
NESKIRTI
Raktinis žodis DISTINCT naudojamas su sakiniu SELECT, kad būtų grąžintos tik skirtingos vertės.
Sintaksė
PASIRINKTI NETINKAMĄ stulpelius1, 2 stulpelius, ... StulpeliusN IŠ TableName
Pavyzdys
PASIRINKITE NUOLINKITE Telefono numerį iš „StudentsInfo“
RŪŠIUOTI PAGAL
Šis teiginys naudojamas norint surikiuoti reikiamus rezultatus didėjimo arba mažėjimo tvarka. Pagal numatytuosius nustatymus rezultatai saugomi didėjimo tvarka. Vis dėlto, jei norite gauti rezultatus mažėjančia tvarka, turite naudoti DESC raktinis žodis.
Sintaksė
PASIRINKITE 1 stulpelį, 2 stulpelį, ... stulpelįN IŠ „TableName“ UŽSAKYTI PAGAL 1 stulpelį, 2 stulpelį, ... ASC | DESC
Pavyzdys
- Pasirinkite visus studentus iš „StudentsInfo“ lentelės, surūšiuotos pagal „ParentName“: PASIRINKITE * IŠ „StudentInfo“ UŽSAKYTI pagal „ParentName“ - pasirinkite visus studentus iš lentelės „StudentsInfo“, surūšiuotos pagal „ParentName“ mažėjančia tvarka: SELECT * FROM StudentsInfo UŽSAKYTI PARENTNAME DESC - Pasirinkite visus studentus iš lentelės „StudentsInfo“, surūšiuotą pagal „ParentName“ ir „StudentName“: PASIRINKITE * IŠ „StudentInfo“ UŽSAKYTI pagal „ParentName“, „StudentName“ / * Pasirinkite visus studentus iš „StudentsInfo“ lentelės, surūšiuotą pagal „ParentName“ mažėjančia tvarka ir „StudentName“ didėjimo tvarka: * / SELECT * IŠ „StudentsInfo“ UŽSAKYMAS pagal „ParentName ASC“, „StudentName DESC“
GRUPUOTI PAGAL
Šis teiginys naudojamas kartu su suvestinės funkcijos grupuoti rezultatų rinkinį pagal vieną ar daugiau stulpelių.
Sintaksė
PASIRINKITE 1 stulpelį, 2 stulpelį, ..., stulpelį N iš TableName WHERE Sąlyga GRUPĖ pagal ColumnName (s) ORDER BY
Pavyzdys
- Išvardyti studentų skaičių iš kiekvieno miesto. PASIRINKITE SKAIČIŲ („StudentID“), „City“ IŠ „StudentsInfo“ GROUP BY City
RINKINIŲ GRUPAVIMAS
GRUPAVIMO RINKINIAI buvo pristatyti SQL Server 2008, naudojami siekiant sukurti rezultatų rinkinį, kurį gali sugeneruoti a SĄJUNGA VISI daugelio paprastų GROUP BY išlygų.
Sintaksė
PASIRINKITE stulpelių pavadinimus iš lentelės pavadinimo grupės pagal grupavimo rinkinius (stulpelių pavadinimai)
Pavyzdys
PASIRINKITE RINKIMUS ((StudentID, StudentName, City), (StudentID), (StudentName), (City)) iš „StudentInfo“ grupės pasirinkite „StudentID“, „StudentName“, „COUNT“ (miestas).
TURI
Ši sąlyga naudojama scenarijuje, kai WHERE raktinis žodis negalima naudoti.
Sintaksė
PASIRINKITE „ColumnName“ iš TableName WHERE Sąlygų grupė pagal ColumnName (s) turi sąlygą UŽSAKYTI pagal ColumnName (s)
Pavyzdys
PASIRINKITE SKAIČIŲ („StudentID“), miestą IŠ „StudentsInfo“ GRUPĖS PAGAL MES, KURIŲ SKAIČIUOJAMAS („StudentID“)> 2 UŽSAKYMAS PAGAL SKAITĮ („StudentID“) DESC
INTO
INTO raktinį žodį galima naudoti su SELECT sakinys kopijuoti duomenis iš vienos lentelės į kitą. Na, jūs galite suprasti, kad šios lentelės yra laikinos lentelės. Laikinosios lentelės paprastai naudojamos manipuliuoti lentelėje esančiais duomenimis, netrikdant originalios lentelės.
Sintaksė
PASIRINKITE * Į „NewTable“ [IN ExternalDB] IŠ „OldTable WHERE“ sąlygos
Pavyzdys
- Norėdami sukurti lentelės „StudentsInfo“ atsarginę kopiją „SELECT * INTO StudentsBackup FROM StudentsInfo“ - Norėdami pasirinkti tik kelis stulpelius iš „StudentsInfo SELECT“ studento vardo, telefono numerio į studentų išsamią informaciją iš „StudentsInfo SELECT“ * į „PuneStudents“ iš „StudentsInfo“ WHERE City = „Pune“
KUBAS
CUBE yra „GROUP BY“ išlyga . Tai leidžia generuoti visų grupavimo stulpelių derinių, nurodytų sąlygoje „GROUP BY“, tarpines sumas.
Sintaksė
PASIRINKITE stulpelio pavadinimą (-us) iš lentelės pavadinimo grupės pagal kubą (stulpelio pavadinimas1, stulpelio pavadinimas2, ....., stulpelio pavadinimasN)
Pavyzdys
PASIRINKITE „StudentID“, COUNT (miestas) IŠ „StudentsInfo“ GRUPĖS PAGAL KUBĄ („StudentID“) UŽSAKYMAS PAGAL „StudentID“
SUVYNIOTI
ROLLUP yra grupės BY pratęsimas. Tai leidžia įtraukti papildomas eilutes, nurodančias tarpines sumas. Tai vadinama super suvestinėmis eilutėmis kartu su bendrąja eile.
Sintaksė
PASIRINKITE stulpelio vardą (-us) iš lentelės pavadinimo grupės pagal ROLLUP (stulpelio pavadinimas1, stulpelio pavadinimas2, ....., stulpelio pavadinimasN)
Pavyzdys
PASIRINKITE „StudentID“, COUNT (miestas) IŠ „StudentsInfo“ GRUPĖS pagal ROLLUP („StudentID“)
OFFSETAS
Sąlyga OFFSET naudojama kartu su SELECT ir UŽSAKYTI PAGAL pareiškimą gauti įrašų diapazoną. Jis turi būti naudojamas su sąlyga ORDER BY, nes jo negalima naudoti atskirai. Be to, jūsų paminėtas diapazonas turi būti lygus arba didesnis nei 0. Jei paminėsite neigiamą vertę, tai parodys klaidą.
Sintaksė
PASIRINKITE stulpelių pavadinimus) iš „TableName“ WHERE Sąlyga UŽSAKYTI PAGAL „ColumnName“ (s) OFFSET RowsToSkip ROWS
Pavyzdys
Apsvarstykite naują stulpelį Ženklai viduje „StudentsInfo“ stalo.
PASIRINKITE „StudentName“, „ParentName“ iš „StudentsInfo“ UŽSAKYTI PAGAL Žymes OFFSET 1 ROWS
FETCH
FETCH sąlyga naudojama grąžinti eilučių rinkinį. Jis turi būti naudojamas kartu su OFFSET išlyga.
Sintaksė
PASIRINKITE stulpelių pavadinimus) iš „TableName“ WHERE Sąlyga UŽSAKYTI PAGAL „ColumnName“ (s) OFFSET RowsToSkip FETCH NEXT NumberOfRows TIK EILES
Pavyzdys
PASIRINKITE „StudentName“, „ParentName“ iš „StudentsInfo“ UŽSAKYTI PAGAL Žymes OFFSET 1 ROWS FETCH NEXT 1 ROWS TIK
Į viršų
Sąlyga TOP naudojama kartu su sakiniu SELECT, norint paminėti grąžintinų įrašų skaičių.
Sintaksė
PASIRINKITE TOP numerių stulpelių pavadinimus iš lentelės pavadinimo WHERE Sąlyga
Pavyzdys
PASIRINKTI TOP 3 * IŠ „StudentsInfo“
PIVOT
PIVOT naudojamas eilutėms pasukti į stulpelių reikšmes ir, jei reikia, paleidžia apibendrintas likusių stulpelių reikšmes.
Sintaksė
PASIRINKITE Nepaskirstytą stulpelio pavadinimą, [Pirmojo pasukto stulpelio pavadinimą] AS Stulpelio pavadinimą, [Antrojo suvestinio stulpelio pavadinimą] AS Stulpelio pavadinimą, [Trečio suvestinio stulpelio pavadinimą] AS Stulpelio pavadinimą, ... [Paskutinio suvestinio stulpelio pavadinimą] AS Stulpelio pavadinimą iš (SELECT užklausa, kuri sukuria duomenis) AS [pseudonimas pradinei užklausai] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName of the column, kurio reikšmės taps stulpelio antraštėmis] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivived ColumnName] ... [paskutinis pasukamas stulpelis])) AS [„Pivot“ lentelės slapyvardis]
Pavyzdys
Norėdami gauti išsamų pavyzdį, galite kreiptis į mano straipsnis apie SQL PIVOT ir UNPIVOT . Toliau šiame „SQL Server Tutorial“ pažvelkime į skirtingus operatorius, kuriuos palaiko „Microsoft SQL Server“.
Operatoriai
The skirtingų tipų operatoriai palaiko „SQL Server“ yra šie:
- Aritmetikos operatoriai
- Užduočių operatoriai
- Operatoriai bitais
- Palyginimo operatoriai
- Sudėtiniai operatoriai
- Loginiai operatoriai
- Taikymo srities rezoliucijos operatoriai
- Nustatyti operatorius
- Styginių sujungimo operatoriai
Aptarkime kiekvieną iš jų po vieną.
Aritmetikos operatoriai
operatorius | Reikšmė | Sintaksė |
+ | Papildymas | išraiška + išraiška |
- | Atimtis | išraiška - išraiška |
* | Dauginimas | išraiška * išraiška |
/ | Divison | išraiška / išraiška |
% | Moderni | išraiška% išraiška |
Užduočių operatoriai
operatorius | Reikšmė | Sintaksė |
= | Priskirkite kintamajam vertę | kintamasis = ‘vertė’ |
Operatoriai bitais
operatorius | Reikšmė | Sintaksė |
& (Bitais IR) | Naudojamas atlikti bitų loginę IR operaciją tarp dviejų sveikųjų skaičių reikšmių. | išraiška ir išraiška |
& = (Bitų ir priskyrimas) | Naudojamas atlikti bitų loginę IR operaciją tarp dviejų sveikųjų skaičių reikšmių. Jis taip pat nustato operacijos išvesties vertę. | išraiška & = išraiška |
| (Bitų pavidalu ARBA) | Naudojamas atlikti bitų loginę ARBA operaciją tarp dviejų sveikųjų skaičių reikšmių, išverstų į dvejetaines išraiškas „Transact-SQL“ sakiniuose. | išraiška | išraiška |
| = (Bitų ARBA priskyrimas) | Naudojamas atlikti bitų loginę ARBA operaciją tarp dviejų sveikųjų skaičių reikšmių, išverstų į dvejetaines išraiškas „Transact-SQL“ sakiniuose. Jis taip pat nustato operacijos išvesties vertę. | išraiška | = išraiška |
^ (Išskyrus bitais, ARBA) | Naudojamas atlikti išimtinę ARBA operaciją tarp dviejų sveikųjų skaičių reikšmių. | išraiška ^ išraiška |
^ = (Išskirtinis ARBA priskyrimas bitais) | Naudojamas atlikti išimtinę ARBA operaciją tarp dviejų sveikųjų skaičių reikšmių. Jis taip pat nustato operacijos išvesties vertę. | išraiška ^ = išraiška |
~ (Bitais NE) | Naudojamas sveikojo skaičiaus reikšmei atlikti šiek tiek logiškai NE operaciją. | ~ išraiška |
Palyginimo operatoriai
operatorius | Reikšmė | Sintaksė |
= | Lygus | išraiška = išraiška |
> | Geresnis negu | išraiška> išraiška |
< | Mažiau nei | išraiška |
> = | Didesnis arba lygus | išraiška> = išraiška |
<= | Mažesnis arba lygus | išraiška<= expression |
Nelygu | išraiškos išraiška | |
! = | Nelygu | išraiška! = išraiška |
!< | Nemažiau nei | išraiška ! |
!> | Ne didesnis kaip | išraiška!> išraiška |
Sudėtiniai operatoriai
operatorius | Reikšmė | Sintaksė |
+ = | Naudojamas pridėjus vertę pradinei vertei ir nustatant pradinę vertę rezultatui. | išraiška + = išraiška |
- = | Naudojamas atimant vertę iš pradinės vertės ir nustatant pradinę vertę rezultatui. | išraiška - = išraiška |
* = | Naudojamas vertei padauginti iš pradinės vertės ir nustatyti pradinę vertę rezultatui. | išraiška * = išraiška |
/ = | Naudojamas dalijant vertę iš pradinės vertės ir nustatant pradinę vertę rezultatui. | išraiška / = išraiška |
% = | Naudojamas dalijant vertę iš pradinės vertės ir nustatant pradinę vertę rezultatui. | išraiška% = išraiška |
& = | Naudojamas operacijai bitais IR nustatyti ir rezultatui nustatyti pradinę vertę. | išraiška & = išraiška |
^ = | Naudojamas atlikti bitų išimtinę ARBA operaciją ir nustatyti pradinę rezultato vertę. | išraiška ^ = išraiška |
| = | Naudojamas atlikti bitų ARBA operaciją ir nustatyti pradinę reikšmę rezultatui. | išraiška | = išraiška |
Loginiai operatoriai
operatorius | Reikšmė | Sintaksė |
VISI | Pateikia TRUE, jei visi palyginimų rinkiniai yra TRUE. | scalar_expression! = VISI (antrinė užklausa) |
IR | Pateikia TRUE, jei abi išraiškos yra TRUE. | loginė_iraiška ir loginė_raiška |
JOKIOS | Pateikia TRUE, jei kuris nors iš palyginimų rinkinio yra TRUE. | scalar_expression! = {ANY} (užklausa) |
TARP | Grąžina TRUE, jei operandas yra diapazone. | ekspresijos pavyzdys [NE] TARP pradžios ir endekspresijos |
ESA | Pateikia TRUE, jei antrinėje užklausoje yra eilučių. | EXISTS (antrinė užklausa) |
IN | Pateikia TRUE, jei operandas yra lygus vienam iš posakių sąrašo. | test_expression [NOT] IN (užklausa | išraiška [,… n]) |
Pateikia TRUE, jei operandas atitinka modelį. | match_expression [NOT] LIKE modelis [ESCAPE escape_character] | |
NE | Pakeičia bet kurio loginės operacijos operatoriaus vertę. | [NE] loginė_raiška |
ARBA | Grąžina TRUE, jei bet kuri loginė išraiška yra TIESA. | loginės_raiška ARBA loginės_raiška |
KAI | Pateikia TRUE, jei kai kurie palyginimų rinkiniai yra TIESA. | scalar_expression<= { SOME} ( subquery ) |
Taikymo srities rezoliucijos operatoriai
operatorius | Reikšmė | Pavyzdys |
:: | Suteikia prieigą statiniams sudėtinio duomenų tipo nariams. Sudėtiniai duomenų tipai yra tie duomenų tipai, kuriuose yra keli metodai ir paprasti duomenų tipai. Sudėtiniai duomenų tipai Tai apima įmontuotus CLR tipus ir pasirinktinius vartotojo nustatytus SQLCLR tipus (UDT). | PAREIŠKKITE @hid hierarchyid PASIRINKITE @hid = hierarchyid :: GetRoot () PRINT @ hid. ToString () |
Nustatyti operatorius
Yra daugiausia trys nustatytos operacijos:SĄJUNGA,SUSIEKITE,MINUSAS. Galite suprasti toliau pateiktą vaizdą, kad suprastumėte nustatytas SQL operacijas. Žiūrėkite žemiau esantį vaizdą:
operatorius | Reikšmė | Sintaksė |
SĄJUNGA | Operatorius „UNION“ naudojamas derinant dviejų ar daugiau SELECT sakinių rezultatų rinkinį. | PASIRINKITE stulpelio pavadinimą (-us) iš 1 lentelės SĄJUNGA PASIRINKITE stulpelio pavadinimą (-us) iš 2 lentelės |
SUSIEKITE | Sąlyga INTERSECT naudojama sujungti duPASIRINKTIsakinius ir grąžina abiejų SELECT sakinių duomenų rinkinių sankirtą. | PASIRINKITE 1, 2 stulpelio…. IŠ TableName KUR Sąlyga SUSIEKITE PASIRINKITE 1, 2 stulpelio…. IŠ TableName KUR Sąlyga |
IŠSKYRUS | Operatorius EXCEPT grąžina tuos rinkinius, kuriuos grąžina pirmoji SELECT operacija, o antroji SELECT operacija negrąžina. | PASIRINKITE stulpelio pavadinimą IŠ TableName IŠSKYRUS PASIRINKITE stulpelio pavadinimą IŠ TableName |
Styginių operatoriai
operatorius | Reikšmė | Sintaksė / pavyzdys |
+ (Styginių sujungimas) | Sujungia dvi ar daugiau dvejetainių ar simbolių eilučių, stulpelių arba eilučių ir stulpelių pavadinimų derinius į vieną išraišką | išraiška + išraiška |
+ = (Styginių sujungimas) | Naudojamas sujungiant dvi eilutes ir nustatant eilutę pagal operacijos rezultatą. | išraiška + = išraiška |
% (Atitinkantys pakaitos simbolius) | Naudojamas, kad atitiktų bet kokią nulio ar daugiau simbolių eilutę. | Pavyzdys: ‘sample%’ |
[] (Atitinkami pakaitos simboliai) | Naudojamas norint suderinti vieną simbolį nurodytame diapazone arba rinkinyje, nurodytame skliausteliuose []. | Pavyzdys: m [n-z]% ’ |
[^] (Atitinkantys pakaitos simbolius) | Naudojamas norint suderinti vieną simbolį, kuris nepatenka į laužtiniuose skliaustuose nurodytą diapazoną ar rinkinį. | Pavyzdys: „Al [^ a]%“ |
_ (Atitinkantys pakaitos simbolius) | Naudojamas norint suderinti vieną simbolį eilutės palyginimo operacijoje | test_expression [NOT] IN (užklausa | išraiška [,… n]) |
Apibendrinti Funkcijos
Kitoks suvestinės funkcijos palaiko „SQL Server“ yra šie:
Funkcija | apibūdinimas | Sintaksė | Pavyzdys |
SUMA() | Naudojamas reikšmių grupės sumai grąžinti. | PASIRINKITE SUMĄ (ColumnName) iš TableName | PASIRINKITE SUMĄ (pažymius) IŠ „StudentsInfo“ |
COUNT () | Grąžina eilučių skaičių pagal sąlygą arba be sąlygos. | Pasirinkite COUNT (ColumnName) iš TableName WHERE sąlyga | PASIRINKITE SKAIČIŲ (StudentID) IŠ „StudentsInfo“ |
AVG () | Naudojama apskaičiuojant vidutinę skaitinio stulpelio vertę. | PASIRINKITE AVG (ColumnName) iš TableName | PASIRINKITE AVG (žymes) IŠ „StudentsInfo“ |
MIN () | Ši funkcija grąžina mažiausią stulpelio vertę. | PASIRINKTI MIN (ColumnName) FROM TableName | PASIRINKITE MIN. (Pažym.) IŠ „StudentsInfo“ |
MAX () | Grąžina didžiausią stulpelio vertę. | Pasirinkite MAX (ColumnName) iš TableName | PASIRINKITE MOKSLĄ (pažymius) IŠ „StudentInfo“ |
PIRMAS() | Naudojamas grąžinti pirmąją stulpelio vertę. | PASIRINKTI PIRMĄ (stulpelio pavadinimas) iš lentelės pavadinimo | PASIRINKITE PIRMĄ (Pažymos) IŠ „StudentsInfo“ |
PASKUTINĖ () | Ši funkcija grąžina paskutinę stulpelio vertę. | PASIRINKITE PASKUTINĮ (stulpelio pavadinimas) iš lentelės pavadinimo | PASKIRTI PASKUTINĮ (pažymius) IŠ „StudentsInfo“ |
Vartotojo nustatytos funkcijos
„Microsoft SQL Server“ leidžia vartotojams kurti vartotojo nustatytas funkcijas, kurios yra įprastos. Šios tvarkos priima parametrus, gali atlikti paprastus ir sudėtingus veiksmus ir grąžinti konkretaus veiksmo rezultatą kaip vertę. Čia grąžinta vertė gali būti viena skaliarinė vertė arba visas rezultatų rinkinys.
Galite naudoti vartotojo nustatytas funkcijas, kad:
- Leisti modulinį programavimą
- Sumažinkite tinklo srautą
- Leiskite greičiau vykdyti užklausas
Be to, galite sukurti įvairių tipų vartotojo apibrėžtų funkcijų. Jie yra:
- Skaliarinės funkcijos: Įpratęsgrąžinti vienintelę duomenų reikšmę, nurodytą sąlygoje RETURNS.
- Lentelės vertinamos funkcijos: Įpratęsgrąžinti astaloduomenų tipas.
- Sistemos funkcijos: „SQL Server“ teikia įvairias sistemos funkcijas skirtingoms operacijoms atlikti.
Na, be vartotojo nustatytų funkcijų, „SQL Server“ yra daugybė integruotų funkcijų, kurias galima naudoti atliekant įvairias užduotis. Toliau šiame straipsnyje apie „SQL Server“ mokymo programą leiskite mums dabar suprasti, kas yra įdėtos užklausos.
Įdėtos užklausos
Įdėtos užklausos yra tos užklausos, kurios turi išorinę užklausą ir vidinę užklausą. Taigi, iš esmės, užklausa yra užklausa, kuri yra įdėta į kitą užklausą, pvz., „SELECT“, „INSERT“, „UPDATE“ arba „DELETE“. Žiūrėkite žemiau esantį vaizdą:
Toliau šioje „SQL Server“ pamokoje supraskime skirtingus sujungimų tipus SQL.
Prisijungia
naudojami derinant dviejų ar daugiau lentelių rinkinius, remiantis susijusiu stulpeliu tarp lentelių. Yra keturi sujungimų tipai:
- VIDINIS PRISIJUNGIMAS: Grąžina įrašus, kurių vertės atitinka abiejose lentelėse.
- Kairysis prisijungimas: Pateikia įrašus iš kairės lentelės ir tuos įrašus, kurie atitinka sąlygą iš dešinės lentelės.
- TEISINIS PRISIJUNGIMAS: Pateikia įrašus iš dešinės lentelės ir tuos įrašus, kurie atitinka sąlygą iš kairės lentelės.
- PILNAS PRISIJUNGIMAS: Pateikia įrašus, kurių kairėje arba dešinėje lentelėje yra atitikmuo.
Apsvarstykite šią lentelę kartu su lentele „StudentsInfo“, kad suprastumėte sujungimų sintaksę.
SubjectID | Studento pažymėjimas | SubjectName |
10 | 10 | Matematika |
2 | vienuolika | Fizika |
3 | 12 | Chemija |
VIDINIS PRISIJUNGIMAS
Sintaksė
PASIRINKITE stulpelio pavadinimą (-us) IŠ 1 lentelės INNER JOIN2 lentelė ON Table1.ColumnName = Table2ColumnName
Pavyzdys
PASIRINKITE Subjects.SubjectID, StudentsInfo.StudentName FROM Subjects INNER JOIN „StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID“
Kairysis prisijungimas
Sintaksė
PASIRINKITE stulpelio pavadinimą (-us) IŠ 1 lentelės LEFT JOIN2 lentelė ON Table1.ColumnName = Table2ColumnName
Pavyzdys
PASIRINKITE „StudentsInfo.StudentName“, „Subjects.SubjectID“ iš „StudentsInfo“ LEFT JOIN PRISIJUNGTI subjektus „StudentsInfo.SubjectID = Subjects.SubjectID“ UŽSAKYMAS „StudentsInfo.StudentName“
TEISINIS PRISIJUNGIMAS
Sintaksė
PASIRINKITE stulpelio pavadinimą (-us) IŠ 1 lentelės RIGHT JOIN2 lentelė ON Table1.ColumnName = Table2ColumnName
Pavyzdys
PASIRINKITE „StudentsInfo.StudentName“, „Subjects.SubjectID“ iš „StudentsInfo“ DĖMESIO PRISIJUNGTI subjektus „StudentsInfo.SubjectID = Subjects.SubjectID“ UŽSAKYMAS „StudentsInfo.StudentName“
VISAS PRISIJUNGIMAS
Sintaksė
PASIRINKITE stulpelio pavadinimą (-us) IŠ 1 lentelės PILNAS IŠORINIS PRISIJUNGIMAS 2 lentelė I lentelėje. 1 stulpelio pavadinimas. ColumnName = Table2. ColumnName
Pavyzdys
PASIRINKITE „StudentsInfo.StudentName“, „Subjects.SubjectID“ iš „StudentsInfo FULL OUTER JOIN“ subjektų, esančių „StudentsInfo.SubjectID = Subjects.SubjectID“ UŽSAKYMAS pagal „StudentsInfo.StudentName“
Toliau šiame straipsnyje apie „SQL Server“ mokymo programą leiskite mums suprasti skirtingų tipų kilpas, kurias palaiko „SQL Server“.
Kilpos
Skirtingos srauto valdymo komandos yra šios:
Aptarkime kiekvieną iš jų po vieną.
PRADŽIA..PABAIGA
Šie raktiniai žodžiai naudojami norint pridėti SQL sakinių seriją. Tada šią SQL sakinių grupę galima vykdyti.
Sintaksė
BEGIN StatementBlock END
PERTRAUKA
Šis sakinys naudojamas norint išeiti iš dabartinės WHILE kilpos. Tuo atveju, kai dabartinė WHILE kilpa yra įdėta į kitą kilpą, tada BREAK sakinys išeina tik iš dabartinės kilpos ir valdiklis perduodamas kitam dabartinės kilpos sakiniui. BREAK sakinys paprastai naudojamas IF sakinyje.
Sintaksė
PERTRAUKA
TĘSTI
Sakinys CONTINUE naudojamas norint paleisti kilpą WHILE. Taigi, bet kokie teiginiai, esantys po raktinio žodžio TINSTI, bus ignoruojami.
Sintaksė
TĘSTI
Čia etiketė yra taškas, po kurio pradedamas apdorojimas, jei GOTO yra nukreiptas į tą konkrečią etiketę.
EITI Į
Naudojamas pakeisti etiketės vykdymo eigą. Pareiškimai, parašyti po GOTO raktinio žodžio, praleidžiami ir apdorojimas tęsiamas etiketėje.
Sintaksė
Apibrėžkite etiketę: etiketę: pakeiskite vykdymą: etiketę „GOTO“
Čia etiketė yra taškas, po kurio pradedamas apdorojimas, jei GOTO yra nukreiptas į tą konkrečią etiketę.
JEI
Kaip ir bet kuri kita programavimo kalba, sakinys „If-else“ SQL serveryje testuoja sąlygą ir, jei sąlyga yra klaidinga, vykdomas sakinys „else“.
Sintaksė
IF „BooleanExpression StatementBlock“ [ELSE StatementBlock]
GRĮŽTI
Naudojamas norint besąlygiškai išeiti iš užklausos ar procedūros. Taigi teiginiai, parašyti po RETURN išlygos, nevykdomi.
Sintaksė
RETURN [sveikoji išraiška]
Čia grąžinama sveikojo skaičiaus reikšmė.
LAUKTI
WAITFOR valdymo srautas naudojamas blokuoti saugomos procedūros, operacijos ar paketo vykdymą, kol konkretus sakinys pakeis, grąžins bent vieną eilutę arba praeis nurodytas laiko ar laiko intervalas.
Sintaksė
WAITFOR („GetConversionGroupStatement“)] [, TIMEOUT skirtasis laikas]
kur,
- DELSIMAS - Laikotarpis, kuris turi praeiti
- „TimeToPass“ - Plaiko laukti
- LAIKAS -laikas, kai vykdoma saugoma procedūra, operacija ar paketas.
- „TimeToExecute“ -laikas, kai baigiasi WAITFOR sakinys.
- „RecieveStatement“ - Įgaliojantis RECEIVE pareiškimas.
- „GetConversionGroupStatement“ - Įgaliojantis PAŽYMĖJIMO GRUPĖS pareiškimas.
- TIMEOUT skirtasis laikas - Nurodo laikotarpį milisekundėmis, kol laukiama, kol pranešimas pasirodys eilėje.
DABAR
Ši kilpa naudojama norint nustatyti pakartotinio konkretaus SQL sakinio ar SQL sakinių bloko vykdymo sąlygą. Pareiškimai vykdomi tol, kol vartotojo nurodyta sąlyga yra TIESA. Kai tik sąlyga nepavyksta, kilpa nustoja vykdyti.
Sintaksė
WHOLE BooleanExpression StatementBlock
Dabar, kai jūs, vaikinai, žinote DML komandas, pereikime prie kito skyriausšiame straipsnyje apie „SQL Tutorial“, t. y. DCL komandas.
Duomenų valdymo kalbos komandos (DCL)
Šis „SQL Server“ mokymo programos skyrius suteiks jums idėją apie komandą, per kurią naudojami norint užtikrinti duomenų bazės saugumą kelių vartotojų duomenų bazių aplinkose. Komandos yra tokios:
GRANTAS
GRANT komanda naudojama suteikti prieigą ar privilegijas prie duomenų bazės ir jos objektų vartotojams.
Sintaksė
GRANT PrivilegeName ON ObjectName to RoleName [SU SUTEIKIMO PASIRINKIMU]
kur,
- PrivilegeName - Ar vartotojui suteikiama privilegija / teisė / prieiga.
- ObjectName - Duomenų bazės objekto, pvz., TABLE / VIEW / STORED PROC, pavadinimas.
- Vartotojo vardas - Vartotojo, kuriam suteikta prieiga / teisės / privilegijos, vardas.
- VISUOMENĖ - suteikti prieigos teises visiems vartotojams.
- RoleName - sugrupuotų privilegijų rinkinio pavadinimas.
- SU DOTACIJOS PASIRINKIMU - suteikti vartotojui prieigą suteikti kitiems vartotojams teises.
Pavyzdys
- Suteikti SELECT leidimą „StudentsInfo“ lentelei „user1“. SUTEIKTI PASIRINKTI „StudentsInfo TO“ vartotojui1
ATŠAUKTI
REVOKE komanda naudojama norint panaikinti vartotojo prieigos teises, suteiktas naudojant komandą GRANT.
Sintaksė
ATŠAUKTI „PrivilegeName“, esančią „ObjectName“ IŠ VISO
Pavyzdys
- Panaikinti suteiktą „user1“ leidimą ATŠAUKTI PASIRINKIMĄ „StudentsInfo TO“ vartotojui1
Toliau eidami šią „SQL Server“ mokymo programą, supraskite, kaip sukurti ir naudoti saugomas procedūras.
Saugomos procedūros
Saugomos procedūros yra daugkartinio naudojimo vienetai, apimantys konkrečią programos verslo logiką. Taigi tai yra SQL sakinių ir logikos grupė, sudaryta ir saugoma kartu tam tikrai užduočiai atlikti.
Sintaksė
SUKURTI [ARBA PAKEISTI] PROCEDŪRĄ procedūros_pavadinimas [(parametro_pavadinimas [IN | OUT | IN OUT] tipas [])] IS BEGIN [deklaracijos_sekcija] vykdomoji_skiltis // SQL sakinys, naudojamas saugomoje procedūroje PABAIGOTI
Pavyzdys
- Sukurkite procedūrą, kuri grąžins studento vardą, kai „StudentId“ bus nurodytas kaip įvesties parametras į saugomą procedūrą. Sukurkite procedūrą „GetStudentName“ (@StudentId INT, --Input parametras, @StudName VARCHAR (50) OUT - išvesties parametras, AS BEGIN SELECT @StudName = StudentName iš „StudentsInfo“ WHERE „StudentID“ = @ StudentId END
Vykdymo veiksmai:
- Paskelbkite @StudName kaip nvarchar (50)
- EXEC „GetStudentName 01“, @StudName išvestis
- PASIRINKITE @StudName
Pirmiau nurodyta procedūra grąžina konkretaus studento vardą,duoti, kad studentai ID kaip indėlis. Toliau šioje „SQL Server“ pamokoje supraskime operacijų valdymo kalbos komandas.
Operacijų valdymo kalbos komandos (TCL)
Šiame „SQL Server“ mokymo programos skyriuje gausite komandų, naudojamų tvarkant operacijas duomenų bazėje, supratimą.Komandos yra tokios:
ĮSIPAREIGOTI
Komanda COMMIT naudojama operacijai įrašyti į duomenų bazę.
Sintaksė
ĮSIPAREIGOTI
GRĄŽINIMAS
ROLLBACK komanda naudojama norint atkurti duomenų bazę iki paskutinės nustatytos būsenos.
Sintaksė
GRĄŽINIMAS
PASTABA: Kai naudojate „ROLLBACK“ su „SAVEPOINT“, galite tiesiogiai pereiti prie išsaugoto taško vykstant operacijai. Sintaksė: GRĮŽTI Į „SavepointName“
SAVEPOINT
Komanda SAVEPOINT naudojama laikinai išsaugoti operaciją. Taigi, jei norite grįžti į bet kurį tašką, galite išsaugoti tą tašką kaip „SAVEPOINT“.
Sintaksė
SAVEPOINT SAVEPOINTNAME
Apsvarstykite toliau pateiktą lentelę, kad suprastumėte operacijų veikimą duomenų bazėje.
Studento pažymėjimas | Studento vardas |
vienas | Rohitas |
2 | Suhana |
3 | Ashish |
4 | Prerna |
Dabar naudokitės žemiau suprasti operacijas duomenų bazėje.
ĮTERPKITE Į „StudentTable“ VERTYBES (5, „Avinash“) ĮSIGYKITE ATNAUJINTI „StudentTable“ rinkinio pavadinimą = 'Akash' WHERE id = '5' SAVEPOINT S1 INSERT INTO StudentTable VALUES (6, 'Sanjana') SAVEPOINT S2 INSERT INTO StudentTable VALUES (7, 'Sanjay) ') SAVEPOINT S3 ĮTRAUKITE Į „StudentTable“ VERTYBES (8, „Veena“) „SAVEPOINT S4“ PASIRINKITE * IŠ „StudentTable“
Toliau šiame straipsnyje apie „SQL Server“ mokymo programą leiskite mums suprasti, kaip elgtis su „Transact-SQL“ išimtimis.
Išimčių tvarkymas
Yra dviejų rūšių išimtys, t. Y. Sistemos apibrėžtos išimtys ir vartotojo nustatytos išimtys. Kaip rodo pavadinimas, išimčių tvarkymas yra procesas, kurio metu vartotojas gali tvarkyti sugeneruotas išimtis. Norėdami tvarkyti išimtis, turite suprasti šiuos valdymo srauto teiginius:
MĖTI
Ši sąlyga naudojama išimčiai kelti ir vykdymą perkelia į TRY… CATCH konstrukcijos CATCH bloką.
Sintaksė
MĖTI [ErrorNumber, @lokalvariable, State] []
kur,
- ErrorNumber - Įkonstanta ar kintamasis, kuris reiškia išimtį.
- Pranešimas - Įkintamasis ar eilutė, apibūdinanti išimtį.
- Valstija -Konstantas arba kintamasis tarp 0 ir 255, nurodantis būseną, kurią reikia susieti su pranešimu.
MĖTI 51000, „Įrašo nėra.“, 1
IŠBANDYKITE
Naudojamas išimčių tvarkymui „Transact-SQL“ įdiegti. Į TRY bloką galima įtraukti teiginių grupę. Jei TRY bloke įvyksta klaida, valdymas perduodamas kitai teiginių grupei, kuri yra įtraukta į CATCH bloką.
Sintaksė
PRADĖKITE BANDYTI „StatementBlock“ END TRY BEGIN GAVYKITE [„StatementBlock“ “PABAIGO GAVIMĄ []
PRADĖKITE BANDYTI PASIRINKTI * IŠ „StudentInfo“ PABANDYKITE PRADĖTI PAGALBĄ PASIRINKTI PASIRINKTI KLAIDĄ ERROR_NUMBER () AS „ErNum“, „ERROR_MESSAGE“)
IN Taigi mes einame prie šio straipsnio apie „SQL Server Tutorial“ pabaigos. Tikiuosi, kad jums patiko skaityti šį straipsnį apie „SQL Server“ pamoką pradedantiesiems.Aš Jei norite gauti struktūrinį „MySQL“ mokymą, tada patikrinkite mūsų kuris ateina su instruktorių vedamomis tiesioginėmis treniruotėmis ir realių projektų patirtimi. Šie mokymai padės jums išsamiau suprasti „MySQL“ ir padės jums įsisavinti šį dalyką. Turite mums klausimą? Prašau paminėti tai komentarų skiltyje “ „SQL Server“ pamoka “Ir aš susisieksiu su jumis.