Vodič za SQL Server - sve što trebate za svladavanje Transact-SQL-a



Ovaj članak o vodiču za SQL Server sveobuhvatan je vodič o različitim konceptima, sintaksi i naredbama koji se koriste u MS SQL Serveru.

Na današnjem tržištu, gdje se svakodnevno generira ogromna količina podataka, vrlo je važno razumjeti kako postupati s podacima. SQL Server je integrirano okruženje koje je razvio Microsoft za obradu podataka.U ovom ćete članku o vodiču za SQL Server naučiti sve radnje i naredbe koje su vam potrebne za istraživanje vaših baza podataka.

Radi vašeg boljeg razumijevanja, blog sam podijelio u sljedeće kategorije:





Naredbe Opis

Naredbe jezika definicije podataka (DDL)

Ovaj skup naredbi koristi se za definiranje baze podataka.

Naredbe jezika za upravljanje podacima (DML)



Naredbe za manipulaciju koriste se za manipulaciju podacima prisutnim u bazi podataka.

Naredbe jezika za kontrolu podataka (DCL)

Ovaj skup naredbi bavi se dozvolama, pravima i ostalim kontrolama sustava baza podataka.

Naredbe jezika za kontrolu transakcija (TCL)

Te se naredbe koriste za baviti se transakcijom baze podataka.

Osim naredbi, u ovom su članku obrađene sljedeće teme:



MS SQL Server - Vodič za SQL Server - Edureka

  1. Što je SQL Server?
  2. Instalirajte SQL Server
  3. Povežite se na SQL Server pomoću SSMS-a
  4. Pristupite motoru baze podataka
  5. Arhitektura SQL poslužitelja
  6. Komentari u SQL-u
  7. Tipovi podataka SQL poslužitelja
  8. Ključevi u bazi podataka
  9. Ograničenja u bazi podataka
  10. Operateri
  11. Zbirne funkcije
  12. Korisnički definirane funkcije
  13. Ugniježđeni upiti
  14. Pridružuje se
  15. Petlje
  16. Pohranjeni postupci
  17. Rukovanje iznimkama

***BILJEŠKA*** U ovom uputstvu za SQL Server, donju bazu podataka smatrat ćuprimjer da vam pokažem kako učiti i pisatinaredbe.

Studentska iskaznica Ime studenta Ime roditelja Broj telefona Adresa Grad Zemlja
jedanmrzimAkriti mehra9955339966Blok ceste brigade 9HyderabadIndija
2ManasaShourya Sharma9234568762Mayo cesta 15KolkataIndija
3AnaySoumya Mishra9876914261Kuća Marathalli br. 101BengaluruIndija
4PreetiRohan Sinha9765432234Queens Road 40DelhiIndija
5ShanayaAbhinay agarwal9878969068Ulica Oberoi 21MumbaijuIndija

Prije nego što započnemo razumijevanje različitih naredbi koje se koriste u SQL Serveru, shvatimo što je SQL Server, njegova arhitektura i kako ga instalirati.

Što je SQL Server?

Microsoft SQL Server je relacijski sustav upravljanja bazama podataka . Podržava Strukturirani jezik upita i dolazi s vlastitom implementacijom SQL jezika koji je Transact-SQL (T-SQL) . Ima integrirano okruženje za upravljanje SQL bazama podataka, što je .

Ključne su komponente SQL Servera sljedeće:

  • Mehanizam baze podataka: Ova komponenta obrađuje pohranu, brzu obradu transakcija i osiguravanje podataka.
  • SQL Server - Ova se usluga koristi za pokretanje, zaustavljanje, pauziranje i nastavak instance MS SQL Server.
  • Agent SQL poslužitelja - Usluga Agent poslužitelja igra ulogu planera zadataka i pokreće ga bilo koji događaj ili prema zahtjevu.
  • Preglednik SQL Server - Ova se usluga koristi za povezivanje dolaznog zahtjeva sa željenom instancom SQL Servera.
  • Pretraživanje cijelog teksta SQL Servera - Koristi se za dopuštanje korisniku da izvodi cjelovite upite protiv podataka o znakovima u SQL tablicama.
  • SQL Server VSS Writer - Omogućuje sigurnosne kopije i obnavljanje podatkovnih datoteka kada se SQL Server ne izvodi.
  • Usluge analize SQL poslužitelja (SSAS) - Ova se usluga koristi za analizu podataka, rudarenje podataka i mogućnosti. SQL Server je također integriran s i R za naprednu analitiku podataka.
  • Usluge izvještavanja SQL poslužitelja (SSRS) - Kao što i samo ime govori, ova se usluga koristi za pružanje značajki i mogućnosti donošenja odluka, uključujući integraciju s .
  • Usluge integracije SQL poslužitelja (SSIS) - Ova se usluga koristi za izvođenje ETL operacija za različite vrste podataka iz više izvora podataka.

Sada, kad znate što je MS SQL Server, idemo naprijed u ovom članku o vodiču za SQL Server i razumjeti kako instalirati i postaviti SQL Server.

Instalirajte SQL Server

Slijedite korake u nastavku da biste instalirali SQL Server:

Korak 1: Idite na službenu stranicu Preuzimanje Microsoft SQL Servera , gdje ćete pronaći opciju za instaliranje SQL servera bilo lokalno ili u oblaku.

Korak 2: Sada se pomaknite prema dolje i vidjet ćete dvije mogućnosti: Izdanje za programere i poduzeća . Evo, preuzet ću Izdanje za programere . Da biste preuzeli, jednostavno kliknite na Preuzeti sada opcija. Pogledajte dolje.

Korak 3: Nakon što se aplikacija preuzme, dvaput kliknite datoteku i vidjet ćete sljedeći prozor.

Korak 4: Sada možete odabrati bilo koju od 3 mogućnosti za postavljanje SQL servera. Ovdje ću samo odabrati Osnovna opcija . Pri odabiru opcije vrste instalacije, sljedeći zaslon bit će prihvaćanje ugovora o licenci. Da biste to učinili, kliknite na Prihvatiti u sljedećem prozoru.

Korak 5: Dalje, morate odrediti mjesto instalacije SQL Servera. Zatim morate kliknuti na Instaliraj.

Jednom kad kliknete na Instalirati , vidjet ćete da se potrebni paketi preuzimaju. Nakon završetka instalacije vidjet ćete sljedeći zaslon:

Ovdje možete ići naprijed i kliknuti na Connect Now ili možete prilagoditi instalaciju. Za vaše bolje razumijevanje, ići ću naprijed i odabrati Prilagodi.

Korak 6: Jednom kad kliknete na Prilagodi u gornjem prozoru vidjet ćete kako se otvara sljedeći čarobnjak. u sljedećem prozoru kliknite na Sljedeći.

Korak 7: Nakon što se pravila instaliraju automatski, kliknite na Sljedeći . Pogledajte dolje.

Korak 8: Dalje, morate odabrati vrstu instalacije. Dakle, odaberite Izvršite a nova instalacija SQL Servera 2017 i zatim kliknite na Sljedeći.

9. korak: U čarobnjaku koji se otvori odaberite izdanje: Programer. Zatim kliknite na Sljedeći . Pogledajte dolje.

10. korak: Sada pročitajte i prihvatite licencne ugovore prijavom na radio gumb, a zatim kliknite na Sljedeći . Pogledajte dolje.

11. korak: U čarobnjaku u nastavku možete odabrati značajke koje želite instalirati. Također, možete odabrati korijenski direktorij instance, a zatim kliknuti na Sljedeći . Ovdje ću odabrati Usluge motora baze podataka .

Korak 12: Dalje morate imenovati instancu i automatski će se stvoriti ID instance. Ovdje ću instancu nazvati „edureka“. Zatim kliknite na Sljedeći.

