SQL Serveri õpetus - kõik, mida vajate Transact-SQL-i valdamiseks



See artikkel SQL Serveri õpetuse kohta on põhjalik juhend mitmesuguste mõistete, süntaksite ja käskude kohta, mida MS SQL Server kasutab.

Tänapäeva turul, kus iga päev tekib tohutult palju andmeid, on väga oluline mõista, kuidas andmetega ümber käia. SQL Server on Microsofti välja töötatud integreeritud keskkond andmete töötlemiseks.Selles SQL Serveri õpetuse artiklis õpitakse kõiki toiminguid ja käske, mida vajate oma andmebaaside uurimiseks.

Teie paremaks mõistmiseks olen jaganud ajaveeb järgmistesse kategooriatesse:





Käsud Kirjeldus

Andmemääratluse keele käsud (DDL)

Seda käskude komplekti kasutatakse andmebaasi määratlemiseks.

Andmetega manipuleerimise keele käsud (DML)



Manipulatsioonikäske kasutatakse andmebaasis olevate andmetega manipuleerimiseks.

Andmekontrolli keele käsud (DCL)

See käskude komplekt käsitleb andmebaasisüsteemide õigusi, õigusi ja muid juhtelemente.

Tehingu juhtimise keele käsud (TCL)

Need käsud on harjunud tegeleda andmebaasi tehinguga.

Lisaks käskudele käsitletakse selles artiklis järgmisi teemasid:



MS SQL Server - SQL Serveri õpetus - Edureka

  1. Mis on SQL Server?
  2. Installige SQL Server
  3. SSMS-i kaudu ühenduse loomine SQL Serveriga
  4. Juurdepääs andmebaasimootorile
  5. SQL Serveri arhitektuur
  6. Kommentaarid SQL-is
  7. SQL Serveri andmetüübid
  8. Võtmed andmebaasis
  9. Piirangud andmebaasis
  10. Operaatorid
  11. Koondfunktsioonid
  12. Kasutaja määratud funktsioonid
  13. Pesastatud päringud
  14. Liitub
  15. Silmused
  16. Salvestatud protseduurid
  17. Erandite käsitlemine

***MÄRGE*** Selles SQL Serveri õpetuses käsitlen allolevat andmebaasi järgmiseltnäide, kuidas näidata ja õppidakäsud.

Õpilase ID Õpilase nimi ParentName Telefoninumber Aadress Linn Riik
üksma vihkanAkriti mehra9955339966Brigaadi teetõke 9HyderabadIndia
2ManasaShourya Sharma9234568762Mayo tee 15KolkataIndia
3AnaySoumya Mishra9876914261Marathalli maja nr 101BengaluruIndia
4PreetiRohan Sinha9765432234Queens Road 40DelhiIndia
5ShanayaAbhinay agarwal9878969068Oberoi tänav 21MumbaiIndia

Enne kui hakkame mõistma erinevaid SQL Serveris kasutatavaid käske, andke meile aru, mis on SQL Server, selle arhitektuur ja kuidas seda installida.

Mis on SQL Server?

Microsoft SQL Server on relatsiooniline andmebaaside haldussüsteem . See toetab Struktureeritud päringukeel ja kaasas on SQL-i, mis on Tehingu-SQL (T-SQL) . Sellel on integreeritud keskkond SQL-i andmebaaside haldamiseks, mis on .

SQL Serveri põhikomponendid on järgmised:

  • Andmebaasimootor: See komponent haldab salvestamist, tehingute kiiret töötlemist ja andmete turvalisust.
  • SQL Server - Seda teenust kasutatakse MS SQL Serveri eksemplari käivitamiseks, peatamiseks, peatamiseks ja jätkamiseks.
  • SQL Serveri agent - Serveragendi teenus mängib ülesannete ajastajat ja selle käivitab mis tahes sündmus või vastavalt nõudele.
  • SQL Serveri brauser - Seda teenust kasutatakse sissetuleva päringu ühendamiseks soovitud SQL Serveri eksemplariga.
  • SQL Serveri täistekstiotsing - Kasutatakse selleks, et kasutaja saaks SQL-tabelites olevate märkide andmetega täisteksti päringuid käivitada.
  • SQL Serveri VSS-kirjutaja - Võimaldab varundada ja taastada andmefaile, kui SQL Server ei tööta.
  • SQL Serveri analüüsiteenused (SSAS) - Seda teenust kasutatakse andmete analüüsimiseks, andmete kaevandamiseks ja võimeid. Samuti on integreeritud SQL Server ja R täpsema andmeanalüütika jaoks.
  • SQL Serveri aruandlusteenused (SSRS) - Nagu nimigi ütleb, kasutatakse seda teenust funktsioonide ja otsustusvõimaluste pakkumiseks, sealhulgas integreerimine teenusega .
  • SQL Serveri integreerimisteenused (SSIS) - Seda teenust kasutatakse ETL-toimingute tegemiseks erinevat tüüpi andmetele mitmest andmeallikast.

Nüüd, kui teate, mis on MS SQL Server, lubage meil selles SQL Serveri õpetuse artiklis edasi liikuda ja mõista, kuidas SQL Serveri installida ja häälestada.

Installige SQL Server

SQL Serveri installimiseks toimige järgmiselt.

Samm 1: Minge ettevõtte ametlikule lehele Microsofti SQL Serveri allalaadimine , kust leiate võimaluse installida SQL Server kas kohapeal või pilve.

2. samm: Nüüd kerige alla ja näete kahte võimalust: Arendaja ja ettevõtte väljaanne . Siin laadin alla Arendaja väljaanne . Allalaadimiseks peate lihtsalt klõpsama nuppu Lae alla nüüd valik. Vaadake allpool.

3. samm: Kui rakendus on alla laaditud, topeltklõpsake failil ja näete järgmist akent.

4. samm: Nüüd saate SQL Serveri seadistamiseks valida ühe kolmest võimalusest. Siin valin lihtsalt Põhiline variant . Installitüübi valiku valimisel oleks järgmine ekraan litsentsilepingu aktsepteerimine. Selleks klõpsake nuppu Nõus järgmises aknas.

5. samm: Järgmisena peate määrama SQL Serveri installimise asukoha. Seejärel peate klõpsama nuppu Install.

Kui klõpsate nupul Installige , näete, et vajalikke pakette laaditakse alla. Nüüd, kui installimine on lõpule jõudnud, näete järgmist ekraani:

Siin saate minna edasi ja klõpsata nupul Ühenda kohe või saate installimist kohandada. Teie paremaks mõistmiseks lähen edasi ja valin Kohanda.

6. samm: Kui klõpsate nupul Kohanda ülaltoodud aknas näete järgmise viisardi avanemist. Klõpsake järgmises aknas nuppu Järgmine.

7. samm: Kui reeglid installitakse automaatselt, klõpsake nuppu Järgmine . Vaadake allpool.

8. samm: Järgmisena peate valima installimise tüübi. Nii et valige Tehke a SQL Server 2017 uus install ja seejärel klõpsake nuppu Järgmine.

9. samm: Valige avanevas viisardis väljaanne: Arendaja. Seejärel klõpsake nuppu Järgmine . Vaadake allpool.

10. samm: Nüüd lugege raadionupul check-in sisse litsentsilepingud ja nõustuge nendega ning klõpsake siis nuppu Järgmine . Vaadake allpool.

11. samm: Allpool olevas viisardis saate valida funktsioonid, mida soovite installida. Samuti saate valida eksemplari juurkataloogi ja seejärel klõpsata nuppu Järgmine . Siin valin Andmebaasimootorite teenused .

12. samm: Järgmisena peate nimetama eksemplari ja automaatselt luuakse eksemplari ID. Siinkohal nimetan eksemplari “edureka”. Seejärel klõpsake nuppu Järgmine.

