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 |
Seda käskude komplekti kasutatakse andmebaasi määratlemiseks. | |
Andmetega manipuleerimise keele käsud (DML) | Manipulatsioonikäske kasutatakse andmebaasis olevate andmetega manipuleerimiseks. |
See käskude komplekt käsitleb andmebaasisüsteemide õigusi, õigusi ja muid juhtelemente. | |
Need käsud on harjunud tegeleda andmebaasi tehinguga. |
Lisaks käskudele käsitletakse selles artiklis järgmisi teemasid:
- Mis on SQL Server?
- Installige SQL Server
- SSMS-i kaudu ühenduse loomine SQL Serveriga
- Juurdepääs andmebaasimootorile
- SQL Serveri arhitektuur
- Kommentaarid SQL-is
- SQL Serveri andmetüübid
- Võtmed andmebaasis
- Piirangud andmebaasis
- Operaatorid
- Koondfunktsioonid
- Kasutaja määratud funktsioonid
- Pesastatud päringud
- Liitub
- Silmused
- Salvestatud protseduurid
- 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 |
üks | ma vihkan | Akriti mehra | 9955339966 | Brigaadi teetõke 9 | Hyderabad | India |
2 | Manasa | Shourya Sharma | 9234568762 | Mayo tee 15 | Kolkata | India |
3 | Anay | Soumya Mishra | 9876914261 | Marathalli maja nr 101 | Bengaluru | India |
4 | Preeti | Rohan Sinha | 9765432234 | Queens Road 40 | Delhi | India |
5 | Shanaya | Abhinay agarwal | 9878969068 | Oberoi tänav 21 | Mumbai | India |
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 | numbriline | Kasutatakse arvväärtuste salvestamiseks ning fikseeritud täpsuse ja skaala numbritega | - 10 ^ 38 +1 kuni 10 ^ 38 - 1. |
tinyint | Kasutatakse täisarvu väärtuste salvestamiseks | 0 kuni 255 | |
väike | Kasutatakse täisarvu väärtuste salvestamiseks | -2 ^ 15 (-32 768) kuni 2 ^ 15-1 (32 767) | |
bigint | Kasutatakse 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) | |
int | Kasutatakse täisarvu väärtuste salvestamiseks | -2 ^ 31 (-2 147 483 648) kuni 2 ^ 31-1 (2 147 483 647) | |
natuke | Salvestab täisarvu andmetüübi, mille väärtus on 0, 1 või NULL | 0, 1 või NULL | |
kümnendkoht | Kasutatakse arvväärtuste salvestamiseks ning fikseeritud täpsus- ja skaalanumbrite jaoks | - 10 ^ 38 +1 kuni 10 ^ 38 - 1. | |
väikeraha | Kasutatakse raha hoidmiseksvõi valuuta väärtused. | - 214 748,3648 kuni 214 748 3664 | |
raha | Kasutatakse 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 | ujuk | Kasutatakse ujukoma arvandmete salvestamiseks | - 1,79E + 308 kuni -2,23E-308, 0 ja 2,23E-308 kuni 1,79E + 308 |
päris | Kasutatakse ujukoma arvandmete salvestamiseks | - 3,40E + 38 kuni -1,18E - 38, 0 ja 1,18E - 38 kuni 3,40E + 38 | |
Päev ja aeg | kuupäev | Kasutatakse kuupäeva määratlemiseks SQL Serveris. | Süntaks: kuupäev |
smalldatetime | Kasutatakse 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 Kellaaeg | Kasutatakse 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 nihe | Kasutatakse kuupäeva määratlemiseks, mis on ühendatud ajavöönditeadvusega kellaajaga. See põhineb 24-tunnisel kellaajal. | Süntaks: datetimeoffset | |
aeg | Kasutatakse päeva kellaaja määramiseks. | Süntaks: aeg | |
Märgistringid | char | Kasutatakse fikseeritud suurusega märkide salvestamiseks. | char[( n )] kus n väärtus varieerub vahemikus 1 - 8000 |
varchar | Kasutatakse muutuva pikkusega märkide salvestamiseks. | varchar [( n | max)] kus n väärtus varieerub vahemikus 1–8000 ja maksimaalne lubatud salvestusruum on 2 GB. | |
teksti | Kasutatakse varive pikkusega mitte-Unicode'i andmed | Maksimaalne lubatud stringipikkus - 2 ^ 31-1 (2 147 483 647) | |
Unicode'i märgistringid | nchar | Kasutatakse fikseeritud suurusega märkide salvestamiseks. | nchar[(n)], kus n väärtus varieerub vahemikus 1-4000 |
nvarchar | Kasutatakse muutuva pikkusega märkide salvestamiseks. | varchar [( n | max)] kus n väärtus varieerub vahemikus 1–4000 ja maksimaalne lubatud salvestusruum on 2 GB. | |
ntext | Kasutatakse muutuva pikkusega Unicode'i andmete salvestamiseks | Maksimaalne lubatud stringipikkus - 2 ^ 30-1 (2 147 483 647) | |
Binaarsed stringid | binaarne | Kasutatakse kummagi fikseeritud pikkusega binaarsete andmetüüpide salvestamiseks | binaarne[( n )] kus n väärtus varieerub vahemikus 1 - 8000 |
varbinaarne | Kasutatakse kummagi fikseeritud pikkusega binaarsete andmetüüpide salvestamiseks | varbinaarne[( n )] kus n väärtus varieerub vahemikus 1-8000 ja maksimaalne lubatud salvestusruum on 2 ^ 31-1 baiti. | |
pilt | Kasutatakse muutuva pikkusega binaarandmete salvestamiseks | 0 - 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. | - | |
reaversioon | Kasutatakse andmebaasis automaatselt genereeritud unikaalsete kahendarvude eksponeerimiseks. | - | |
hierarhia | Kasutatakse hierarhias positsiooni esindamiseks. | - | |
kordumatu identifikaator | On 16-baidine GUID. | Süntaks:kordumatu identifikaator | |
sql_variant | Kasutatakse erinevate SQL Serveri toetatud andmetüüpide väärtuste salvestamiseks | Süntaks: sql_variant | |
xml | Kasutatakse XML-i andmetüübi salvestamiseks. | xml ([CONTENT | DOCUMENT] xml_schemacollection) | |
Ruumigeomeetria tüübid | Kasutatakse andmete esitamiseks Eukleidese (lamedas) koordinaatsüsteemis. | - | |
Ruumigeograafia tüübid | Kasutatakse ellipsoidse (ümmarguse maa) andmete, näiteks GPS-laius- ja pikkuskraadide koordinaatide, salvestamiseks. | - | |
tabel | Kasutatakse 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 |
üks | ma vihkan | 87 |
2 | Manasa | 92 |
4 | Anay | 74. |
Sihttabel:
Õpilase ID | Õpilase nimi | Märgid |
üks | ma vihkan | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
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 |
üks | ma vihkan | 87 |
2 | Manasa | 92 |
4 | Anay | 74. |
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:
- Aritmeetikaoperaatorid
- Ülesandeoperaatorid
- Bitipõhised operaatorid
- Võrdlusoperaatorid
- Liitoperaatorid
- Loogilised operaatorid
- Reguleerimisala eraldamise operaatorid
- Määra operaatorid
- Stringliitmisoperaatorid
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]) |
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 |
10 | 10 | Matemaatika |
2 | üksteist | Füüsika |
3 | 12 | Keemia |
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 |
üks | Rohit |
2 | Suhana |
3 | Ashish |
4 | Prerna |
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.