Korak 13: U čarobnjaku za konfiguraciju poslužitelja kliknite na Sljedeći .

14. korak: Sada morate omogućiti načine provjere autentičnosti. Ovdje ćete vidjeti Način provjere autentičnosti sustava Windows i Mješoviti način . Odabrat ću mješoviti način. Zatim, spomenite lozinku i tada ću dodati trenutnog korisnika kao Admin odabirom Dodaj trenutnog korisnika opcija.

Korak 15: Zatim odaberite put do konfiguracijske datoteke i kliknite na Instalirati .

Nakon završetka instalacije vidjet ćete sljedeći zaslon:

Povežite se na SQL Server pomoću SSMS-a

Nakon što je instaliran SQL Server, vaš je sljedeći korak povezivanje SQL servera sa SQL Server Management Studioom. Da biste to učinili, slijedite korake u nastavku:

Korak 1: Vratite se na sljedeći prozor i kliknite na instalirajte SSMS opcija.

Korak 2: Jednom kada kliknete na tu opciju, bit ćete preusmjereni na sljedeću stranicu , gdje morate odabrati Preuzmite SSMS.

Korak 3: Nakon preuzimanja postavki, dvokliknite aplikaciju i vidjet ćete kako se otvara sljedeći čarobnjak.

Korak 4: Kliknite na Opcija instalacije , u gornjem prozoru i vidjet ćete da će ta instalacija započeti.

Korak 5: Nakon završetka instalacije dobit ćete dijaloški okvir kao što je prikazano dolje.

Nakon što instalirate SSMS, sljedeći je korak pristup Mehanizam baze podataka .

Pristup mehanizmu baze podataka

Kada otvorite Studio za upravljanje SQL poslužiteljem od izbornik Start , otvorit će se prozor sličan prozoru prikazanom na donjoj slici.

Ovdje spomenite Ime poslužitelja, Način provjere autentičnosti i kliknite na Spojiti.

Nakon što kliknete na Spojiti , vidjet ćete sljedeći zaslon.

Pa ljudi, tako instalirate i postavite SQL Server. Sada, krećući se naprijed u ovom vodiču za SQL Server, shvatimo različite komponente arhitekture SQL Servera.

Arhitektura SQL poslužitelja

Arhitektura SQL Servera je sljedeća:

  • Poslužitelj & minus Ovdje su instalirane SQL usluge i baza podataka
  • Relacijski motor & minus Sadrži parser upita, optimizator i izvršitelj i izvršenje se događa u relacijskom stroju.
  • Zapovjednik Parser & minus Provjerava sintaksu upita i pretvara upit u strojni jezik.
  • Optimizator & minus Priprema plan izvršenja kao izlaz uzimajući za ulaz statistiku, upit i stablo Algebrator.
  • Izvršitelj upita & minus Ovo je mjesto na kojem se upiti izvršavaju korak po korak
  • Storage Engine & minus Ovo je odgovorno za pohranu i preuzimanje podataka na sustavu za pohranu, manipulaciju podacima, upravljanje i zaključavanje transakcija.

Sada, kad znate kako postaviti i instalirati SQL Server i njegove razne komponente, započnimo s pisanjem Poslužitelj. Prije toga, dopustite mi da opišem kako pisati komentare u SQL Server.

Komentari u SQL poslužitelju

Postoje dva načina na koja možete komentirati u SQL-u, tj. Ili upotrijebite s komentari u liniji ili m ulti-line komentari .

Jednoredni komentari

Jednoredni komentari započinju sa dvije crtice (-). Stoga će tekst koji se spominje iza (-), do kraja pojedinog retka, ignorirati sastavljač.

Primjer:

--Primjer jednorednih komentara

Višeredni komentari

Višeredni komentari započinju s / * i završavaju s * / . Dakle, tekst spomenut između / * i * / sastavljač će zanemariti.

Primjer:

/ * Primjer za višeredne komentare * /

Sada u ovom članku o vodiču za SQL Server započnimo s prvim skupom naredbi, tj. Naredbama jezika za definiciju podataka.

Naredbe jezika jezika definicije podataka

Ovaj odjeljak članka pružit će vam ideju o naredbama uz pomoć kojih možete definirati svoju bazu podataka. Naredbe su sljedeće:

je niz objekt u javi

STVORITI

Ova se izjava koristi za stvaranje tablice, baze podataka ili pogleda.

Izjava 'IZRADI BAZU PODATAKA'

Ova se izjava koristi za stvaranje baze podataka.

Sintaksa

IZRADI BAZU BAZA PODATAKANaziv baze podataka

Primjer

IZRADI BAZU BAZA Studenti

' IZRADI TABELU ’Izjava

Kao što i samo ime govori, ova se izjava koristi za stvaranje tablice.

Sintaksa

STVORI TABELU Ime tablice (tip podataka stupca 1, tip podataka stupca 2, tip podataka stupca 3, .... tip podataka stupca N)

Primjer

STVORI TABELU StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))

PAD

Ova se izjava koristi za ispuštanje postojeće tablice, baze podataka ili pogleda.

Izjava 'DROP DATABASE'

Ova se izjava koristi za ispuštanje postojeće baze podataka. Cjelovite informacije prisutne u bazi podataka izgubit će se čim izvršite donju naredbu.

Sintaksa

PUSTI BAZU BAZE PODATAKANaziv baze podataka

Primjer

DAP DATA BAZA Studenti

Izjava ‘TAPELA KAPANJA’

Ova se izjava koristi za ispuštanje postojeće tablice. Cjelovite informacije prisutne u tablici izgubit će se čim izvršite donju naredbu.

Sintaksa

TABELA ZA DROP Ime tablice

Primjer

KAPLJENA TABLA StudentInfo

DOB

Naredba ALTER koristi se za dodavanje, brisanje ili izmjenu stupaca ili ograničenja u postojećoj tablici.

' ALTER TABELA ’Izjava

Ova se izjava koristi za dodavanje, brisanje, izmjenu stupaca u već postojećoj tablici.

Izjava 'ALTER TABLE' s DODAJ / PUSTI STOLPCEM

Izraz ALTER TABLE koristi se s naredbom ADD / DROP Column za dodavanje i brisanje stupca.

Sintaksa

ALTER TABLE TableName ADD ColumnName Tip podataka ALTER TABLE TableName DROP COLUMN Ime stupca

Primjer

--DODATI Grupu Krvne Grupe: ALTER TABLE StudentInfo DODATI Krvnu Grupu varchar (8000) --DROP Stupac Krvnu Grupu: ALTER TABLE StudentInfo DROP KOLONU Krvnu Grupu

Izjava ‘ALTER TABLE’ s ALTER STOLPCOM

Izraz ALTER TABLE može se koristiti sa stupcem ALTER za promjenu tipa podataka postojećeg stupca u tablici.

Sintaksa

ALTER TABLE Naziv tablice ALTER COLUMN Naziv stupca Naziv podataka

Primjer

- Dodajte stupac DOB i promijenite vrstu podataka s datuma na datum i vrijeme. ALTER TABLE StudentInfo DODATI datum rođenja ALTER TABLE StudentInfo ALTER COLUMN DOB datum i vrijeme

SKRATITI

Ova SQL naredba koristi se za brisanje podataka prisutnih u tablici, ali ne briše samu tablicu. Dakle, ako želite izbrisati podatke prisutne u tablici, a ne izbrisati samu tablicu, morate upotrijebiti naredbu TRUNCATE. Inače, upotrijebite naredbu DROP.

Sintaksa

STAVKA ODREŽENJA Ime tablice

Primjer

PREKRŠI TABLU StudentInfo