13. samm: Klõpsake serveri konfigureerimise viisardis nuppu Järgmine .

14. samm: Nüüd peate lubama autentimisrežiimid. Siin näete Windowsi autentimisrežiim ja Segarežiim . Valin segarežiimi. Seejärel mainige parooli ja siis lisan praeguse kasutaja nimega Administraator valides Lisa praegune kasutaja valik.

15. samm: Seejärel valige konfiguratsioonifaili tee ja klõpsake nuppu Installige .

Pärast installimise lõppu näete järgmist ekraani:

SSMS-i kaudu ühenduse loomine SQL Serveriga

Pärast SQL Serveri installimist on teie järgmine samm ühendada SQL Server SQL Serveri haldusstuudioga. Selleks toimige järgmiselt.

Samm 1: Minge tagasi järgmisesse aknasse ja klõpsake nuppu installige SSMS valik.

2. samm: Kui klõpsate sellel suvandil, suunatakse teid järgmisel lehel , kus peate valima Laadige alla SSMS.

3. samm: Pärast seadistuse allalaadimist topeltklõpsake rakendusel ja näete järgmist viisardit avanevat.

4. samm: Kliki Installi valik , ülaltoodud aknas näete, et see installimine algab.

5. samm: Pärast installi lõppu saate dialoogiboksi, nagu allpool näidatud.

Pärast SSMS-i installimist on järgmine samm juurdepääs Andmebaasimootor .

Juurdepääs andmebaasimootorile

Kui avate SQL serveri haldusstuudio alates menüü Start , avaneb aken, mis sarnaneb alloleval pildil näidatud aknaga.

Siin mainige serveri nime, autentimisrežiimi ja klõpsake nuppu Ühendage.

Pärast klõpsamist nuppu Ühendage , näete järgmist ekraani.

Noh, inimesed, see on see, kuidas installite ja seadistate SQL Serveri. Selles SQL Serveri õpetuses edasi liikudes andke meile mõista SQL Serveri arhitektuuri erinevaid komponente.

SQL Serveri arhitektuur

SQL Serveri arhitektuur on järgmine:

  • Server & miinus Siia on installitud SQL-teenused ja andmebaas asub
  • Relatsioonimootor & miinus Sisaldab päringu parserit, optimeerijat ja täitjat ning täitmine toimub relatsioonimootoris.
  • Käsu parser & miinus Kontrollib päringu süntaksit ja teisendab päringu masinakeeleks.
  • Optimeerija & miinus Valmistab väljundiks täitmisplaani, võttes sisendiks statistika, päringu ja Algebratori puu.
  • Päringu täitja & miinus See on koht, kus päringuid samm-sammult täidetakse
  • Salvestusmootor & miinus See vastutab salvestussüsteemis olevate andmete salvestamise ja otsimise, andmetega manipuleerimise, tehingute haldamise ja lukustamise eest.

Nüüd, kui teate, kuidas SQL Serverit ja selle erinevaid komponente seadistada ja installida, alustame kirjutamisega Server. Enne seda lubage mul käsitleda kommentaaride kirjutamist SQL Serverisse.

Kommentaarid SQL Serveris

SQL-is saab kommenteerida kahel viisil, st kas kasutada s ingle-line kommentaarid või m ulti-line kommentaarid .

Üherealised kommentaarid

Üherealised kommentaarid algavad kaks sidekriipsu (-). Seega ignoreerib kompilaator pärast (-) mainitud teksti kuni ühe rea lõpuni.

Näide:

- Näide ühe rea kommentaaridest

Mitmerealised kommentaarid

Mitmerealised kommentaarid algavad tähega / * ja lõpevad tähega * / . Seega mainitud tekst vahel / * ja * / kompilaator ignoreerib.

Näide:

/ * Näide mitmerealiste kommentaaride jaoks * /

Alustame nüüd selles SQL Serveri õpetuse artiklis esimesest käsukomplektist, st käskudega Data Definition Language.

Andmete määratlemise keele käsud

Artikli see osa annab teile ülevaate käskudest, mille abil saate oma andmebaasi määratleda. Käsud on järgmised:

LOE

Seda lauset kasutatakse tabeli, andmebaasi või vaate loomiseks.

Avaldus CREATE DATABASE

Seda lauset kasutatakse andmebaasi loomiseks.

Süntaks

LOO ANDMEBAAS andmebaasi nimi

Näide

LOO ANDMEBAAS Õpilased

LOE TABEL ’Avaldus

Nagu nimigi ütleb, kasutatakse seda lauset tabeli loomiseks.

Süntaks

CREATE TABLE TableName (veeru1 andmetüüp, veeru2 andmetüüp, veeru3 andmetüüp, .... veeruN andmetüüp)

Näide

LOE TABEL StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))

Tilk

Seda lauset kasutatakse olemasoleva tabeli, andmebaasi või vaate kukutamiseks.

Avaldus „DROP DATABASE”

Seda lauset kasutatakse olemasoleva andmebaasi kukutamiseks. Kogu andmebaasis olev teave kaob kohe, kui täidate allolevat käsku.

Süntaks

DROP DATABASE DatabaseName

Näide

DROP DATABASE Õpilased

Avaldus „DROP TABLE”

Seda lauset kasutatakse olemasoleva tabeli kukutamiseks. Tabelis sisalduv täielik teave kaob kohe, kui täidate allolevat käsku.

Süntaks

DROP TABEL TableName

Näide

DROP TABEL StudentInfo

VANUS

ALTER-käsku kasutatakse olemasoleva tabeli veergude või piirangute lisamiseks, kustutamiseks või muutmiseks.

MUUDA TABEL ’Avaldus

Seda lauset kasutatakse juba olemasoleva tabeli veergude lisamiseks, kustutamiseks ja muutmiseks.

Lause ALTER TABLE koos veeruga ADD / DROP

Lauset ALTER TABLE kasutatakse veerus ADD / DROP Column veeru lisamiseks ja kustutamiseks.

Süntaks

ALTER TABLE TableName ADD ColumnName Datatüüp ALTER TABLE TableName DROP COLUMN ColumnName

Näide

--ADD veeru veregrupp: ALTER TABLE StudentInfo ADD veregrupi varchar (8000) - DROP veeru veregrupp: ALTER TABLE StudentInfo DROP COLUMN veregrupp

Lause ALTER TABLE koos veeruga ALTER

Lause ALTER TABLE abil saab koos veeruga ALTER muuta tabelis olemasoleva veeru andmetüüpi.

Süntaks

ALTER TABLE TableName ALTER COLUMN ColumnName Andmetüüp

Näide

- Lisage veerg DOB ja muutke andmetüüpi kuupäevast kuupäevani. ALTER TABEL StudentInfo ADD DOB kuupäev ALTER TABLE StudentInfo ALTER COLUMN DOB kuupäev

TRUNCATE

Seda SQL-käsku kasutatakse tabelis oleva teabe kustutamiseks, kuid see ei kustuta tabelit ennast. Seega, kui soovite kustutada tabelis sisalduva teabe ja mitte tabelit ennast, peate kasutama käsku TRUNCATE. Muul juhul kasutage käsku DROP.

Süntaks

TRUNCATE TABLE TableName

Näide

TRUNCATE TABEL StudentInfo

NIMETADA ümber

Seda lauset kasutatakse ühe või mitme tabeli ümbernimetamiseks.

Süntaks

sp_rename 'OldTableName', 'NewTableName'

Näide

sp_rename 'StudentInfo', 'Infostudendid'

Selles SQL Serveri õpetuse artiklis edasi liikudes andke meile mõista erinevad andmetüübid, mida SQL Server toetab.

SQL Serveri andmetüübid

