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 |
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. |
Ovaj skup naredbi bavi se dozvolama, pravima i ostalim kontrolama sustava baza podataka. | |
Te se naredbe koriste za baviti se transakcijom baze podataka. |
Osim naredbi, u ovom su članku obrađene sljedeće teme:
- Što je SQL Server?
- Instalirajte SQL Server
- Povežite se na SQL Server pomoću SSMS-a
- Pristupite motoru baze podataka
- Arhitektura SQL poslužitelja
- Komentari u SQL-u
- Tipovi podataka SQL poslužitelja
- Ključevi u bazi podataka
- Ograničenja u bazi podataka
- Operateri
- Zbirne funkcije
- Korisnički definirane funkcije
- Ugniježđeni upiti
- Pridružuje se
- Petlje
- Pohranjeni postupci
- 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 |
jedan | mrzim | Akriti mehra | 9955339966 | Blok ceste brigade 9 | Hyderabad | Indija |
2 | Manasa | Shourya Sharma | 9234568762 | Mayo cesta 15 | Kolkata | Indija |
3 | Anay | Soumya Mishra | 9876914261 | Kuća Marathalli br. 101 | Bengaluru | Indija |
4 | Preeti | Rohan Sinha | 9765432234 | Queens Road 40 | Delhi | Indija |
5 | Shanaya | Abhinay agarwal | 9878969068 | Ulica Oberoi 21 | Mumbaiju | Indija |
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čani | Koristi se za pohranu numeričkih vrijednosti i ima fiksne brojeve preciznosti i skale | - 10 ^ 38 +1 do 10 ^ 38 - 1. |
sićušna | Koristi se za pohranu cjelobrojnih vrijednosti | 0 do 255 | |
smallint | Koristi se za pohranu cjelobrojnih vrijednosti | -2 ^ 15 (-32.768) do 2 ^ 15-1 (32.767) | |
bigint | Koristi 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) | |
int | Koristi se za pohranu cjelobrojnih vrijednosti | -2 ^ 31 (-2,147,483,648) do 2 ^ 31-1 (2,147,483,647) | |
malo | Pohranjuje cjelobrojni tip podataka koji bilježi vrijednost 0, 1 ili NULL | 0, 1 ili NULL | |
decimal | Koristi se za pohranu numeričkih vrijednosti i ima fiksne brojeve preciznosti i skale | - 10 ^ 38 +1 do 10 ^ 38 - 1. | |
sitni novac | Koristi se za pohranu novčanih sredstavaili vrijednosti valuta. | - 214.748,3648 do 214.748,3647 | |
novac | Koristi 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 | plutati | Koristi 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 |
stvaran | Koristi 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 | datum | Koristi se za definiranje datuma u SQL poslužitelju. | Sintaksa: datum |
malo vrijeme | Koristi 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 vrijeme | Koristi 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-pomak | Koristi 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 | |
vrijeme | Koristi se za definiranje doba dana. | Sintaksa: vrijeme | |
Nizovi znakova | ugljen | Koristi se za pohranu likova fiksne veličine. | ugljen[( n )] gdje vrijednost n varira od 1 - 8 000 |
varchar | Koristi 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. | |
tekst | Koristi se za pohranu vpodaci ne-Unicode promjenjive duljine | Maksimalna dopuštena duljina niza - 2 ^ 31-1 (2,147,483,647) | |
Nizovi znakova Unicode | nchar | Koristi se za pohranu likova fiksne veličine. | nchar[(n)] gdje vrijednost n varira od 1-4000 |
nvarchar | Koristi 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. | |
ntekst | Koristi se za pohranu Unicode podataka promjenljive duljine | Maksimalna dopuštena duljina niza - 2 ^ 30-1 (2,147,483,647) | |
Binarni nizovi | binarni | Koristi se za pohranu binarnih vrsta podataka bilo fiksne duljine | binarni[( n )] gdje vrijednost n varira od 1 - 8 000 |
varbinarni | Koristi se za pohranu binarnih vrsta podataka bilo fiksne duljine | varbinarni[( n )] gdje n vale varira od 1-8000, a najveća dopuštena pohrana je 2 ^ 31-1 bajta. | |
slika | Koristi se za pohranu binarnih podataka promjenljive duljine | 0 - 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č. | - | |
prevrtanje | Koristi se za izlaganje automatski generiranih jedinstvenih binarnih brojeva unutar baze podataka. | - | |
hijerarhija | Koristi se za predstavljanje položaja u hijerarhiji. | - | |
jedinstveni identifikator | Je li 16-bajtni GUID. | Sintaksa:jedinstveni identifikator | |
sql_variant | Koristi se za pohranu vrijednosti različitih tipova podataka podržanih za SQL Server | Sintaksa: sql_variant | |
xml | Koristi se za pohranu XML tipa podataka. | xml ([SADRŽAJ | DOKUMENT] xml_schemacollection) | |
Tipovi prostorne geometrije | Koristi se za predstavljanje podataka u euklidskom (ravnom) koordinatnom sustavu. | - | |
Vrste prostorne geografije | Koristi se za pohranu elipsoidnih podataka (oko Zemlje), kao što su GPS koordinate zemljopisne širine i dužine. | - | |
stol | Koristi 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 |
jedan | mrzim | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Tablica ciljanja:
Studentska iskaznica | Ime studenta | Oznake |
jedan | mrzim | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
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 |
jedan | mrzim | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
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:
- Aritmetički operatori
- Operatori dodjele
- Bitovni operateri
- Operatori usporedbe
- Složeni operateri
- Logički operatori
- Operatori za razlučivanje opsega
- Postavite operatore
- Operatori za spajanje nizova
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]) |
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:
- UNUTARNJE PRIDRUŽIVANJE: Vraća zapise koji imaju podudarne vrijednosti u obje tablice.
- LIJEVA PRIDRUŽITE: Vraća zapise iz lijeve tablice, a također i one zapise koji zadovoljavaju uvjet iz desne tablice.
- PRAVO PRIDRUŽIVANJE: Vraća zapise iz desne tablice, a također i one zapise koji zadovoljavaju uvjet iz lijeve tablice.
- POTPUNO PRIDRUŽITE: Vraća zapise koji se podudaraju u lijevoj ili desnoj tablici.
Razmotrite sljedeću tablicu zajedno s tablicom StudentsInfo da biste razumjeli sintaksu spajanja.
SubjectID | Studentska iskaznica | SubjectName |
10 | 10 | Matematika |
2 | jedanaest | Fizika |
3 | 12 | Kemija |
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 |
jedan | Rohit |
2 | Suhana |
3 | Ašiški |
4 | Prerna |
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.