PREIMENOVATI

Ova se izjava koristi za preimenovanje jedne ili više tablica.

Sintaksa

sp_rename 'OldTableName', 'NewTableName'

Primjer

sp_rename 'StudentInfo', 'Infostudents'

Nastavljajući u ovom članku o vodiču za SQL Server, shvatimo različite vrste podataka koje podržava SQL Server.

Tipovi podataka SQL poslužitelja

Kategorija vrste podataka Naziv tipa podataka Opis Raspon / sintaksa
Točne brojke brojčaniKoristi se za pohranu numeričkih vrijednosti i ima fiksne brojeve preciznosti i skale- 10 ^ 38 +1 do 10 ^ 38 - 1.
sićušnaKoristi se za pohranu cjelobrojnih vrijednosti0 do 255
smallintKoristi se za pohranu cjelobrojnih vrijednosti-2 ^ 15 (-32.768) do 2 ^ 15-1 (32.767)
bigintKoristi se za pohranu cjelobrojnih vrijednosti-2 ^ 63 (-9,223,372,036,854,775,808) do 2 ^ 63-1 (9,223,372,036,854,775,807)
intKoristi se za pohranu cjelobrojnih vrijednosti-2 ^ 31 (-2,147,483,648) do 2 ^ 31-1 (2,147,483,647)
maloPohranjuje cjelobrojni tip podataka koji bilježi vrijednost 0, 1 ili NULL0, 1 ili NULL
decimalKoristi se za pohranu numeričkih vrijednosti i ima fiksne brojeve preciznosti i skale- 10 ^ 38 +1 do 10 ^ 38 - 1.
sitni novacKoristi se za pohranu novčanih sredstavaili vrijednosti valuta.- 214.748,3648 do 214.748,3647
novacKoristi se za pohranu novčanih sredstavaili vrijednosti valuta.-922.337.203.685.477,5808 do 922.337.203.685.477.5807 (-922.337.203.685.477,58
na 922.337.203.685.477,58 za Informaticu.
Približne brojke plutatiKoristi se za pohranu numeričkih podataka s pomičnom zarezom- 1,79E + 308 do -2,23E-308, 0 i 2,23E-308 do 1,79E + 308
stvaranKoristi se za pohranu numeričkih podataka s pomičnom zarezom- 3,40E + 38 do -1,18E - 38, 0 i 1,18E - 38 do 3,40E + 38
Datum i vrijeme datumKoristi se za definiranje datuma u SQL poslužitelju.Sintaksa: datum
malo vrijemeKoristi se za definiranje datuma koji se kombinira s doba dana u kojem se vrijeme temelji na 24-satnom danu, sa sekundama uvijek nula (: 00) i bez djelimičnih sekundi.Sintaksa: malo vrijeme
Datum vrijemeKoristi se za definiranje datuma koji se kombinira s doba dana s razlomljenim sekundama na temelju 24-satnog sata.Sintaksa: datum i vrijeme
datum i vrijeme2 datum i vrijeme2 je kao produžetak postojećeg Datum vrijeme tip koji ima veću zadanu frakcijsku preciznost, najveći datumski raspon.Sintaksa: datetime2
datum-pomakKoristi se za definiranje datuma koji se kombinira s vremenom u danu koje ima svijest o vremenskoj zoni. Temelji se na 24-satnom satu.Sintaksa: pomak datuma i vremena
vrijemeKoristi se za definiranje doba dana.Sintaksa: vrijeme
Nizovi znakova ugljenKoristi se za pohranu likova fiksne veličine.ugljen[( n )] gdje vrijednost n varira od 1 - 8 000
varcharKoristi se za pohranu znakova promjenljive duljine.varchar [( n | maks)] gdje vrijednost n varira od 1-8000, a najveća dopuštena pohrana je 2 GB.
tekstKoristi se za pohranu vpodaci ne-Unicode promjenjive duljineMaksimalna dopuštena duljina niza - 2 ^ 31-1 (2,147,483,647)
Nizovi znakova Unicode ncharKoristi se za pohranu likova fiksne veličine.nchar[(n)] gdje vrijednost n varira od 1-4000
nvarcharKoristi se za pohranu znakova promjenljive duljine.varchar [( n | maks)] gdje vrijednost n varira od 1-4000, a najveća dopuštena pohrana je 2 GB.
ntekstKoristi se za pohranu Unicode podataka promjenljive duljineMaksimalna dopuštena duljina niza - 2 ^ 30-1 (2,147,483,647)
Binarni nizovi binarniKoristi se za pohranu binarnih vrsta podataka bilo fiksne duljinebinarni[( n )] gdje vrijednost n varira od 1 - 8 000
varbinarniKoristi se za pohranu binarnih vrsta podataka bilo fiksne duljinevarbinarni[( n )] gdje n vale varira od 1-8000, a najveća dopuštena pohrana je 2 ^ 31-1 bajta.
slikaKoristi se za pohranu binarnih podataka promjenljive duljine0 - 2 ^ 31-1 (2.147.483.647) bajtova
Ostale vrste podataka To je vrsta podataka za pohranjenu proceduru ili varijable IZLAZNI parametri koji sadrže referencu na pokazivač.-
prevrtanjeKoristi se za izlaganje automatski generiranih jedinstvenih binarnih brojeva unutar baze podataka.-
hijerarhijaKoristi se za predstavljanje položaja u hijerarhiji.-
jedinstveni identifikatorJe li 16-bajtni GUID.Sintaksa:jedinstveni identifikator
sql_variantKoristi se za pohranu vrijednosti različitih tipova podataka podržanih za SQL ServerSintaksa: sql_variant
xmlKoristi se za pohranu XML tipa podataka.

xml ([SADRŽAJ | DOKUMENT] xml_schemacollection)

Tipovi prostorne geometrijeKoristi se za predstavljanje podataka u euklidskom (ravnom) koordinatnom sustavu.-
Vrste prostorne geografijeKoristi se za pohranu elipsoidnih podataka (oko Zemlje), kao što su GPS koordinate zemljopisne širine i dužine.-
stolKoristi se za pohranu skupa rezultata za naknadnu obradu-

Dalje, u ovom članku dajte nam razumjeti različite vrste ključeva i ograničenja u bazi podataka.

Različite vrste ključeva u bazi podataka

Slijede različite vrste ključeva koji se koriste u bazi podataka:

  • Ključ kandidata - Ključ kandidata skup je atributa koji mogu jedinstveno identificirati tablicu. Tablica može imati više od jednog ključa kandidata, a od izabranih ključeva kandidata jedan je ključ odabran kao primarni ključ.
  • Super ključ - Skup atributa može jedinstveno identificirati koru. Dakle, ključevi kandidata, jedinstveni ključevi i primarni ključevi su super ključevi, ali obrnuto nije istina.
  • Osnovni ključ - Primarni ključevi koriste se za jedinstvenu identifikaciju svake korice.
  • Alternativni ključ - Alternativni ključevi su oni ključevi kandidati koji nisu izabrani kao primarni ključ.
  • Jedinstveni ključ- Jedinstveni ključevi slični su primarnom ključu, ali u stupcu dopuštaju jednu NULL vrijednost.
  • Strani kljuc - Atribut koji može uzeti samo prisutne vrijednosti kao vrijednosti nekog drugog atributa je strani kljuc atributu na koji se odnosi.
  • Sastavljeni ključ- Sastavljeni ključevi kombinacija su dva ili više stupaca koji jedinstveno identificiraju svaki nabor.

Ograničenja koja se koriste u bazi podataka

Ograničenja se koriste u bazi podataka za određivanje pravila za podatke pohranjene u tablici. Različite vrste ograničenja u SQL-u su kako slijedi:

NIJE NULJA

Ograničenje NOT NULL osigurava da stupac ne može imati NULL vrijednost.

Primjer

STVORI TABELU StudentInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000)) - NOT NULL na ALTER TABLE ALTER TABLE StudentiInfo ALTER COLUMN PhoneNumber int NOT NULL