Andmetüübi kategooria Andmetüübi nimi Kirjeldus Vahemik / süntaks
Täpsed numbrid numbrilineKasutatakse arvväärtuste salvestamiseks ning fikseeritud täpsuse ja skaala numbritega- 10 ^ 38 +1 kuni 10 ^ 38 - 1.
tinyintKasutatakse täisarvu väärtuste salvestamiseks0 kuni 255
väikeKasutatakse täisarvu väärtuste salvestamiseks-2 ^ 15 (-32 768) kuni 2 ^ 15-1 (32 767)
bigintKasutatakse täisarvu väärtuste salvestamiseks-2 ^ 63 (-9,223,372,036,854,775,808) kuni 2 ^ 63-1 (9,223,372,036,854,775,807)
intKasutatakse täisarvu väärtuste salvestamiseks-2 ^ 31 (-2 147 483 648) kuni 2 ^ 31-1 (2 147 483 647)
natukeSalvestab täisarvu andmetüübi, mille väärtus on 0, 1 või NULL0, 1 või NULL
kümnendkohtKasutatakse arvväärtuste salvestamiseks ning fikseeritud täpsus- ja skaalanumbrite jaoks- 10 ^ 38 +1 kuni 10 ^ 38 - 1.
väikerahaKasutatakse raha hoidmiseksvõi valuuta väärtused.- 214 748,3648 kuni 214 748 3664
rahaKasutatakse raha hoidmiseksvõi valuuta väärtused.-922 337 203 685 477,5808 kuni 922 337 203 685 477 5807 (-922 337 203 685 477,58
kuni Informatica 922 337 203 685 477,58-ni.
Ligikaudsed numbrid ujukKasutatakse ujukoma arvandmete salvestamiseks- 1,79E + 308 kuni -2,23E-308, 0 ja 2,23E-308 kuni 1,79E + 308
pärisKasutatakse ujukoma arvandmete salvestamiseks- 3,40E + 38 kuni -1,18E - 38, 0 ja 1,18E - 38 kuni 3,40E + 38
Päev ja aeg kuupäevKasutatakse kuupäeva määratlemiseks SQL Serveris.Süntaks: kuupäev
smalldatetimeKasutatakse kuupäeva määratlemiseks, mis on kombineeritud kellaajaga, kus aeg põhineb 24-tunnisel päeval, sekunditega alati null (: 00) ja ilma murdosa sekunditeta.Süntaks: smalldatetime
kuupäev KellaaegKasutatakse kuupäeva määratlemiseks, mis on kombineeritud kellaajaga 24-tunnise kella põhjal murdosa sekunditega.Süntaks: kuupäeva aeg
kuupäevaaeg2 kuupäevaaeg2 on olemasoleva jätkuna kuupäev Kellaaeg tüüp, millel on suurem vaikimisi murdosa täpsus, täpne kuupäevavahemik.Süntaks: kuupäevaaeg2
kuupäeva niheKasutatakse kuupäeva määratlemiseks, mis on ühendatud ajavöönditeadvusega kellaajaga. See põhineb 24-tunnisel kellaajal.Süntaks: datetimeoffset
aegKasutatakse päeva kellaaja määramiseks.Süntaks: aeg
Märgistringid charKasutatakse fikseeritud suurusega märkide salvestamiseks.char[( n )] kus n väärtus varieerub vahemikus 1 - 8000
varcharKasutatakse muutuva pikkusega märkide salvestamiseks.varchar [( n | max)] kus n väärtus varieerub vahemikus 1–8000 ja maksimaalne lubatud salvestusruum on 2 GB.
tekstiKasutatakse varive pikkusega mitte-Unicode'i andmedMaksimaalne lubatud stringipikkus - 2 ^ 31-1 (2 147 483 647)
Unicode'i märgistringid ncharKasutatakse fikseeritud suurusega märkide salvestamiseks.nchar[(n)], kus n väärtus varieerub vahemikus 1-4000
nvarcharKasutatakse muutuva pikkusega märkide salvestamiseks.varchar [( n | max)] kus n väärtus varieerub vahemikus 1–4000 ja maksimaalne lubatud salvestusruum on 2 GB.
ntextKasutatakse muutuva pikkusega Unicode'i andmete salvestamiseksMaksimaalne lubatud stringipikkus - 2 ^ 30-1 (2 147 483 647)
Binaarsed stringid binaarneKasutatakse kummagi fikseeritud pikkusega binaarsete andmetüüpide salvestamiseksbinaarne[( n )] kus n väärtus varieerub vahemikus 1 - 8000
varbinaarneKasutatakse kummagi fikseeritud pikkusega binaarsete andmetüüpide salvestamiseksvarbinaarne[( n )] kus n väärtus varieerub vahemikus 1-8000 ja maksimaalne lubatud salvestusruum on 2 ^ 31-1 baiti.
piltKasutatakse muutuva pikkusega binaarandmete salvestamiseks0 - 2 ^ 31-1 (2 147 483 647) baiti
Muud andmetüübid See on salvestatud protseduuri või muutujate OUTPUT parameetrite andmetüüp, mis sisaldab viidet kursorile.-
reaversioonKasutatakse andmebaasis automaatselt genereeritud unikaalsete kahendarvude eksponeerimiseks.-
hierarhiaKasutatakse hierarhias positsiooni esindamiseks.-
kordumatu identifikaatorOn 16-baidine GUID.Süntaks:kordumatu identifikaator
sql_variantKasutatakse erinevate SQL Serveri toetatud andmetüüpide väärtuste salvestamiseksSüntaks: sql_variant
xmlKasutatakse XML-i andmetüübi salvestamiseks.

xml ([CONTENT | DOCUMENT] xml_schemacollection)

Ruumigeomeetria tüübidKasutatakse andmete esitamiseks Eukleidese (lamedas) koordinaatsüsteemis.-
Ruumigeograafia tüübidKasutatakse ellipsoidse (ümmarguse maa) andmete, näiteks GPS-laius- ja pikkuskraadide koordinaatide, salvestamiseks.-
tabelKasutatakse tulemuste komplekti töötlemiseks hilisemaks salvestamiseks-

Järgmisena andke meile selles artiklis mõista erinevat tüüpi võtmeid ja piiranguid andmebaasis.

Eri tüüpi võtmed andmebaasis

Andmebaasis kasutatavad erinevad võtmetüübid on järgmised:

  • Kandidaadi võti - Kandidaatvõti on atribuutide kogum, mis võimaldab tabelit kordumatult tuvastada. Tabelil võib olla rohkem kui üks kandidaatvõti ja valitud kandidaatvõtmetest valitakse primaarvõtmeks üks võti.
  • Super võti - Atribuutide komplekt suudab kahekordse identifitseerida. Nii et kandidaatvõtmed, unikaalsed võtmed ja primaarvõtmed on supervõtmed, kuid vastupidi pole tõsi.
  • Esmane võti - Esmased võtmed kasutatakse iga tupi kordumatuks tuvastamiseks.
  • Alternatiivne võti - Alternatiivvõtmed on need kandidaatvõtmed, mida ei valita peamiseks võtmeks.
  • Ainulaadne võti- Unikaalsed võtmed on sarnased primaarvõtmega, kuid lubavad veerus ühe NULL-väärtuse.
  • Välisvõtme - Atribuut, mis saab olemasolevaid väärtusi võtta ainult mõne muu atribuudi väärtustena, on võõras võti atribuudile, millele see viitab.
  • Komposiitvõti- Liitvõtmed on kahe või enama veeru kombinatsioon, mis identifitseerib iga duplikaadi kordumatult.

Andmebaasis kasutatavad piirangud

Piiranguid kasutatakse andmebaasis tabelisse salvestatud andmete reeglite täpsustamiseks. Erinevad tüübid piirangud SQL-is on järgmised:

EI NULL

Piirang NOT NULL tagab, et veerul ei saa olla NULL-väärtust.

Näide

LOE TABEL 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)) - EI NULL on ALTER TABEL ALTER TABEL StudentsInfo ALTER COLUMN Telefoninumber int NOT NULL

UNIKAALNE

See piirang tagab, et kõik veeru väärtused on unikaalsed.

Näide

- AINUAAL tabeli loomisel LOE TABEL StudentsInfo (StudentID int EI NULL UNIQUE, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000)) - MITMEKOOLSELT VÕRDLIK LOE TABEL 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)) - ALI TABELI UNIQUE ALTER TABLE StudentInfo ADD UNIQUE (StudentID) - Unikaalse piirangu loobumiseks ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Stud

KONTROLLIMA

CHECKi piirang tagab, et kõik veeru väärtused vastavad konkreetsele tingimusele.

Näide

--KONTROLLIGE TABELI LOOMISE LOOMISE TABEL 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) CHECK (Country = 'India')) - CHECK piirang mitmel veerul LOE TABEL StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Linna varchar (8000), Country varchar (8000) CHECK (Country = 'India' JA City = 'Hyderabad')) - CHECK piirang ALTER TABELI ALTER TABELILE StudentInfo ADD CHECK (Country = 'India') - et anda nimi CHECK-i piirangu ALTERTABELILE StudentInfo ADD CONSTRAINT CheckConstraintName CHECK (riik = 'India') - CHECK-piirangu ALTER-tabeli loobumine StudentsInfo DROP CONSTRAINT CheckConstraintName

DEFAULT

DEFAULT piirang koosneb veeru vaikeväärtuste komplektist, kui väärtust pole määratud.

Näide

--DEFAULT piirang TABELI LOOMISEKS LOE TABEL DEFAULT 'India') - DEFAULT piirang ALTER TABELIL ALTER TABEL ÕpilasedInfo ADD CONTRRAINT defau_Country DEFAULT 'India' RIIGI - Vaikepiirangu ALTER TABEL õpilaste infost ALTER COLUMN riik DROP defau_Country

INDEKS

The INDEXi piirang kasutatakse tabelis indeksite loomiseks, mille kaudu saate andmebaasist andmeid väga kiiresti luua ja kätte saada.

Süntaks

- Looge register, kus duplikaatväärtused on lubatud. CREATE INDEX IndexName ON TableName (Column1, Column2, ... ColumnN) - Looge register, kus duplikaatväärtused pole lubatud CREATE UNIQUE INDEX IndexName ON TableName (Column1, Column2, ... Veerg N)

Näide

LOO INDEKS idex_StudentName saidil StudentsInfo (StudentName) - indeksi kustutamine tabelis DROP INDEX StudentsInfo.idex_StudentName

Selles SQL Serveri õpetuse artiklis edasi liikudes saate nüüd aru Microsoft Data Serveris kasutatavatest erinevatest andmetega manipuleerimise keele käskudest.

Andmetega manipuleerimise keele käsud

Artikli selles jaotises käsitletakse kõiki neid käske, mille kaudu saate andmebaasiga manipuleerida. Käsud on järgmised:

Peale nende käskude on ka teisi manipuleerivaid operaatoreid / funktsioone, näiteks:

KASUTA

Seda lauset kasutatakse andmebaasi valimiseks, et sellega mitmesuguseid toiminguid alustada.

Süntaks

KASUTA DatabaseName

Näide

KASUTAGE õpilasi

SISSE

The INSERT INTO avaldus kasutatakse uute kirjete lisamiseks olemasolevasse tabelisse.

Süntaks

INSERT INTO TableName (veerg1, veerg2, veerg3, ..., veergN) VÄÄRTUSED (väärtus1, väärtus2, väärtus3, ...) - kui te ei soovi veergude nimesid mainida, siis kasutage allolevat süntaksit INSERT INTO TableName VALUES (Väärtus1, väärtus2, väärtus3, ...)

Näide

INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) VALUES ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India ') INSERT INTO StudentsInfo VALUES (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' India ')

UUENDAMINE

Lauset UPDATE kasutatakse tabelis juba olevate kirjete muutmiseks või värskendamiseks.

Süntaks

UPDATE TableName SET veerg1 = väärtus1, veerg2 = väärtus2, ... WHERE tingimus

Näide

Uuenda StudentsInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WHERE StudentID = 1

KUSTUTA

Lause DELETE abil kustutatakse tabelis olevad kirjed.

Süntaks

KUSTUTA TableName'ist WHERE Tingimus

Näide

KUSTUTA õpilasinfost WHERE StudentName = 'Aahana'

GO

MERGE-lauset kasutatakse toimingute INSERT, UPDATE ja DELETE sooritamiseks konkreetses tabelis, kus on toodud lähtetabel. Vaadake allpool.

Süntaks

MERGE TagretTableName KASUTAMINE SourceTableName MergeConditionis, kui see siis vastaks Update_Statement, kui seda siis ei sobitata Insert_Statement, kui see pole allika all, siis kustutage

Näide

MERGE-lause mõistmiseks pidage järgmisi tabeleid allikatabeliks ja tabeliks Sihtmärk.

Allikatabel:

Õpilase ID Õpilase nimi Märgid
üksma vihkan87
2Manasa92
4Anay74.

Sihttabel:

Õpilase ID Õpilase nimi Märgid
üksma vihkan87
2Manasa67
3Saurabh55
MERGE SampleTargetTable TARGET SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) KASUTAMISEL KUI MATCHET ja TARGET.StudentName SOURCE.StudentName OR TARGET.Marks SOURCE.Marks THEN UPDATE SOURGAME.SET KUI MITTE Siht ei sobi, siis sisestage (StudentID, StudentName, Marks) VÄÄRTUSED (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks), KUI MITTE ALLIKAS MITTE, siis kustutage

Väljund

Õpilase ID Õpilase nimi Märgid
üksma vihkan87
2Manasa92
4Anay74.

VALI

The SELECT-lause kasutatakse andmete valimiseks andmebaasist, tabelist või vaatest. Tagastatud andmed salvestatakse tulemustabelisse, mida nimetatakse tulemuste komplekt .

Süntaks

SELECT veerg1, veerg2, ... veergN FROM TableName - (*) kasutatakse kõigi valimiseks tabelist SELECT * FROM table_name - kasutatavate materjalide arvu valimiseks: SELECT TOP 3 * FROM TableName

Näide

- Mõne veeru valimiseks SELECT StudentID, õpilasnime FROM StudentsInfo - (*) kasutatakse kõigi valimiseks tabelist SELECT * FROM StudentsInfo - kasutuskõlblike kirjete arvu valimiseks: SELECT TOP 3 * FROM StudentsInfo

SELECT-lausega saame kasutada ka järgmisi märksõnu:

ERISTAMA

Märksõna DISTINCT kasutatakse lausega SELECT ainult erinevate väärtuste tagastamiseks.

Süntaks

SELECT DISTINCT veerg1, veerg2, ... veergN FROM TableName

Näide

VALI DISTINCT PhoneNumber FROM StudentsInfost

TELLI

Seda lauset kasutatakse vajalike tulemuste sortimiseks kas kasvavas või kahanevas järjekorras. Vaikimisi salvestatakse tulemused kasvavas järjekorras. Kuid kui soovite saada tulemusi kahanevas järjekorras, peate kasutama DESC märksõna.

Süntaks

VALI veerg1, veerg2, ... veergN tabelist NIMI TELLI veeru1, veeru2, ... ASC | DESC

Näide