JEDINSTVENO

Ovo ograničenje osigurava da su sve vrijednosti u stupcu jedinstvene.

Primjer

--UNIQUE na Stvori tablicu STVARI TABELU StudentInfo (StudentID int NOT NULL UNIQUE, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000)) - UNIQUE na više stupaca STVARI TABELU StudentInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) - UNIQUE na ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) --Da ispustite UNIQUE ograničenje ALTER TABLE StudentsInfo DROP CONSTRAINT UC_fotografski

ČEK

Ograničenje CHECK osigurava da sve vrijednosti u stupcu zadovoljavaju određeni uvjet.

Primjer

--PROVJERI Ograničenje na CREATE TABLE CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000) CHECK (Country = 'India')) - CHECK Ograničenje na više stupaca CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) PROVJERA (Country = 'India' AND City = 'Hyderabad')) - PROVJERITE Ograničenje na ALTER TABLE ALTER TABLE StudentInfo DODAJ PROVJERU (Country = 'India') --Dajte ime za CHECK Constraint ALTER TABLE StudentsInfo ADD CONSTRAINT CheckConstraintName CHECK (Country = 'India') --Da ispustite CHECK Constraint ALTER TABLE StudentsInfo DROP CONSTRAINT CheckConstraintName

ZADANO

DEFAULT ograničenje sastoji se od skupa zadanih vrijednosti za stupac kada nije navedena vrijednost.

Primjer

--DEFAULT Ograničenje na CREATE TABLE CREATE TABLE StudentsInfo (StudentID int, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) DEFAULT 'India') --DEFAULT Ograničenje na ALTER TABLE ALTER TABLE StudentsInfo DODAJ OGRANIČENJE defau_Country DEFAULT 'India' FOR Country --Do drop the Default Constraint ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country

INDEKS

The INDEX ograničenje koristi se za izradu indeksa u tablici pomoću kojih možete vrlo brzo stvoriti i dohvatiti podatke iz baze podataka.

Sintaksa

- Stvaranje indeksa u kojem su dopuštene dvostruke vrijednosti CREATE INDEX IndexName ON TableName (Column1, Column2, ... ColumnN) --Create Index gdje duplicirane vrijednosti nisu dopuštene CREATE UNIQUE INDEX IndexName ON TableName (Column1, Column2, ... StupacN)

Primjer

STVORI INDEKS idex_StudentName NA StudentInfo (StudentName) - Da biste izbrisali indeks u tablici DROP INDEX StudentsInfo.idex_StudentName

Krećući se prema naprijed u ovom članku o vodiču za SQL Server, hajde da sada razumijemo različite naredbe jezika za upravljanje podacima korištene u Microsoft SQL Serveru.

Naredbe jezika za upravljanje podacima

Ovaj odjeljak članka pokrivat će sve naredbe putem kojih možete manipulirati bazom podataka. Naredbe su sljedeće:

Osim ovih naredbi, postoje i drugi manipulativni operatori / funkcije kao što su:

KORISTITI

Ova se izjava koristi za odabir baze podataka za započinjanje izvođenja raznih operacija na njoj.

Sintaksa

USE DatabaseName

Primjer

KORISTITE studente

UMETNUTI U

The INSERT INTO izjava koristi se za umetanje novih zapisa u postojeću tablicu.

Sintaksa

INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VRIJEDNOSTI (value1, value2, value3, ...) - Ako ne želite spominjati imena stupaca, upotrijebite donju sintaksu INSERT INTO TableName VALUES (Vrijednost1, Vrijednost2, Vrijednost3, ...)

Primjer

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

AŽURIRAJ

Izraz UPDATE koristi se za izmjenu ili ažuriranje zapisa koji su već prisutni u tablici.

Sintaksa

AŽURIRANJE IMA tablice SET Stupac1 = Vrijednost1, Stupac2 = Vrijednost2, ... WHERE uvjet

Primjer

AŽURIRANJE StudentInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WHERE StudentID = 1

IZBRISATI

Izraz DELETE koristi se za brisanje postojećih zapisa u tablici.

Sintaksa

OBRIŠI SA IMA Table WHERE Stanje

Primjer

OBRIŠI SA StudentsInfo WHERE StudentName = 'Aahana'

IĆI

Izraz MERGE koristi se za izvođenje operacija INSERT, UPDATE i DELETE na određenoj tablici, gdje je navedena izvorna tablica. Pogledajte dolje.

Sintaksa

MERGE TagretTableName KORIŠTENJE SourceTableName NA MergeCondition KAD SE UDOBILO ONDA Update_Statement KADA NIJE POVEZANO ONDA Insert_Statement KADA NIJE DOHVATILO IZVOR TADA OBRIŠI

Primjer

Da biste razumjeli izraz MERGE, uzmite u obzir sljedeće tablice kao izvornu tablicu i tablicu cilja.

Izvorna tablica:

Studentska iskaznica Ime studenta Oznake
jedanmrzim87
2Manasa92
4Anay74

Tablica ciljanja:

Studentska iskaznica Ime studenta Oznake
jedanmrzim87
2Manasa67
3Saurabh55
MERGE SampleTargetTable CILJ UPORABE SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) KAD SE PAROČI I CILJ.StudentName SOURCE.StudentName OR TARGET.Marks SOURCE.Marks THEN UPDATE SET TARGET SOURCE. KADA SE NE POVEZUJE CILJEM, ONDA INSERT (StudentID, StudentName, Marks) VRIJEDNOSTI (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) KAD SE NE IZVORI IZVORI ONDA OBRIŠI

Izlaz

Studentska iskaznica Ime studenta Oznake
jedanmrzim87
2Manasa92
4Anay74

ODABERI

The Izjava SELECT koristi se za odabir podataka iz baze podataka, tablice ili pogleda. Vraćeni podaci pohranjeni su u tablici rezultata koja se naziva skup rezultata .

Sintaksa

ODABERI stupac1, stupac2, ... Stupac OD IMENA tablice - (*) koristi se za odabir svih iz tablice ODABIR * OD imena_tablice - Za odabir broja zapisa koji će se koristiti: ODABERITE TOP 3 * OD IMENA tablice

Primjer

- Za odabir nekoliko stupaca SELECT StudentID, StudentName FROM StudentsInfo - (*) koristi se za odabir svih iz tablice SELECT * FROM StudentsInfo - Za odabir broja zapisa koji će se koristiti: SELECT TOP 3 * FROM StudentsInfo

S naredbom SELECT možemo koristiti i sljedeće ključne riječi:

RAZLIKUJ

Ključna riječ DISTINCT koristi se s naredbom SELECT za vraćanje samo različitih vrijednosti.

Sintaksa

ODABERITE RAZLIKUJUĆI Stupac1, Stupac2, ... StupacN IZ IMA Tablice

Primjer

ODABERITE RAZLIČITI BROJ Telefona od studentskih informacija

NARUČITE PO

Ova se izjava koristi za sortiranje traženih rezultata u rastućem ili silaznom redoslijedu. Prema zadanim postavkama, rezultati se pohranjuju u rastućem redoslijedu. Ipak, ako želite rezultate dobiti u opadajućem redoslijedu, morate koristiti DESC ključna riječ.

Sintaksa

ODABERI stupac1, stupac2, ... stupacN IZName tablice NARUČI PO stupcu1, stupcu2, ... ASC | DESC