- Valige kõik õpilased tabelist 'StudentsInfo', mis on sortitud ParentName järgi: SELECT * FROM StudentsInfo ORDER BY ParentName - valige kõik õpilased tabelist 'StudentsInfo', mis on järjestatud ParentName järgi kahanevas järjekorras: SELECT * FROM StudentsInfo TELLI PARENTNAME DESC - Valige kõik õpilased tabelist 'StudentsInfo', mis on järjestatud järgmiselt: ParentName ja StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Valige kõik õpilased tabelist 'StudentsInfo', järjestatud järjestuses ParentName kahanevas järjekorras ja StudentName kasvavas järjekorras: * / SELECT * FROM StudentsInfo TELLIMUS ParentName ASC, StudentName DESC

GRUPP JÄRGI

Seda lauset kasutatakse koos koondfunktsioonid tulemuste kogumi rühmitamiseks ühe või mitme veeru järgi.

Süntaks

VALI veerg1, veerg2, ..., veerg N tabeli nimest WHERE TINGIMUS GRUPP VeerusNimi (d) TELLI VeeruNimi (d)

Näide

- loetleda õpilaste arv igast linnast. VALI COUNT (StudentID), linn FROM StudentsInfo rühmast linna järgi

KOMPLEKTIDE RÜHMISTAMINE

RÜHMAKOMPLEKTID võeti kasutusele SQL Server 2008-s, mida kasutati tulemuskomplekti loomiseks, mida saab genereerida a LIIT KÕIK mitme lihtsa GROUP BY klausli hulgast.

Süntaks

VALI veerunimed (tabelid) tabeli nimi rühmast rühmitamise komplektide järgi (veeru nimed)

Näide

VALI StudentInfo grupist StudentID, StudentName, COUNT (linn), RÜHMISTAMISE JÄRGI ((StudentID, StudentName, City), (StudentID), (StudentName), (City))

VÕIMALIK

Seda klauslit kasutatakse stsenaariumi korral, kus Märksõna WHERE ei saa kasutada.

Süntaks

VALI veeru nimi (d) tabelist Nimi WHERE tingimus GRUPP VeerusNimi (d), millel on tingimus TELLIMINE VeerusNimi (d)

Näide

VALI ARV (COUNT) (StudentID), linn õpilaste infost RÜHM Linna järgi, KUI LASKE (ÕPP)> 2 TELLI KOGUMISE JÄRGI (ÕPP) ID

INTO

Märksõna INTO saab kasutada koos SELECT-lause andmete kopeerimiseks ühest tabelist teise. Noh, saate aru, et need tabelid on ajutised tabelid. Ajutisi tabeleid kasutatakse tavaliselt tabelis olevate andmetega manipuleerimiseks, häirimata algset tabelit.

Süntaks

VALI * INT NewTable-i [IN ExternalDB] -st OldTable'ist WHERE tingimus

Näide

- Tabeli 'StudentsInfo' varukoopia loomine SELECT * IN StudentsBackup from StudentsInfo - Ainult mõne veeru valimiseks StudentsInfo SELECT StudentName, PhoneNumber INTO StudentsDetails FROM StudentsInfo SELECT * IN PuneStudents from StudentsInfo WHERE City = 'Pune'

KUUP

CUBE on laiendus GROUP BY klausel . See võimaldab teil luua vahesummad grupi veergude kõigi kombinatsioonide jaoks, mis on määratud klauslis GROUP BY.

Süntaks

VALI veerusNimi (veerud) tabelinime rühmast kuupi järgi (veeru nimi1, veeru nimi2, ....., veeru nimiN)

Näide

VALI StudentID, COUNT (linn) FROM StudentsInfo GRUPP KUUPI (StudentID) TELLIMUS StudentID järgi

ÜLES KERIMA

ROLLUP on klausli GROUP BY laiendus. See võimaldab teil lisada lisaridu, mis tähistavad vahesummasid. Neid nimetatakse ülikoondatud ridadeks koos kogu reaga.

Süntaks

VALI veerusNimi (tabelid) tabeliNIMI RÜHMAST ROLLUPI JÄRGI (veeruNimi1, veeruNimi2, ....., veeruNimiN)

Näide

VALI StudentInfo GRUPI ROLLUP (StudentID) järgi õpilase ID, COUNT (linn)

NIHE

OFFSET-klauslit kasutatakse koos SELECT ja TELLIGE avalduse järgi kirjete vahemiku hankimiseks. Seda tuleb kasutada koos klausliga ORDER BY, kuna seda ei saa kasutada iseseisvalt. Samuti peab teie mainitud vahemik olema võrdne või suurem kui 0. Kui mainite negatiivset väärtust, näitab see viga.

Süntaks

VALI veerunimed) tabelist NIMI KOHAS Tingimus TELLI TULNUD veeruNimed (id) OFFSET Ridade vahele jätke read

Näide

Kaaluge uut veergu Märgid aastal StudentsInfo tabel.

VALIGE StudentInfo, ParentName FROM StudentsInfo-st TELLIGE MÄRGID 1 RIDA NÕUETELE

FETCH

FETCH-klauslit kasutatakse hulga ridade hulga tagastamiseks. Seda tuleb kasutada koos OFFSET-klausliga.

Süntaks

Valige veerunimed) FROM TableName WHERE tingimus TELLI veeruNimi (d) OFFSET RIDADSKIP FETCH NEXT NumberOfRows AINULT RIDAD

Näide

VALI õpilasnimi, vanemanimi FROM StudentsInfost

TOP

TOP-klauslit kasutatakse käsku SELECT, et mainida tagastatavate kirjete arvu.

Süntaks

VALI Tingimuseks TOPNumber ColumnName FROM TableName WHERE

Näide

VALI TOP 3 * StudentInfo lehelt

PIVOT

PIVOT-i kasutatakse ridade pööramiseks veeruväärtusteni ja see käivitab ülejäänud veeruväärtuste korral liitmise.

Süntaks

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 päring, mis toodab andmed) AS [alias esialgse päringu jaoks] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName of the column), mille väärtustest saavad veerupäised] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [viimane pööratav veerg])) AS [pöördtabeli pseudonüüm]

Näide

Üksikasjaliku näite saamiseks võite viidata minu artikkel SQL PIVOTi ja UNPIVOTi kohta . Järgmisena uurime selles SQL Serveri õpetuses erinevaid operaatoreid, mida Microsoft SQL Server toetab.

Operaatorid

The erinevat tüüpi operaatorid SQL Serveri toetatud versioonid on järgmised:

Arutagem neist igaüks ükshaaval.

Aritmeetikaoperaatorid

Operaator Tähendus Süntaks

+

Lisamine

avaldis + avaldis

-

Lahutamine

väljend - väljend

*

Korrutamine

avaldis * avaldis

/

Divison

väljend / väljend

%

Modellne

väljendus% väljendus

Ülesandeoperaatorid

Operaator Tähendus Süntaks

=

Määrake muutujale väärtus

muutuja = ‘väärtus’

Bitipõhised operaatorid

Operaator Tähendus Süntaks

& (Bitipidi JA)

Kasutatakse kahe täisarvu vahelise bitt-loogilise JA-toimingu sooritamiseks.

väljendus ja väljendus

& = (Bitipõhine JA omistamine)

Kasutatakse kahe täisarvu vahelise bitt-loogilise JA-toimingu sooritamiseks. See määrab ka operatsiooni väljundi väärtuse.

avaldis & = avaldis

| (Bitipõhiselt VÕI)

Kasutatakse biti-loogilise VÕI toimingu tegemiseks kahe täisarvu vahel, tõlgitud binaarseteks avaldisteks Transact-SQL-i lausetes.

väljend | väljendus

| = (Bitipõhine VÕI määramine)

Kasutatakse biti-loogilise VÕI toimingu tegemiseks kahe täisarvu vahel, tõlgitud binaarseteks avaldisteks Transact-SQL-i lausetes. See määrab ka operatsiooni väljundi väärtuse.

avaldis | = avaldis

^ (Bitipõhine eksklusiivne VÕI)

Kasutatakse kahe täisarvu vahelise bittide kaupa välistava VÕI toimingu sooritamiseks.

avaldis ^ avaldis

^ = (Bitipõhine eksklusiivne VÕI määramine)

Kasutatakse kahe täisarvu vahelise bittide kaupa välistava VÕI toimingu sooritamiseks. See määrab ka operatsiooni väljundi väärtuse.

avaldis ^ = avaldis

~ (Bitipidi EI)

Kasutatakse täisarvu bittide kaupa loogilise EI toimingu sooritamiseks.

~ väljend

Võrdlusoperaatorid

Operaator Tähendus Süntaks

=

Võrdne

avaldis = avaldis

>

Suurem kui

väljend> väljend

<

Vähem kui

väljendus

> =

Suurem või võrdne

avaldis> = avaldis

<=

Vähem kui või võrdne

väljendus<= expression

Ei ole võrdne

avaldise väljendus

! =

Ei ole võrdne

avaldis! = avaldis

!<

Mitte vähem kui

väljendus!

!>

Mitte suurem kui

väljend!> väljend

Liitoperaatorid

Operaator Tähendus Süntaks

+ =

Kasutatakse väärtuse lisamiseks algsele väärtusele ja algse väärtuse määramiseks tulemusele.

avaldis + = avaldis

- =

Kasutatakse väärtuse lahutamiseks algsest väärtusest ja algse väärtuse määramiseks tulemuseks.

avaldis - = avaldis

* =

Kasutatakse väärtuse korrutamiseks algväärtusega ja algse väärtuse määramiseks tulemuseks.

avaldis * = avaldis

/ =

Kasutatakse väärtuse jagamiseks algsest väärtusest ja algse väärtuse määramiseks tulemuseks.

avaldis / = avaldis

% =

Kasutatakse väärtuse jagamiseks algsest väärtusest ja algse väärtuse määramiseks tulemuseks.

avaldis% = avaldis

& =

Kasutatakse bitipõhise JA-toimingu sooritamiseks ja algse väärtuse määramiseks tulemuseks.

avaldis & = avaldis

^ =

Kasutatakse bitipõhise eksklusiivse VÕI toimingu sooritamiseks ja algse väärtuse määramiseks tulemuseks.

avaldis ^ = avaldis

| =

Kasutatakse bitipõhise VÕI toimingu sooritamiseks ja algse väärtuse määramiseks tulemuseks.

avaldis | = avaldis

kuidas teha pesastatud tabeleid HTML-is

Loogilised operaatorid

Operaator Tähendus Süntaks

KÕIK

Tagastab väärtuse TÕENE, kui kõik võrdluste kogumid on tõesed.

scalar_expression! = KÕIK (alampäring)

JA

Tagastab väärtuse TÕENE, kui mõlemad avaldised on TÕSI.

boolean_expression ja boolean_pression

KÕIK

Tagastab väärtuse TÕENE, kui mõni võrdluste komplekt on TÕENE.

skalaarne väljendus! = {ANY} (alampäring)

VAHEL

Tagastab TÕENE, kui operand jääb vahemikku.

näidisilme [EI] alg- ja lõppväljenduse VAHEL

OLEMAS

Tagastab väärtuse TRUE, kui alampäring sisaldab ridu.

OLEMAS (alampäring)

IN

Tagastab TÕENE, kui operand on võrdne avaldiste loendi ühega.

test_expression [NOT] IN (alampäring | avaldis [,… n])

NAGU

Tagastab TÕENE, kui operand sobib mustriga.

match_expression [NOT] LIKE muster [ESCAPE escape_character]

MITTE

Pöörab mis tahes tõeväärtusega operaatori väärtuse.

[EI] tõeväärtuse väljend

VÕI

Tagastab väärtuse TÕENE, kui kumbki tõeväärtusavaldus on TÕENE.

boolean_expression VÕI boolean_pression

MÕNED

Tagastab väärtuse TÕENE, kui mõni võrdluste komplekt on TÕENE.

skalaarne väljend<= { SOME} ( subquery )

Reguleerimisala eraldamise operaatorid

Operaator Tähendus Näide

::

Pakub juurdepääsu liitandmetüübi staatilistele liikmetele. Liitandmetüübid on need andmetüübid, mis sisaldavad mitut meetodit ja lihtsaid andmetüüpe. Liitandmetüübid Nende hulka kuuluvad sisseehitatud CLR-tüübid ja kohandatud SQLCLR-i kasutaja määratud tüübid (UDT-d).

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

Määra operaatorid

Peamiselt on kolm seatud toimingut:LIIT,LÕPETA,Miinus. SQL-is määratud toimingute mõistmiseks võite viidata allolevale pildile. Vaadake allolevat pilti:

Operaator Tähendus Süntaks

LIIT

Operaatorit UNION kasutatakse kahe või enama SELECT-lause tulemuste komplekti ühendamiseks.

VALI VeeruNimi (d) tabelist1
LIIT
VALI VeeruNimi (tabelid) tabelist 2

LÕPETA

INTERSECT-klauslit kasutatakse kahe ühendamiseksVALIlaused ja tagastavad mõlema SELECT-lause andmekogumite ristumiskoha.

VALI veerg1, veerg2….
FROM TableName
KUS seisukord
LÕPETA
VALI veerg1, veerg2….
FROM TableName
KUS seisukord

VÄLJA ARVATUD

Operaator EXCEPT tagastab need rühmad, mille tagastab esimene SELECT-toiming ja mida teine ​​SELECT-toiming ei tagasta.

Valige veeru nimi
FROM TableName
VÄLJA ARVATUD
Valige veeru nimi
FROM TableName

Stringioperaatorid

Operaator Tähendus Süntaks / näide

+ (Stringide liitmine)

Liidab kaks või enam kahend- või märgistringi, veergu või stringide ja veerunimede kombinatsiooni üheks avaldiseks

avaldis + avaldis

+ = (Stringide liitmine)

Kasutatakse kahe stringi liitmiseks ja stringi määramiseks operatsiooni tulemuseks.

avaldis + = avaldis

% (Ühilduvad metamärgid)

Kasutatakse mis tahes nullist või enamast tähemärgist koosnevale stringile vastamiseks.

Näide: ‘proov%’

[] (Ühilduvad metamärgid)

Kasutatakse üksiku märgi sobitamiseks määratud vahemikus või sulgudes [] täpsustatud kogumis.

Näide: m [n-z]% ’

[^] (Metamärgid sobivad)

Kasutatakse üheainsa märgi sobitamiseks, mis ei asu nurksulgudes määratud vahemikus või komplektis.

Näide: ‘Al [^ a]%’

_ (Ühilduvad metamärgid)

Kasutatakse stringi võrdlustoimingus ühe märgi sobitamiseks

test_expression [NOT] IN (alampäring | avaldis [,… n])

Kokkuvõte Funktsioonid

Erinevat koondfunktsioonid SQL Serveri toetatud versioonid on järgmised:

Funktsioon Kirjeldus Süntaks Näide

SUM ()

Kasutatakse väärtuste rühma summa tagastamiseks.

VALI SUMM (ColumnName) FROM TableName

VALI SUMM (märgid) StudentsInfost

COUNT ()

Tagastab ridade arvu kas tingimuse alusel või ilma tingimuseta.

VALI COUNT (veeruNimi) tabelinimest WHERE tingimus

VALI COUNTInfo hulgast COUNT (StudentID)

AVG ()

Kasutatakse numbriveeru keskmise väärtuse arvutamiseks.