Primjer

- Odaberite sve učenike iz tablice 'StudentsInfo' poredane po imenu roditelja: SELECT * FROM StudentsInfo NARUČI PO IMENU roditelja - Odaberite sve studente iz tablice 'StudentsInfo' poredane po imenu roditelja u opadajućem redoslijedu: SELECT * FROM StudentsInfo NARUČI PO IMENU roditelja DESC - Odaberite sve studente iz tablice 'StudentsInfo' poredane po nadimakima i imenima učenika: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Odaberite sve studente iz tablice 'StudentsInfo' sortirane po ParentName u silaznom redoslijedu i StudentName u rastućem redoslijedu: * / SELECT * OD StudentsInfo NARUDŽBA prema nadimaku ASC, StudentName DESC

GRUPIRAJ PO

Ova se izjava koristi s agregatne funkcije za grupiranje skupa rezultata u jedan ili više stupaca.

Sintaksa

ODABERI stupac1, stupac2, ..., stupacN IZNAMENA tablice GDJE Stanje GRUPA PO IMENIMA stupaca REDOSLIJED PO IMENIMA STUPNICA

Primjer

- Navesti broj učenika iz svakog grada. ODABERITE BROJ (StudentID), Grad IZ StudentsInfo GRUPA PO GRADU

SKUPOVI ZA GRUPIRANJE

SKUPOVI GRUPIRANJA uvedeni su u SQL Server 2008, a koriste se za generiranje skupa rezultata koji se mogu generirati pomoću SAVEZ SVE višestrukih jednostavnih klauzula GROUP BY.

Sintaksa

ODABERITE Imena stupaca IZ GRUPE IMENA Table GROUPING SETS (ColumnName (s))

Primjer

ODABERITE StudentID, StudentName, COUNT (City) iz StudentsInfo Group SKUPINOM GRUPIRANJA ((StudentID, StudentName, City), (StudentID), (StudentName), (City))

IMAJUĆI

Ova se klauzula koristi u scenariju u kojem WHERE ključna riječ ne može se koristiti.

Sintaksa

ODABERITE Imena stupaca IZ IMENA tablice GDJE uvjet GRUPA PO IMENIMA stupaca KOJI IMAJU uvjet redoslijeda po imenima stupaca

Primjer

ODABERITE BROJ (StudentID), Grad IZ StudentInfo GRUPA PO GRADU IMAJUĆI COUNT (StudentID)> 2 RED PO BROJU (StudentID) DESC

U

Ključna riječ INTO može se koristiti s Izjava SELECT za kopiranje podataka iz jedne tablice u drugu. Pa, ove tablice možete shvatiti kao privremene. Privremene tablice obično se koriste za izvođenje manipulacija podacima prisutnim u tablici, bez ometanja izvorne tablice.

Sintaksa

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

Primjer

- Da biste stvorili sigurnosnu kopiju tablice 'StudentsInfo' SELECT * INTO StudentsBackup FROM StudentsInfo --Da biste odabrali samo nekoliko stupaca iz StudentsInfo SELECT StudentName, PhoneNumber INTO StudentsDetails From StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'

KOCKA

CUBE je produžetak Klauzula GROUP BY . Omogućuje vam generiranje podzbrojeva za sve kombinacije stupaca za grupiranje navedene u klauzuli GROUP BY.

Sintaksa

ODABERITE IME stupaca IZ GRUPE IMENA STUPA PO KUBU (Ime stupca1, Ime stupca2, ....., Ime stupca)

Primjer

ODABERITE StudentID, COUNT (City) IZ StudentsInfo GROUP BY CUBE (StudentID) NARUČITE PO StudentID

ZBIRANJE

ROLLUP je produžetak klauzule GROUP BY. To vam omogućuje uključivanje dodatnih redaka koji predstavljaju međuzbrojeve. Oni se nazivaju super-agregiranim redovima zajedno s ukupnim redom.

Sintaksa

ODABERI IME stupaca IZ GRUPE TableNAME PO SABORU (Ime stupca1, Ime stupca2, ....., Ime stupca)

Primjer

ODABERITE StudentID, COUNT (City) IZ StudentsInfo GROUP BY ROLLUP (StudentID)

POKRET

Klauzula OFFSET koristi se s SELECT i ORDER BY izjava za preuzimanje niza zapisa. Mora se koristiti s klauzulom ORDER BY jer se ne može koristiti samostalno. Također, raspon koji spominjete mora biti jednak ili veći od 0. Ako spominjete negativnu vrijednost, to pokazuje pogrešku.

Sintaksa

ODABIRI Imena stupaca) IZ IMENA tablice GDJE uvjet NARUČI PO IMENIMA stupaca ISKLJUČI REDOVE ZA SKIJANJE REDOVA

Primjer

Razmislite o novom stupcu Oznake u StudentsInfo stol.

ODABERITE IME UČENIKA, IME roditelja Nadimak IZ StudentsInfo

FETCH

Klauzula FETCH koristi se za vraćanje skupa određenog broja redaka. Mora se koristiti zajedno s klauzulom OFFSET.

Sintaksa

ODABERI Imena stupaca) IZ IMENA tablice GDJE uvjet NARUČI PO IMENIMA stupaca OFFSET RowsToSkip FETCH NEXT NumberOfRows SAMO REDOVI

Primjer

ODABERITE IME UČENIKA, IME RODITELJA IZ StudentInfo.

VRH

Klauzula TOP koristi se s naredbom SELECT za spominjanje broja zapisa koje treba vratiti.

Sintaksa

ODABERI NAJBOLJE IME stupaca IZ IMA tablice WHERE Stanje

Primjer

ODABERITE TOP 3 * IZ StudentInfo

STOŽER

PIVOT se koristi za okretanje redaka prema vrijednostima stupca i pokreće agregiranja kada je potrebno na preostalim vrijednostima stupca.

Sintaksa

SELECT NonPivoted ColumnName, [First Pivoted ColumnName] AS ColumnName, [Second Pivoted ColumnName] AS ColumnName, [Third Pivoted ColumnName] AS ColumnName, ... [Last Pivoted ColumnName] AS ColumnNAME FROM (SELECT upit koji proizvodi podatke) AS [alias za početni upit] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName stupca čije će vrijednosti postati zaglavlja stupaca] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last zaokretni stupac])) KAO [alias za zaokretnu tablicu]

Primjer

Da biste dobili detaljan primjer, možete se pozvati na moj članak o SQL PIVOT-u i UNPIVOT-u . Dalje u ovom vodiču za SQL Server pogledajmo različite operatore koje podržava Microsoft SQL Server.

Operateri

The različite vrste operatora koje SQL Server podržava su sljedeće:

Razgovarajmo o svakom od njih jedan po jedan.

Aritmetički operatori

Operater Značenje Sintaksa

+

Dodatak

izraz + izraz

-

Oduzimanje

izraz - izraz

*

Množenje

izraz * izraz

/

Divizija

izraz / izraz

%

Modulno

izraz% izraz

Operatori dodjele

Operater Značenje Sintaksa

=

Dodijelite vrijednost varijabli

varijabla = 'vrijednost'

Bitovni operateri

Operater Značenje Sintaksa

& (U bitovima I)

Koristi se za izvođenje bitne logičke I operacije između dviju cijelih vrijednosti.

izraz & izraz

& = (Bit-bit i dodjela)

Koristi se za izvođenje bitne logičke I operacije između dviju cijelih vrijednosti. Također postavlja vrijednost na izlaz operacije.

izraz & = izraz

| (Bitno ILI)

Koristi se za izvođenje logičke ili bitne operacije ILI između dvije cjelobrojne vrijednosti prevedene u binarne izraze unutar Transact-SQL izraza.

izraz | izraz

| = (Bitno ILI dodjeljivanje)

Koristi se za izvođenje logičke ili bitne operacije ILI između dvije cjelobrojne vrijednosti prevedene u binarne izraze unutar Transact-SQL izraza. Također postavlja vrijednost na izlaz operacije.

izraz | = izraz

^ (Bitno ekskluzivno ILI)

Koristi se za izvođenje bitne ekskluzivne ILI operacije između dviju cijelih vrijednosti.

izraz ^ izraz

^ = (Bitno ekskluzivno ILI dodjeljivanje)

Koristi se za izvođenje bitne ekskluzivne ILI operacije između dviju cijelih vrijednosti. Također postavlja vrijednost na izlaz operacije.

izraz ^ = izraz

~ (U bitovima NE)

Koristi se za izvođenje bitne logičke operacije NOT na cijeloj vrijednosti.

~ izraz

Operatori usporedbe

Operater Značenje Sintaksa

=

Jednak

izraz = izraz

>

Veći od

izraz> izraz

<

Manje od

izraz

> =

Veći od ili jednak

izraz> = izraz

kako dodati u javi

<=

Manje ili jednako

izraz<= expression

Nije jednako

izraz izraz

! =

Nije jednako

izraz! = izraz

!<

Ne manje od

izraz!

!>

Ne veće od

izraz!> izraz

Složeni operateri

Operater Značenje Sintaksa

+ =

Koristi se za dodavanje vrijednosti izvornoj vrijednosti i postavljanje izvorne vrijednosti na rezultat.

izraz + = izraz

- =

Koristi se za oduzimanje vrijednosti od izvorne vrijednosti i postavljanje izvorne vrijednosti na rezultat.

izraz - = izraz

* =

Koristi se za množenje vrijednosti na izvornu vrijednost i postavljanje izvorne vrijednosti na rezultat.

izraz * = izraz

/ =

Koristi se za dijeljenje vrijednosti od izvorne vrijednosti i postavljanje izvorne vrijednosti na rezultat.

izraz / = izraz

% =

Koristi se za dijeljenje vrijednosti od izvorne vrijednosti i postavljanje izvorne vrijednosti na rezultat.

izraz% = izraz

& =

Koristi se za izvedbu bitnih operacija I i postavljanje izvorne vrijednosti na rezultat.

izraz & = izraz

^ =

Koristi se za izvođenje bitne ekskluzivne ILI operacije i postavljanje izvorne vrijednosti na rezultat.

izraz ^ = izraz

| =

Koristi se za izvođenje bitne ILI operacije i postavljanje izvorne vrijednosti na rezultat.

izraz | = izraz

Logički operatori

Operater Značenje Sintaksa

SVI

Vraća TRUE ako su svi skupovi usporedbi TRUE.

scalar_expression! = SVE (podupit)

I

Vraća TRUE ako su oba izraza TRUE.

boolean_expression i boolean_expression

BILO KOJE

Vraća TRUE ako je bilo koja od niza usporedbi TRUE.

skalarni_izraz! = {BILO KOJI} (podupit)

IZMEĐU

Vraća TRUE ako je operand unutar raspona.

sampleexpression [NIJE] IZMEĐU beginexpression i endexpression

POSTOJI

Vraća TRUE ako podupit sadrži bilo koji redak.

POSTOJI (podupit)

U

Vraća TRUE ako je operand jednak jednom s popisa izraza.

test_expression [NOT] IN (potupit | izraz [, ... n])

KAO

Vraća TRUE ako se operand podudara s uzorkom.

match_expression [NOT] LIKE pattern (ESCAPE escape_character)

NE

Obrne vrijednost bilo kojeg logičkog operatora.

[NIJE] boolean_expression

ILI

Vraća TRUE ako je bilo koji od logičkih izraza TRUE.

boolean_expression ILI boolean_expression

NEKI

Vraća TRUE ako su neki od niza usporedbi TRUE.

skalarni_izraz<= { SOME} ( subquery )

Operatori za razlučivanje opsega

Operater Značenje Primjer

::

Pruža pristup statičkim članovima složenog tipa podataka. Složeni tipovi podataka su oni tipovi podataka koji sadrže više metoda i jednostavne tipove podataka. Složeni tipovi podataka Uključuju ugrađene CLR tipove i prilagođene SQLCLR korisnički definirane vrste (UDT).

PROGLAŠITE @hid hierarchyid SELECT @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString ()

Postavite operatore

Postoje uglavnom tri postavljene operacije:UNIJA,INTERSECT,MINUS. Možete se pozvati na donju sliku da biste razumjeli postavljene operacije u SQL-u. Pogledajte donju sliku:

Operater Značenje Sintaksa

UNIJA

Operator UNION koristi se za kombiniranje skupa rezultata dviju ili više naredbi SELECT.

ODABERI IME stupaca IZ tablice1
UNIJA
ODABERI IME stupaca IZ tablice2

INTERSECT

Klauzula INTERSECT koristi se za kombiniranje dvajuODABERInaredbe i vraća presjek skupova podataka oba SELECT izraza.

ODABERI stupac1, stupac2….
OD IMENA tablice
GDJE Stanje
INTERSECT
ODABERI stupac1, stupac2….
OD IMENA tablice
GDJE Stanje

OSIM

Operator EXCEPT vraća one korpice koje su vraćene prvom operacijom SELECT, a nisu vraćene drugom operacijom SELECT.

ODABIRI Ime stupca
OD IMENA tablice
OSIM
ODABIRI Ime stupca
OD IMENA tablice

String Operatori

Operater Značenje Sintaksa / Primjer

+ (Spajanje nizova)

Spaja dva ili više binarnih nizova ili znakovnih nizova, stupaca ili kombinaciju nizova i imena stupaca u jedan izraz

izraz + izraz

+ = (Spajanje nizova)

Koristi se za spajanje dva niza i postavlja niz na rezultat operacije.

izraz + = izraz

% (Zamjenski znakovi koji se podudaraju)

Koristi se za podudaranje s bilo kojim nizom od nula ili više znakova.

Primjer: 'uzorak%'

[] (Zamjenski znakovi koji se podudaraju)

Koristi se za podudaranje jednog znaka unutar navedenog raspona ili skupa koji je naveden između zagrada [].

Primjer: m [n-z]% ’

[^] (Zamjenski znakovi koji se podudaraju)

Koristi se za podudaranje jednog znaka koji nije unutar raspona ili skupa navedenog između uglatih zagrada.

Primjer: ‘Al [^ a]%’

_ (Zamjenski znakovi koji se podudaraju)

Koristi se za podudaranje jednog znaka u operaciji usporedbe niza

test_expression [NOT] IN (potupit | izraz [, ... n])

Zbirno Funkcije

Različita agregatne funkcije koje SQL Server podržava su sljedeće:

Funkcija Opis Sintaksa Primjer

IZNOS()

Koristi se za vraćanje zbroja skupine vrijednosti.

ODABERI ZUM (Ime stupca) IZName tablice

ODABERITE ZUM (ocjene) IZ studentske informacije

RAČUNATI()

Vraća broj redaka na temelju stanja ili bez uvjeta.

ODABERI BROJ (Ime stupca) IZ IMA tablice GDJE uvjet

ODABERITE BROJ (StudentID) IZ StudentInfo

AVG ()

Koristi se za izračunavanje prosječne vrijednosti numeričkog stupca.

ODABERITE AVG (Ime stupca) IZ Imena tablice

ODABERITE PROSJEK (Oznake) IZ Studentske informacije

MIN ()

Ova funkcija vraća minimalnu vrijednost stupca.

ODABERITE MIN (Ime stupca) IZName tablice