VALI AVG (ColumnName) FROM TableName

Valige AVG (märgid) StudentInfost

MIN ()

See funktsioon tagastab veeru minimaalse väärtuse.

VALI MINU (veeruNimi) tabeliNIMEKS

VALI MINU (märgid) StudentsInfost

MAX ()

Tagastab veeru maksimaalse väärtuse.

VALI MAX (ColumnName) tabeliNIMEKS

VALI MAXInfo (märgid) StudentInfost

ESIMENE ()

Kasutatakse veeru esimese väärtuse tagastamiseks.

VALI ESIMENE (veerunimi) tabeli nimest

VALI ESIMENE (märgid) StudentsInfost

VIIMANE ()

See funktsioon tagastab veeru viimase väärtuse.

VALI LAST (ColumnName) tabelinimest

VALI VIIMASED (märgid) StudentsInfost

Kasutaja määratud funktsioonid

Microsoft SQL Server võimaldab kasutajatel luua kasutaja määratletud funktsioone, mis on tavapärased. Need rutiinid aktsepteerivad parameetreid, saavad teha lihtsaid kuni keerukaid toiminguid ja tagastada selle konkreetse toimingu väärtuse. Siin võib tagastatud väärtus olla kas üksik skalaarne väärtus või täielik tulemuste komplekt.

Kasutaja määratud funktsioone saate kasutada:

  • Luba modulaarne programmeerimine
  • Vähendage võrguliiklust
  • Luba päringute kiirem täitmine

Samuti saate luua erinevaid kasutaja määratletud funktsioone. Nemad on:

  • Skalaari funktsioonid: Harjunudtagastab üksuse RETURNS klauslis määratletud tüüpi andmeväärtuse.
  • Tabelis hinnatud funktsioonid: Harjunudtagastama atabelandmetüüp.
  • Süsteemi funktsioonid: Erinevate toimingute tegemiseks pakub SQL Server mitmesuguseid süsteemifunktsioone.

Lisaks kasutaja määratletud funktsioonidele on SQL Serveris hulk sisseehitatud funktsioone, mida saab kasutada mitmesuguste ülesannete täitmiseks. Selles SQL Serveri õpetuse artiklis edasi liikudes saate nüüd aru saada, millised on sisestatud päringud.

Pesastatud päringud

Pesastatud päringud on need päringud, millel on välimine päring ja sisemine päring. Põhimõtteliselt on alampäring päring, mis on sisestatud teise päringu (nt SELECT, INSERT, UPDATE või DELETE) sisse. Vaadake allolevat pilti:

Järgmisena selgitame selles SQL Serveri õpetuses SQL-i erinevaid ühenduste tüüpe.

Liitub

kasutatakse kahe või enama tabeli rühmade kombineerimiseks, tuginedes tabelite vahel seotud veerule. Liitumisi on nelja tüüpi:

  • Sisemine liitumine: Tagastab kirjed, mille mõlemas tabelis on vastavad väärtused.
  • VASAKS LIITU: Tagastab vasakult tabelilt kirjed ja parempoolsest tabelist ka need tingimused, mis vastavad tingimusele.
  • PAREMA LIITUMINE: Tagastab parempoolsest tabelist kirjed ja ka need kirjed, mis vastavad vasakpoolse tabeli tingimustele.
  • TÄIELIK LIITUMINE: Tagastab kirjed, mille vasakus või paremas tabelis on vaste.

Liitumiste süntaksist arusaamiseks kaaluge järgmist tabelit koos tabeliga StudentsInfo.

SubjectID Õpilase ID SubjectName
1010Matemaatika
2üksteistFüüsika
312Keemia

SISSE LIITU

Süntaks

VALI veeru nimi (d) Tabelist1 INNER JOIN Tabel 2 on tabel 1. VeergNimi = Tabel2.VeeruNimi

Näide

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

VASAK LIITU

Süntaks

VALI veeru nimi (d) Tabelist1 LEFT JOIN Tabel2 ON Tabel1.ColumnName = Table2.ColumnName

Näide

VALI StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo LEFT JOIN subjektid saidil StudentsInfo.SubjectID = Subjects.SubjectID TELLIMUS StudentsInfo.StudentName

PAREMALT LIITU

Süntaks

VALI veeru nimi (d) Tabelist1 Parempoolne liitumine Tabel 2 on tabel 1. Kolonni nimi = Tabel 2. Veeru nimi

Näide

VALI StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo RIGHT JOIN subjektid saidil StudentsInfo.SubjectID = Subjects.SubjectID TELLIMUS StudentsInfo.StudentName

TÄIELIK LIITUMINE

Süntaks

VALI veeru nimi (d) Tabelist1 FULL OUTER JOIN Tabel 2 on tabel 1. ColumnName = Table2.ColumnName

Näide

VALI StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo FULL OUTER JOIN-i subjektid saidil StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName

Järgmisena andke meile selles SQL Serveri õpetuse artiklis ülevaade erinevat tüüpi silmustest, mida SQL Server toetab.

Silmused

Voolu juhtimise erinevad käsud on järgmised:

Arutagem neist igaüks ükshaaval.

ALUSTA .. LÕPP

Neid märksõnu kasutatakse rea SQL-lausete lisamiseks. Seejärel saab selle SQL-i lausete rühma käivitada.

Süntaks

BEGIN StatementBlock END

Paus

Seda lauset kasutatakse praegusest WHILE-tsüklist väljumiseks. Juhul, kui praegune WHILE tsükkel on sisestatud teise tsükli sisse, väljub BREAK käsk ainult praegusest silmusest ja kontroll edastatakse praeguse tsükli järgmisele lausele. BREAK-lauset kasutatakse tavaliselt IF-lause sees.

Süntaks

Paus

JÄTKAKE

Lauset CONTINUE kasutatakse tsükli WHILE taaskäivitamiseks. Niisiis eiratakse kõiki väiteid CONTINUE järgseid väiteid.

Süntaks

JÄTKAKE

Siin on silt silt, mille järel töötlemine algab, kui GOTO on suunatud sellele konkreetsele sildile.

MINEMA

Kasutatakse siltide täitmise voo muutmiseks. GOTO märksõna järel kirjutatud avaldused jäetakse vahele ja töötlemine jätkub sildi juures.

Süntaks

Defineeri silt: silt: muutmise teostamine: silt GOTO

Siin on silt silt, mille järel töötlemine algab, kui GOTO on suunatud sellele konkreetsele sildile.

KUI VEEL

Nagu iga teine ​​programmeerimiskeel, testib SQL-serveri lause If-else tingimust ja kui tingimus on vale, käivitatakse lause „muu”.

Süntaks

IF BooleanExpression StatementBlock [ELSE StatementBlock]

TAGASI

Kasutatakse päringust või protseduurist tingimusteta väljumiseks. Niisiis, lause, mis on kirjutatud pärast RETURN-klauslit, ei täideta.

Süntaks

TAGASI [täisarvuline väljend]

Siin tagastatakse täisarv.

OOTAMA

WAITFOR-i juhtimisvoogu kasutatakse salvestatud protseduuri, tehingu või partii täitmise blokeerimiseks seni, kuni konkreetne lause muudab, tagastab vähemalt ühe rea või möödub määratud aeg või ajaintervall.

Süntaks

WAITFOR (GetConversionGroupStatement)] [, TIMEOUT timeout]

kus

  • VIIVITUS - Ajavahemik, mis peab mööduma
  • TimeToPass - Paeg oodata
  • AEG -aeg, millal salvestatud protseduur, tehing või pakett töötab.
  • TimeToExecute -WAITFOR-i avalduse lõppemise aeg.
  • RecieveStatement - TOkehtiv RECEIVE avaldus.
  • GetConversionGroupStatement - TOkehtiv GET CONVERSATION GROUP avaldus.
  • TIMEOUT aegumine - Määrab aja millisekundites, millal oodatakse sõnumi saabumist järjekorda.