ODABERITE MIN (ocjene) IZ studentske informacije

MAX ()

Vraća maksimalnu vrijednost stupca.

ODABERITE MAX (Ime stupca) IZName tablice

ODABERITE MAKS. (Oznake) IZ studentskih informacija

PRVI()

Koristi se za vraćanje prve vrijednosti stupca.

ODABERITE PRVO (Ime stupca) IZName tablice

ODABERITE PRVO (Oznake) IZ Studentske informacije

POSLJEDNJI()

Ova funkcija vraća zadnju vrijednost stupca.

ODABERITE POSLJEDNJE (Ime stupca) IZName tablice

ODABERITE POSLJEDNJE (ocjene) IZ studentske informacije

Korisnički definirane funkcije

Microsoft SQL Server omogućuje korisnicima stvaranje korisničkih funkcija koje su rutine. Te rutine prihvaćaju parametre, mogu izvoditi jednostavne do složene radnje i vraćati rezultat te određene radnje kao vrijednost. Ovdje vraćena vrijednost može biti pojedinačna skalarna vrijednost ili potpuni skup rezultata.

Korisnički definirane funkcije možete koristiti za:

  • Omogućite modularno programiranje
  • Smanjite mrežni promet
  • Omogućite brže izvršavanje upita

Također, postoje različite vrste korisnički definiranih funkcija koje možete stvoriti. Oni su:

  • Skalarne funkcije: Naviknutvrati jednu vrijednost podataka tipa definiranog u klauzuli RETURNS.
  • Tablične funkcije: Naviknutpovratak astolvrsta podataka.
  • Funkcije sustava: SQL Server nudi razne sistemske funkcije za obavljanje različitih operacija.

Pa, osim korisnički definiranih funkcija, u SQL Serveru postoji hrpa ugrađenih funkcija koje se mogu koristiti za izvršavanje raznih zadataka. Nastavljajući u ovom članku o vodiču za SQL Server, hajde da sada razumijemo koji su ugniježđeni upiti.

Ugniježđeni upiti

Ugniježđeni upiti su oni upiti koji imaju vanjski upit i unutarnji podupit. Dakle, u osnovi je podupit upit koji je ugniježđen unutar drugog upita poput SELECT, INSERT, UPDATE ili DELETE. Pogledajte sliku u nastavku:

Sljedeće u ovom vodiču za SQL Server, dopustite nam da razumijemo različite vrste spajanja u SQL-u.

Pridružuje se

koriste se za kombiniranje korpica iz dvije ili više tablica, na temelju povezanog stupca između tablica. Postoje četiri vrste pridruživanja:

Razmotrite sljedeću tablicu zajedno s tablicom StudentsInfo da biste razumjeli sintaksu spajanja.

SubjectID Studentska iskaznica SubjectName
1010Matematika
2jedanaestFizika
312Kemija

UNUTARNJE PRIDRUŽIVANJE

Sintaksa

ODABIRI Imena stupaca IZ Tablice1 UNUTARNJE PRIDRUŽIVANJE Table2 ON Table1.ColumnName = Table2.ColumnName

Primjer

ODABERITE Subjects.SubjectID, StudentsInfo.StudentName FROM Subjects INNER JOIN PRIDRUŽITE se StudentInfo ON Subjects.StudentID = StudentsInfo.StudentID

LIJEVA PRIDRUŽITE

Sintaksa

ODABIRI Imena stupaca IZ Tablice1 LIJEVO PRIDRUŽIVANJE Table2 ON Table1.ColumnName = Table2.ColumnName

Primjer

ODABERITE StudentInfo.StudentName, Subjects.SubjectID FROM StudentsInfo LIJEVO SE PRIDRUŽITE PREDMETIMA NA StudentsInfo.SubjectID = Subjects.SubjectID NARUČITE PO StudentsInfo.StudentName

PRAVO PRIDRUŽITE

Sintaksa

ODABIRI Imena stupaca IZ Tablice1 DESNO PRIDRUŽIVANJE Table2 ON Table1.ColumnName = Table2.ColumnName

Primjer

ODABERITE StudentInfo.StudentName, Subjects.SubjectID FROM StudentsInfo PRAVO PRIDRUŽITE SE PREDMETIMA NA StudentsInfo.SubjectID = Subjects.SubjectID NARUČITE PO StudentsInfo.StudentName

PUNO PRIDRUŽITE

Sintaksa

ODABIRI Imena stupaca IZ Tablice1 PUNO VANJSKO PRIDRUŽIVANJE Table2 ON Table1.ColumnName = Table2.ColumnName

Primjer

ODABERITE StudentInfo.StudentName, Subjects.SubjectID FROM StudentsInfo PUNO VANJSKO PRIDRUŽITE PREDMETE NA StudentsInfo.SubjectID = Subjects.SubjectID NARUČITE PO StudentInfo.StudentName

Dalje, u ovom članku o vodiču za SQL Server, shvatimo različite vrste petlji koje podržava SQL Server.

Petlje

Različite naredbe upravljanja protokom su kako slijedi:

Razgovarajmo o svakom od njih jedan po jedan.

POČNITE..END

Te se ključne riječi koriste za zatvaranje niza SQL izjava. Zatim se može izvršiti ova grupa SQL izraza.

Sintaksa

BEGIN StatementBlock END

PAUZA

Ova se izjava koristi za izlazak iz trenutne WHILE petlje. U slučaju da je trenutna petlja WHILE ugniježđena unutar druge petlje, tada naredba BREAK izlazi samo iz trenutne petlje i kontrola se prenosi na sljedeću naredbu u trenutnoj petlji. Izraz BREAK obično se koristi unutar IF izraza.

Sintaksa

PAUZA

NASTAVITI

Izraz CONTINUE koristi se za ponovno pokretanje petlje WHILE. Dakle, sve izjave nakon ključne riječi CONTINUE bit će zanemarene.

Sintaksa

NASTAVITI

Ovdje je Oznaka točka nakon koje započinje obrada ako je GOTO ciljano na tu oznaku.

IĆI

Koristi se za promjenu tijeka izvršavanja na etiketi. Izjave napisane nakon ključne riječi GOTO preskaču se i obrada se nastavlja na naljepnici.

Sintaksa

Definirajte oznaku: Oznaka: Izmijenite izvršenje: GOTO oznaka

Ovdje je Oznaka točka nakon koje započinje obrada ako je GOTO ciljano na tu oznaku.

AKO..OSTALO

Kao i bilo koji drugi programski jezik, naredba If-else u SQL Serveru testira stanje i ako je uvjet netačan, izvršava se izraz 'else'.

Sintaksa

AKO BooleanExpression StatementBlock [ELSE StatementBlock]

POVRATAK

Koristi se za bezuvjetan izlazak iz upita ili postupka. Dakle, izrazi napisani nakon klauzule RETURN se ne izvršavaju.

Sintaksa

POVRATAK [IntegerExpression]

Ovdje se vraća cjelobrojna vrijednost.

ČEKATI

WAITFOR kontrolni tok koristi se za blokiranje izvršavanja pohranjene procedure, transakcije ili serije dok se određena izjava ne promijeni, ne vrati barem jedan redak ili ne istekne određeno vrijeme ili vremenski interval.

Sintaksa

WAITFOR (GetConversionGroupStatement)] [, TIMEOUT timeout]

gdje,

  • ODGODITI - Razdoblje koje mora proći
  • TimeToPass - P.vremensko razdoblje za čekanje
  • VRIJEME - Thevrijeme kada se izvršava pohranjena procedura, transakcija ili serija.
  • TimeToExecute - Thevrijeme u kojem završava izjava WAITFOR.
  • RecieveStatement - TOvaljana izjava RECEIVE.
  • GetConversionGroupStatement - TOvaljana izjava GET CONVERSATION GROUP.
  • TIMEOUT timeout - Određuje vremensko razdoblje, u milisekundama, na čekanje da poruka stigne u red čekanja.

DOK

Ova petlja koristi se za postavljanje uvjeta za ponovljeno izvršavanje određenog SQL izraza ili bloka SQL izraza. Izjave se izvršavaju sve dok je uvjet koji je spomenuo korisnik ISTINA. Čim uvjet ne uspije, petlja se prestaje izvršavati.

Sintaksa

DOK JE Izjava BooleanExpressionBlock

Sad, znate li DML naredbe, prijeđimo na sljedeći odjeljaku ovom članku o SQL vodiču, tj. DCL naredbama.

Naredbe jezika za kontrolu podataka (DCL)

Ovaj odjeljak vodiča za SQL Server dat će vam ideju o naredbi putem koje se koristi za jačanje sigurnosti baze podataka u više korisničkih okruženja baze podataka. Naredbe su sljedeće:

DODATI

Naredba GRANT koristi se za pružanje pristupa ili povlastica bazi podataka i njezinim objektima korisnicima.

Sintaksa

DODATI PrivilegeName NA ObjectName NA RoleName [S GRANT OPTION]

gdje,

  • PrivilegeName - Je li privilegija / pravo / pristup dodijeljen korisniku.
  • ObjectName - Ime objekta baze podataka poput TABELA / POGLED / SKLADIŠTENI PROC.
  • Korisničko ime - Ime korisnika kojem se daje pristup / prava / privilegije.
  • JAVNOST - Dodijeliti prava pristupa svim korisnicima.
  • Ime uloge - Naziv skupa privilegija grupiranih zajedno.
  • S DODATNOM OPCIJOM - Dati korisniku pristup da drugim korisnicima dodijeli prava.

Primjer

- Dati odobrenje SELECT za tablicu StudentsInfo korisniku1 GRANT ODABRATI OSOBU StudentsInfo korisniku1

OPOZVATI

Naredba REVOKE koristi se za povlačenje korisnikovih privilegija pristupa dodijeljenih pomoću naredbe GRANT.

Sintaksa

Opozovi PrivilegeName NA OBjectNAME OD JAVNOG

Primjer

- Da opozove odobrenje korisnika user1 REVOKE SELECT ON ON StudentInfo TO user1

Nastavljajući dalje u ovom vodiču za SQL Server, shvatimo kako stvoriti i koristiti pohranjene procedure.

Pohranjeni postupci

Pohranjeni postupci su višekratne jedinice koje obuhvaćaju određenu poslovnu logiku aplikacije. Dakle, to je skupina SQL izraza i logike, sastavljeni i pohranjeni zajedno za obavljanje određenog zadatka.

Sintaksa

STVORI [ILI ZAMIJENI] POSTUPAK ime_procedura [(naziv_parametara [IN | OUT | IN OUT] tip [])] JE POČETAK [section_section] izvršni_odjeljak // SQL izraz korišten u pohranjenoj proceduri END GO

Primjer

- Stvorite proceduru koja će vratiti ime studenta kada je StudentId dat kao ulazni parametar pohranjenoj proceduri Stvaranje PROCEDURE GetStudentName (@StudentId INT, --Ulazni parametar, @StudName VARCHAR (50) OUT - Output parametar, AS POČNITE ODABIRATI @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END

Koraci za izvršenje:

      • Deklariraj @StudName kao nvarchar (50)
      • EXEC GetStudentName 01, izlaz @StudName
      • ODABERITE @StudName

Gornji postupak vraća ime određenog učenika,na davanje tog studenta kao ulaz. Sljedeće u ovom vodiču za SQL Server, dajte nam razumjeti naredbe jezika za kontrolu transakcija.

Naredbe jezika za kontrolu transakcija (TCL)

Ovaj odjeljak vodiča za SQL Server pružit će vam uvid u naredbe koje se koriste za upravljanje transakcijama u bazi podataka.Naredbe su sljedeće:

POČINITI

Naredba COMMIT koristi se za spremanje transakcije u bazu podataka.

Sintaksa

POČINITI

VRAĆANJE

Naredba ROLLBACK koristi se za vraćanje baze podataka u zadnje urezano stanje.

Sintaksa

VRAĆANJE

BILJEŠKA: Kada koristite ROLLBACK sa SAVEPOINT-om, tada možete izravno skočiti na točku spremanja u tekućoj transakciji. Sintaksa: POVRATAK NA SavepointName

SAVEPOINT

Naredba SAVEPOINT koristi se za privremeno spremanje transakcije. Dakle, ako se želite vratiti na bilo koju točku, tada je možete spremiti kao 'SAVEPOINT'.

Sintaksa

SAVEPOINT SAVEPOINTNAME

Razmotrite donju tablicu kako biste razumjeli rad transakcija u bazi podataka.

Studentska iskaznica Ime studenta
jedanRohit
2Suhana
3Ašiški
4Prerna

Sada koristite dolje za razumijevanje transakcija u bazi podataka.

UMESTI U VRIJEDNOSTI studentske tablice (5, 'Avinash') OBAVEZI AŽURIRANJE StudentTable SET name = 'Akash' WHERE id = '5' SAVEPOINT S1 UMETNI U VRIJEDNOSTI studentske tablice (6, 'Sanjana') SAVEPOINT S2 UMIJI U VRIJEDNOSTI studentske tablice (7, 'Sanjay ') SAVEPOINT S3 UMESTI U VRIJEDNOSTI studentske tablice (8,' Veena ') SAVEPOINT S4 ODABERI * IZ studentske tablice

Sljedeće u ovom članku o vodiču za SQL Server dopustite nam da razumijemo kako postupati s iznimkama u Transact-SQL-u.

Rukovanje iznimkama

Postoje dvije vrste iznimki, tj. Sistemski definirane iznimke i korisnički definirane iznimke. Kao što i samo ime govori, rukovanje iznimkama je postupak kroz koji korisnik može obraditi generirane iznimke. Da biste obrađivali iznimke, morate razumjeti sljedeće izjave tijeka kontrole:

BACANJE

Ova se klauzula koristi za pokretanje iznimke i prijenos izvršenja na blok CATCH konstrukcije TRY ... CATCH.

Sintaksa

BACI [ErrorNumber, @localvariable, State] []

gdje,

  • Broj pogreške - TOkonstanta ili varijabla koja predstavlja iznimku.
  • Poruka - TOvarijabla ili niz koji opisuje iznimku.
  • država -Konstanta ili varijabla između 0 i 255 koja označava stanje koje će se pridružiti poruci.
THROW 51000, 'Zapis ne postoji.', 1

POKUŠAJ UHVATITI

Koristi se za implementaciju rukovanja iznimkama u Transact-SQL. Skupina iskaza može biti zatvorena u blok TRY. U slučaju da se dogodi pogreška u bloku TRY, kontrola se prenosi na drugu skupinu izraza koji su zatvoreni u bloku CATCH.

Sintaksa

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

U time dolazimo do kraja ovog članka o vodiču za SQL Server. Nadam se da ste uživali čitajući ovaj članak o Vodiču za početnike za SQL Server.Ja ako želite dobiti strukturirani trening o MySQL-u, a zatim pogledajte naš koja dolazi s treningom uživo pod vodstvom instruktora i iskustvom u stvarnom životu. Ovaj trening pomoći će vam da dublje razumijete MySQL i postignete majstorstvo u vezi s tom temom. Imate pitanje za nas? Molimo spomenite to u odjeljku za komentare ' Vodič za SQL Server ”I javit ću vam se.