KUIDAS

Seda tsüklit kasutatakse konkreetse SQL-lause või SQL-i lauseploki korduva täitmise tingimuse seadmiseks. Avaldused täidetakse seni, kuni kasutaja mainitud tingimus on TÕENE. Niipea, kui tingimus ebaõnnestub, lõpetab silmus täitmise.

Süntaks

WHOLE BooleanExpression StatementBlock

Nüüd, kui te teate DML-i käske, liigume oma järgmise jaotise juurdeselles artiklis SQL-õpetuse kohta, st DCL-i käsud.

Andmete juhtimise keele käsud (DCL)

See SQL Serveri õpetuse jaotis annab teile ülevaate käsklusest, mille kaudu kasutatakse andmebaasi turvalisuse tagamiseks mitmes kasutaja andmebaasi keskkonnas. Käsud on järgmised:

GRANT

GRANT-käsku kasutatakse andmebaasile ja selle objektidele kasutajale juurdepääsu või privileegide pakkumiseks.

Süntaks

GRANT PrivilegeName saidil ObjectName kuni RoleName [GRANT VALIKUGA]

kus

  • PrivilegeName - Kas kasutajale on antud privileeg / õigus / juurdepääs.
  • ObjectName - andmebaasiobjekti nagu TABEL / VIEW / STORED PROC nimi.
  • Kasutajanimi - selle kasutaja nimi, kellele on antud juurdepääs / õigused / privileegid.
  • AVALIK - anda kõigile kasutajatele juurdepääsuõigused.
  • RoleName - kokku rühmitatud privileegide kogumi nimi.
  • TOETUSVÕIMALUSEGA - anda kasutajale juurdepääs teistele õigustega kasutajatele.

Näide

- anda kasutajale1 tabelile StudentInfo SELECT luba. GRANT VALI ÕPILASELE StudentInfo kasutajale1

TÜHISTA

Käsku REVOKE kasutatakse käsu GRANT abil antud kasutaja juurdepääsuõiguste tühistamiseks.

Süntaks

Tühista PrivilegeName saidil ObjectName PUBLIC

Näide

- Kasutaja1 antud loa tühistamiseks TÕSTA VALI VALIMINE üliõpilasinfo kasutajale1

Selles SQL Serveri õpetuses edasi liikudes andke meile teada, kuidas salvestatud protseduure luua ja kasutada.

Salvestatud protseduurid

Salvestatud protseduurid on korduvkasutatavad üksused, mis hõlmavad rakenduse konkreetset äriloogikat. Nii et see on SQL-i lausete ja loogika rühm, mis on konkreetse ülesande täitmiseks kokku pandud ja salvestatud.

Süntaks

LOE [VÕI ASENDA] MENETLUS protseduuri_nimi [(parameetri_nimi [IN | OUT | IN OUT] tüüp [])] ON BEGIN [deklaratsiooni_jagu] käivitatava_jagu // salvestatud protseduuris kasutatav SQL-lause END GO

Näide

--Looge protseduur, mis tagastab õpilase nime, kui StudentId on sisestatud parameetrina salvestatud protseduurile. Protseduuri loomine GetStudentName (@StudentId INT, --Input parameeter, @StudName VARCHAR (50) OUT --Output parameeter, AS BEGIN SELECT @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END

Toimingud:

      • Kuuluta @StudName nvarchariks (50)
      • EXEC GetStudentName 01, @StudName väljund
      • Valige @StudName

Ülaltoodud protseduur tagastab konkreetse õpilase nime,selle kohta, et anda õpilastele ID sisendiks. Järgmisena saate selles SQL Serveri õpetuses mõista tehingute juhtimise keele käske.

Tehingu juhtimise keele käsud (TCL)

See SQL Serveri õpetuse jaotis annab teile ülevaate käskudest, mida kasutatakse andmebaasis tehingute haldamiseks.Käsud on järgmised:

KOHUSTUS

Käsku COMMIT kasutatakse tehingu salvestamiseks andmebaasi.

Süntaks

KOHUSTUS

ROLLBACK

Käsku ROLLBACK kasutatakse andmebaasi taastamiseks viimati määratud olekusse.

Süntaks

ROLLBACK

MÄRGE: Kui kasutate funktsiooni ROLLBACK koos SAVEPOINT-iga, saate käimasoleva tehingu ajal otse hüpata säästupunkti. Süntaks: ROLLBACK TO SavepointName

SAVEPOINT

Käsku SAVEPOINT kasutatakse tehingu ajutiseks salvestamiseks. Nii et kui soovite mõnda punkti tagasi liikuda, saate selle punkti salvestada kui 'SAVEPOINT'.

Süntaks

SAVEPOINT SAVEPOINTNAME

Mõelge allpool olevast tabelist, et mõista andmebaasis tehingute toimimist.

Õpilase ID Õpilase nimi
üksRohit
2Suhana
3Ashish
4Prerna

Nüüd kasutage järgmist andmebaasis olevate tehingute mõistmiseks.

INSERT INTO StudentTable VALUES (5, 'Avinash') KOHUSTAGE UUENDAMINE StudentTable SET-i nimi = 'Akash' WHERE id = '5' SAVEPOINT S1 INSERT INTO StudentTable VALUES (6, 'Sanjana') SAVEPOINT S2 INSERT IN StudentTable VALUES (7, 'Sanjay ') SAVEPOINT S3 INSERT IN StudentTable VALUES (8,' Veena ') SAVEPOINT S4 SELECT * FROM StudentTable

Järgmisena selles artiklis, mis käsitleb SQL Serveri õpetust, andke meile mõista, kuidas Transact-SQLis erandeid käsitleda.

Erandite käsitlemine

On kahte tüüpi erandeid, st süsteemi määratletud erandid ja kasutaja määratletud erandid. Nagu nimigi ütleb, on erandite käsitlemine protsess, mille kaudu saab kasutaja loodud eranditega hakkama. Erandite käsitlemiseks peate mõistma järgmisi juhtimisvoogude avaldusi:

VISTA

Seda klauslit kasutatakse erandi tegemiseks ja see teisaldatakse konstruktsiooni TRY… CATCH CATCH-plokki.

Süntaks

THROW [ErrorNumber, @ localvariable, State] []

kus

  • ErrorNumber - TOkonstant või muutuja, mis tähistab erandit.
  • Sõnum - TOmuutuja või string, mis kirjeldab erandit.
  • Osariik -Konstant või muutuja vahemikus 0 kuni 255, mis näitab olekut, mida sõnumiga seostada.
VISKA 51000, 'Kirjet pole olemas.', 1

Proovige..CATCH

Kasutatakse Transact-SQL-is erandite käitlemise rakendamiseks. TRY-plokki saab lisada rühma avaldusi. Juhul, kui TRY-plokis ilmneb tõrge, edastatakse kontroll teisele avalduste rühmale, mis on ühendatud CATCH-plokiga.

Süntaks

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

IN Seetõttu jõuame selle SQL Serveri õpetuse artikli lõppu. Loodan, et teile meeldis seda artiklit lugeda SQL Serveri õpetuses algajatele.Mina Kui soovite saada struktureeritud koolitust MySQL-i kohta, siis vaadake meie mis on varustatud juhendajate juhitud elava koolituse ja reaalse elu projektikogemusega. See koolitus aitab teil MySQL-i põhjalikult mõista ja aitab teil selle teema üle meisterlikkust saavutada. Kas teil on meile küsimus? Palun mainige seda kommentaaride jaotises ” SQL Serveri õpetus ”Ja pöördun teie poole tagasi.