Tutorial SQL Server - Tot ce aveți nevoie pentru a stăpâni Transact-SQL



Acest articol despre Tutorial SQL Server este un ghid cuprinzător despre diferitele concepte, sintaxă și comenzi utilizate în MS SQL Server.

Pe piața de astăzi, unde se generează o cantitate mare de date în fiecare zi, este foarte important să înțelegem cum să gestionăm datele. SQL Server este un mediu integrat dezvoltat de Microsoft pentru a gestiona datele.În acest articol despre tutorialul SQL Server, veți învăța toate operațiunile și comenzile de care aveți nevoie pentru a explora bazele de date.

Pentru o mai bună înțelegere, am împărțit blogul în următoarele categorii:





Comenzi Descriere

Comenzi de limbaj pentru definirea datelor (DDL)

Acest set de comenzi sunt utilizate pentru a defini o bază de date.

Comenzi de limbaj de manipulare a datelor (DML)



Comenzile de manipulare sunt utilizate pentru a manipula datele prezente în baza de date.

Comenzi de limbă de control al datelor (DCL)

Acest set de comenzi se ocupă cu permisiunile, drepturile și alte controale ale sistemelor de baze de date.

Comenzi de limbă de control al tranzacțiilor (TCL)

Aceste comenzi sunt obișnuite se ocupă de tranzacția bazei de date.

În afară de comenzi, următoarele subiecte sunt tratate în acest articol:



MS SQL Server - Tutorial SQL Server - Edureka

  1. Ce este SQL Server?
  2. Instalați SQL Server
  3. Conectați-vă la SQL Server utilizând SSMS
  4. Accesați motorul bazei de date
  5. Arhitectura SQL Server
  6. Comentarii în SQL
  7. Tipuri de date SQL Server
  8. Cheile din baza de date
  9. Constrângeri în baza de date
  10. Operatori
  11. Funcții agregate
  12. Funcții definite de utilizator
  13. Interogări imbricate
  14. Se alătură
  15. Bucle
  16. Proceduri stocate
  17. Manevrarea excepțiilor

***NOTĂ*** În acest tutorial SQL Server, voi considera baza de date de mai jos caun exemplu, pentru a vă arăta cum să învățați și să scriețicomenzi.

Carnet de student Numele studentului Nume părinte Număr de telefon Abordare Oraș Țară
unuurăscAkriti mehra9955339966Blocul 9 al BrigăziiHyderabadIndia
2ManasaShourya Sharma9234568762Drumul Mayo 15KolkataIndia
3AnaySoumya Mishra9876914261Casa Marathalli nr. 101BengaluruIndia
4PreetiRohan Sinha9765432234Queens Road 40DelhiIndia
5ShanayaAbhinay agarwal9878969068Strada Oberoi 21MumbaiIndia

Înainte de a începe să înțelegem diferitele comenzi utilizate în SQL Server, permiteți-ne să înțelegem ce este SQL Server, arhitectura acestuia și cum să îl instalăm.

Ce este SQL Server?

Microsoft SQL Server este o relație Sistemul de gestionare a bazelor de date . Acceptă Limbaj de interogare structurat și vine cu propria sa implementare a limbajului SQL care este Transact-SQL (T-SQL) . Are un mediu integrat pentru a gestiona bazele de date SQL, care este .

Componentele cheie ale SQL Server sunt următoarele:

  • Motor de baze de date: Această componentă gestionează stocarea, procesarea rapidă a tranzacțiilor și securizarea datelor.
  • SQL Server - Acest serviciu este utilizat pentru a porni, opri, întrerupe și continua instanța MS SQL Server.
  • Agent SQL Server - Serviciul Agent Server joacă rolul de planificator de sarcini și este declanșat de orice eveniment sau conform cerințelor.
  • Browser SQL Server - Acest serviciu este utilizat pentru a conecta cererea primită la instanța dorită de SQL Server.
  • Căutare text integral SQL Server - Folosit pentru a permite utilizatorului să execute interogări full-text împotriva datelor de caractere din tabelele SQL.
  • SQL Server VSS Writer - Permite copiile de rezervă și restaurarea fișierelor de date atunci când SQL Server nu rulează.
  • SQL Server Analysis Services (SSAS) - Acest serviciu este utilizat pentru a furniza analiza datelor, extragerea datelor și capacități. SQL Server este, de asemenea, integrat cu și R pentru analize avansate de date.
  • Servicii de raportare SQL Server (SSRS) - După cum sugerează și numele, acest serviciu este utilizat pentru a oferi caracteristici și capacități de luare a deciziilor, inclusiv integrarea cu .
  • Servicii de integrare SQL Server (SSIS) - Acest serviciu este utilizat pentru a efectua operațiuni ETL pentru diferite tipuri de date din mai multe surse de date.

Acum, că știți ce este MS SQL Server, permiteți-ne să mergem mai departe în acest articol pe tutorialul SQL Server și să înțelegem cum să instalați și să configurați SQL Server.

Instalați SQL Server

Urmați pașii de mai jos pentru a instala SQL Server:

Pasul 1: Accesați pagina oficială a Descărcare Microsoft SQL Server , unde veți găsi opțiunea de a instala SQL Server fie local, fie în cloud.

Pasul 2: Acum, derulați în jos și veți vedea două opțiuni: Ediția pentru dezvoltatori și întreprinderi . Aici, voi descărca fișierul Ediția pentru dezvoltatori . Pentru a descărca, trebuie doar să faceți clic pe Descarcă acum opțiune. Consultați mai jos.

Pasul 3: Odată ce aplicația este descărcată, faceți dublu clic pe fișier și veți vedea următoarea fereastră.

Pasul 4: Acum, puteți alege una dintre cele 3 opțiuni pentru a configura SQL Server. Aici, voi alege doar Opțiune de bază . La selectarea opțiunii de tip instalare, următorul ecran va fi acceptarea acordului de licență. Pentru a face acest lucru, faceți clic pe Accept în următoarea fereastră.

Pasul 5: Apoi, trebuie să specificați locația de instalare SQL Server. Apoi, trebuie să faceți clic pe Instalare.

După ce faceți clic pe Instalare , veți vedea că pachetele necesare sunt descărcate. Acum, după finalizarea instalării, veți vedea următorul ecran:

Aici, puteți merge înainte și faceți clic pe Conectare acum, sau puteți personaliza instalarea. Pentru o mai bună înțelegere, voi merge mai departe și voi alege Personalizați.

Pasul 6: După ce faceți clic pe Personalizați în fereastra de mai sus, veți vedea următorul expert care se deschide. în următoarea fereastră, faceți clic pe Următorul.

Pasul 7: După ce regulile se instalează automat, faceți clic pe Următorul . Consultați mai jos.

Pasul 8: Apoi, trebuie să alegeți tipul de instalare. Deci, alegeți Efectuați un instalare nouă a SQL Server 2017 și apoi faceți clic pe Următorul.

Pasul 9: În vrăjitorul care se deschide, alegeți ediția: Dezvoltator. Apoi, faceți clic pe Următorul . Consultați mai jos.

Pasul 10: Acum, citiți și acceptați acordurile de licență prin check-in butonul radio și apoi faceți clic pe Următorul . Consultați mai jos.

Pasul 11: În vrăjitorul de mai jos puteți alege caracteristicile pe care doriți să le instalați. De asemenea, puteți alege directorul rădăcină al instanței și apoi faceți clic pe Următorul . Aici, voi alege Servicii pentru motor de baze de date .

Pasul 12: Apoi trebuie să denumiți instanța și automat va fi creat ID-ul instanței. Aici voi numi instanța „edureka”. Apoi, faceți clic pe Următorul.

Pasul 13: În expertul Configurare server, faceți clic pe Următorul .

Pasul 14: Acum, trebuie să activați modurile de autentificare. Aici, veți vedea Mod de autentificare Windows și Mod mixt . Voi alege modul mixt. Apoi, menționați parola și apoi voi adăuga utilizatorul curent ca Administrator prin alegerea Adăugați un utilizator curent opțiune.

Pasul 15: Apoi, alegeți calea fișierului de configurare și faceți clic pe Instalare .

După finalizarea instalării, veți vedea următorul ecran:

Conectați-vă la SQL Server utilizând SSMS

După instalarea SQL Server, următorul pas este conectarea SQL Server la SQL Server Management Studio. Pentru aceasta, urmați pașii de mai jos:

Pasul 1: Reveniți la următoarea fereastră și faceți clic pe instalați SSMS opțiune.

Pasul 2: După ce faceți clic pe acea opțiune, veți fi redirecționat către următoarea pagină , unde trebuie să alegi Descărcați SSMS.

Pasul 3: După ce instalarea a fost descărcată, faceți dublu clic pe aplicație și veți vedea următorul expert care se deschide.

Pasul 4: Click pe Opțiunea de instalare , în fereastra de mai sus și veți vedea că instalarea respectivă va începe.

Pasul 5: După finalizarea instalării, veți obține o casetă de dialog așa cum se arată mai jos.

După ce instalați SSMS, următorul pas este să accesați fișierul Motor de baze de date .

Accesarea motorului de baze de date

Când deschideți fișierul Studio de management al serverului SQL de la meniul de pornire , se va deschide o fereastră similară cu fereastra prezentată în imaginea de mai jos.

Aici, menționați numele serverului, modul de autentificare și faceți clic pe Conectați.

După ce faceți clic pe Conectați , veți vedea următorul ecran.

Ei bine, oameni buni, așa instalați și configurați SQL Server. Acum, mergând mai departe în acest tutorial SQL Server, permiteți-ne să înțelegem diferitele componente ale arhitecturii SQL Server.

Arhitectura SQL Server

Arhitectura SQL Server este după cum urmează:

  • Server & minus Aici sunt instalate serviciile SQL și se află baza de date
  • Motor relațional & minus Conține analizorul de interogare, optimizatorul și executorul și executarea are loc în motorul relațional.
  • Analizator de comandă & minus Verifică sintaxa interogării și convertește interogarea în limbajul mașinii.
  • Optimizator & minus Pregătește planul de execuție ca rezultat luând statistici, interogare și arborele algebrator ca intrare.
  • Executor interogare & minus Acesta este locul în care interogările sunt executate pas cu pas
  • Motor de stocare & minus Acesta este responsabil pentru stocarea și recuperarea datelor pe sistemul de stocare, manipularea datelor, gestionarea și blocarea tranzacțiilor.

Acum, că știți cum să configurați și să instalați SQL Server și diferitele sale componente, permiteți-ne să începem cu scrierea Server. Dar, înainte de asta, permiteți-mi să vă explic cum să scriu comentarii în SQL Server.

Comentarii în SQL Server

Există două moduri în care puteți comenta în SQL, adică folosiți fie s comentarii ingle-line sau m comentarii ulti-line .

Comentarii pe o singură linie

Comentariile pe o singură linie încep cu două cratime (-). Prin urmare, textul menționat după (-), până la sfârșitul unei singure linii va fi ignorat de compilator.

Exemplu:

- Exemplu de comentarii cu o singură linie

Comentarii pe mai multe linii

Comentariile pe mai multe linii încep cu / * și se termină cu * / . Prin urmare, textul menționat între / * și * / va fi ignorat de compilator.

Exemplu:

/ * Exemplu pentru comentarii cu mai multe linii * /

Acum, în acest articol despre tutorialul SQL Server, să începem cu primul set de comenzi, adică comenzi Limbaj de definire a datelor.

Comenzi Limbaj Definire date

Această secțiune a articolului vă va oferi o idee despre comenzile cu ajutorul cărora vă puteți defini baza de date. Comenzile sunt după cum urmează:

CREA

Această declarație este utilizată pentru a crea un tabel, o bază de date sau o vizualizare.

Declarația „CREAȚI BAZA DE DATE”

Această declarație este utilizată pentru a crea o bază de date.

Sintaxă

CREAȚI BAZA DE DATE Nume bază de date

Exemplu

CREAȚI BAZA DE DATE Studenți

CREAȚI TABEL ' Afirmație

După cum sugerează și numele, această afirmație este utilizată pentru a crea un tabel.

Sintaxă

CREATE TABLE TableName (Column1 datatype, Column2 datatype, Column3 datatype, .... ColumnN datatype)

Exemplu

CREATE TABLE StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))

CĂDERE BRUSCA

Această declarație este utilizată pentru a elimina un tabel, o bază de date sau o vizualizare existentă.

Declarația „DROP DATABASE”

Această declarație este utilizată pentru a renunța la o bază de date existentă. Informațiile complete prezente în baza de date se vor pierde imediat ce executați comanda de mai jos.

Sintaxă

DROP DATABASE DatabaseName

Exemplu

Baza de date DROP Studenți

Declarația „DROP TABLE”

Această declarație este utilizată pentru a renunța la un tabel existent. Informațiile complete prezente în tabel se vor pierde imediat ce executați comanda de mai jos.

Sintaxă

DROP TABLE TableName

Exemplu

DROP TABLE StudentInfo

VÂRSTĂ

Comanda ALTER este utilizată pentru a adăuga, șterge sau modifica coloane sau constrângeri într-un tabel existent.

TABEL ALTER ' Afirmație

Această declarație este utilizată pentru a adăuga, șterge, modifica coloane într-un tabel preexistent.

Declarația „ALTER TABLE” cu ADD / DROP COLUMN

Instrucțiunea ALTER TABLE este utilizată cu comanda ADD / DROP Column pentru a adăuga și șterge o coloană.

Sintaxă

ALTER TABLE TableName ADAUGĂ ColoanăNume Tip de date ALTER TABLE TableName DROP COLUMN ColumnName

Exemplu

--ADD Column BloodGroup: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) --DROP Column BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup

Declarația „ALTER TABLE” cu ALTER COLUMN

Instrucțiunea ALTER TABLE poate fi utilizată cu coloana ALTER pentru a modifica tipul de date al unei coloane existente într-un tabel.

Sintaxă

ALTER TABLE TableName ALTER COLUMN ColumnName Tip de date

Exemplu

- Adăugați o coloană DOB și schimbați tipul de date de la dată la dat și ora. ALTER TABLE StudentInfo ADAUGĂ data DOBĂ ALTER TABLE StudentInfo ALTER COLUMN DOB datetime

TRUNCHIA

Această comandă SQL este utilizată pentru a șterge informațiile prezente în tabel, dar nu șterge tabelul în sine. Deci, dacă doriți să ștergeți informațiile prezente în tabel și să nu ștergeți tabelul în sine, trebuie să utilizați comanda TRUNCATE. Altfel, utilizați comanda DROP.

Sintaxă

TRUNCATE TABLE TableName

Exemplu

TRUNCATE TABLE StudentInfo

RENUMIȚI

Această declarație este utilizată pentru a redenumi unul sau mai multe tabele.

Sintaxă

sp_rename 'OldTableName', 'NewTableName'

Exemplu

sp_rename 'StudentInfo', 'Infostudents'

Continuând în acest articol despre tutorialul SQL Server, permiteți-ne să înțelegem diferitele tipuri de date acceptate de SQL Server.

Tipuri de date SQL Server

Categorie tip date Numele tipului de date Descriere Gama / sintaxă
Numerice exacte numericFolosit pentru a stoca valori numerice și pentru a avea numere fixe de precizie și scară- 10 ^ 38 +1 până la 10 ^ 38 - 1.
tinyintFolosit pentru a stoca valori întregi0 la 255
smallintFolosit pentru a stoca valori întregi-2 ^ 15 (-32.768) până la 2 ^ 15-1 (32.767)
bigintFolosit pentru a stoca valori întregi-2 ^ 63 (-9.223.372.036.854.775.808) până la 2 ^ 63-1 (9.223.372.036.854.775.807)
intFolosit pentru a stoca valori întregi-2 ^ 31 (-2.147.483.648) până la 2 ^ 31-1 (2.147.483.647)
picStochează un tip de date întregi care prezintă o valoare de 0, 1 sau NULL0, 1 sau NULL
zecimalFolosit pentru a stoca valori numerice și pentru a avea numere fixe de precizie și scară- 10 ^ 38 +1 până la 10 ^ 38 - 1.
bani miciFolosit pentru a stoca banisau valorile valutare.- 214.748,3648 până la 214.748,3647
baniFolosit pentru a stoca banisau valorile valutare.-922.337.203.685.477,5808 la 922.337.203.685.477,5807 (-922.337.203.685.477,58
la 922.337.203.685.477,58 pentru Informatica.
Numerice aproximative plutiFolosit pentru a stoca date numerice în virgulă mobilă- 1,79E + 308 până la -2,23E-308, 0 și 2,23E-308 până la 1,79E + 308
realFolosit pentru a stoca date numerice în virgulă mobilă- 3.40E + 38 la -1.18E - 38, 0 și 1.18E - 38 la 3.40E + 38
Data si ora DataFolosit pentru a defini o dată în SQL Server.Sintaxă: dată
smalldatetimeFolosit pentru a defini o dată care este combinată cu o oră a zilei în care ora se bazează pe o zi de 24 de ore, cu secunde întotdeauna zero (: 00) și fără secunde fracționate.Sintaxă: smalldatetime
datetimeFolosit pentru a defini o dată care este combinată cu o oră a zilei cu secunde fracționate pe baza unui ceas de 24 de ore.Sintaxă: datetime
datetime2 datetime2 este ca o extensie a existentului datetime tip care are o precizie fracțională implicită mai mare, interval de date larget.Sintaxă: datetime2
datetimeoffsetFolosit pentru a defini o dată care este combinată cu o oră a unei zile care are conștientizarea fusului orar. Se bazează pe un ceas de 24 de ore.Sintaxă: datetimeoffset
timpFolosit pentru a defini un moment al unei zile.Sintaxă: timp
Corzi de caractere charFolosit pentru a stoca caractere de dimensiuni fixe.char[( n )] unde valoarea n variază de la 1 la 8.000
varcharFolosit pentru a stoca caractere cu lungime variabilă.varchar [( n | max)] unde valoarea n variază de la 1-8000 și stocarea maximă permisă este de 2 GB.
textFolosit pentru a stoca vdate non-Unicode de lungime ariabilăLungimea maximă a șirului permisă - 2 ^ 31-1 (2.147.483.647)
Șiruri de caractere Unicode ncharFolosit pentru a stoca caractere de dimensiuni fixe.nchar[(n)] unde valoarea n variază de la 1 la 4000
nvarcharFolosit pentru a stoca caractere cu lungime variabilă.varchar [( n | max)] unde valoarea n variază de la 1-4000 și stocarea maximă permisă este de 2 GB.
ntextFolosit pentru a stoca date Unicode cu lungime variabilăLungimea maximă a șirului permisă - 2 ^ 30-1 (2.147.483.647)
Șiruri binare binarFolosit pentru a stoca tipuri de date binare fie cu lungime fixăbinar[( n )] unde valoarea n variază de la 1 la 8.000
varbinarFolosit pentru a stoca tipuri de date binare fie cu lungime fixăvarbinar[( n )] unde n vale variază de la 1-8000 și stocarea maximă permisă este de 2 ^ 31-1 octeți.
imagineFolosit pentru a stoca date binare cu lungime variabilă0 - 2 ^ 31-1 (2.147.483.647) octeți
Alte tipuri de date Este un tip de date pentru procedurile stocate sau variabilele parametrii OUTPUT care conțin o referință la un cursor.-
versiune în rândFolosit pentru a expune numerele binare unice generate automat în cadrul unei baze de date.-
ierarhidFolosit pentru a reprezenta poziția într-o ierarhie.-
identificator unicEste un GUID de 16 octeți.Sintaxă:identificator unic
sql_variantFolosit pentru a stoca valorile diferitelor tipuri de date acceptate de SQL ServerSintaxă: sql_variant
xmlFolosit pentru a stoca tipul de date XML.

xml ([CONTENT | DOCUMENT] xml_schemacollection)

Tipuri de geometrie spațialăFolosit pentru a reprezenta date într-un sistem de coordonate euclidian (plat).-
Tipuri de geografie spațialăFolosit pentru a stoca date elipsoidale (pământ rotund), cum ar fi coordonatele GPS de latitudine și longitudine.-
masaFolosit pentru a stoca un set de rezultate pentru procesare ulterior-

În continuare, în acest articol să ne înțelegem diferitele tipuri de chei și constrângeri din baza de date.

Diferite tipuri de chei în baza de date

Următoarele sunt diferitele tipuri de chei utilizate în baza de date:

  • Cheia candidatului - Cheia candidat este un set de atribute care pot identifica în mod unic un tabel. Un tabel poate avea mai mult de o singură cheie candidat, iar dintre tastele candidate alese, o cheie este aleasă ca cheie primară.
  • Super cheie - Setul de atribute poate identifica în mod unic un tuplu. Deci, tastele candidate, tastele unice și tastele primare sunt super chei, dar viceversa nu este adevărată.
  • Cheia principala - Cheile principale sunt folosite pentru a identifica în mod unic fiecare tuplu.
  • Tastă alternativă - Cheile alternative sunt acele chei candidate care nu sunt alese ca cheie primară.
  • Cheie unică- Cheile unice sunt similare cu cheia principală, dar permit o singură valoare NULL în coloană.
  • Cheie externă - Un atribut care poate lua valorile prezente ca valori ale altui atribut este cheie externă la atributul la care se referă.
  • Tasta compusă- Tastele compozite sunt o combinație de două sau mai multe coloane care identifică fiecare tuplu în mod unic.

Constrângeri utilizate în baza de date

Constrângerile sunt utilizate într-o bază de date pentru a specifica regulile pentru datele stocate într-un tabel. Diferitele tipuri de constrângeri în SQL sunt după cum urmează:

NU NUL

Constrângerea NOT NULL asigură că o coloană nu poate avea o valoare NULL.

Exemplu

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)) - NOT NULL pe ALTER TABLE ALTER TABLE StudentsInfo ALTER COLUMN PhoneNumber int NOT NULL

UNIC

Această constrângere asigură faptul că toate valorile dintr-o coloană sunt unice.

Exemplu

--UNIQUE pe Create Table CREATE TABLE StudentsInfo (StudentID int NOT NULL UNIQUE, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000)) --UNIQUE pe mai multe coloane CREARE TABILĂ StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Țară varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) --UNIQUE on ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) - Pentru a renunța la o constrângere UNIQUE ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info

VERIFICA

Constrângerea CHECK asigură că toate valorile dintr-o coloană îndeplinesc o anumită condiție.

Exemplu

- VERIFICAȚI Constrângerea pe 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 (Țara = „India”)) - CHECK Constrângerea pe mai multe coloane CREAȚI TABILUL 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) CHECK (Country = 'India' AND City = 'Hyderabad')) --CHECK Constraint on ALTER TABLE ALTER TABLE StudentsInfo ADD CHECK (Țara = 'India') - Pentru a da un nume pentru TESTUL CONSTRUCȚIEI ALTER TECNICĂ StudentsInfo ADĂUGAȚI CONSTRAINT CheckConstraintName CHECK (Țara = „India”) - Pentru a renunța la o VERIFICARE a restricției ALTER TABLE StudentsInfo DROP CONSTRAINT CheckConstraintName

MOD IMPLICIT

Constrângerea DEFAULT constă dintr-un set de valori implicite pentru o coloană atunci când nu este specificată nicio valoare.

Exemplu

- DEFAULT Constraint on 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 Constraint on ALTER TABLE ALTER TABLE StudentsInfo ADD CONSTRAINT defau_Country DEFAULT 'India' FOR Country - Pentru a renunța la constrângerea implicită ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country

INDEX

Constrângerea INDEX este folosit pentru a crea indexuri în tabel, prin intermediul cărora puteți crea și extrage date din baza de date foarte repede.

Sintaxă

- Creați un index în care sunt permise valorile duplicate CREAȚI INDEX Numele indexului ON Numele tabelului (Coloana1, Coloana2, ... ColoanaN) - Creați un index în care nu sunt permise valorile duplicate CREAȚI UNIQUE INDEX Numele indexului Nume tabelă (Coloana1, Coloana2, ... Coloana N)

Exemplu

CREATE INDEX idex_StudentName ON StudentsInfo (StudentName) - Pentru a șterge un index într-un tabel DROP INDEX StudentsInfo.idex_StudentName

Trecând mai departe în acest articol despre tutorialul SQL Server, să înțelegem acum diferitele comenzi de limbaj de manipulare a datelor utilizate în Microsoft SQL Server.

Comenzi de limbaj de manipulare a datelor

Această secțiune a articolului va acoperi toate acele comenzi prin care puteți manipula baza de date. Comenzile sunt după cum urmează:

În afară de aceste comenzi, există și alți operatori / funcții manipulative, cum ar fi:

UTILIZARE

Această declarație este utilizată pentru a selecta baza de date pentru a începe să efectuați diferite operații pe ea.

Sintaxă

USE DatabaseName

Exemplu

UTILIZAȚI Studenți

INTRODU IN

Instrucțiunea INSERT INTO este folosit pentru a insera înregistrări noi într-un tabel existent.

Sintaxă

INSERT INTO TableName (Coloana1, Coloana2, Coloana3, ..., ColoanaN) VALORI (valoare1, valoare2, valoare3, ...) - Dacă nu doriți să menționați numele coloanelor, utilizați sintaxa de mai jos INSERT INTO TableName VALUES (Valoare1, Valoare2, Valoare3, ...)

Exemplu

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

ACTUALIZAȚI

Instrucțiunea UPDATE este utilizată pentru a modifica sau actualiza înregistrările deja prezente în tabel.

Sintaxă

ACTUALIZARE Nume tabel SET Coloană1 = Valoare1, Coloană2 = Valoare2, ... WHERE Condiție

Exemplu

ACTUALIZARE StudentsInfo SET StudentName = 'Aahana', Oraș = 'Ahmedabad' WHERE StudentID = 1

ȘTERGE

Instrucțiunea DELETE este utilizată pentru a șterge înregistrările existente dintr-un tabel.

Sintaxă

ȘTERGEȚI DIN TableName WHERE Condiție

Exemplu

ȘTERGEȚI DIN StudentsInfo WHERE StudentName = 'Aahana'

MERGE

Instrucțiunea MERGE este utilizată pentru a efectua operațiile INSERT, UPDATE și DELETE pe un tabel specific, unde este furnizat tabelul sursă. Consultați mai jos.

Sintaxă

MERGE TagretTableName UTILIZAND SourceTableName ON MergeCondition CÂND ACCEPTE ACEASTA Update_Statement CÂND NU ECHIPE ACEASTA Insert_Statement CÂND NU ESTE ACOPERIT DE SURSA APRECE ȘTERGE

Exemplu

Pentru a înțelege declarația MERGE, luați în considerare următoarele tabele ca tabelul sursă și tabelul țintă.

Tabel sursă:

Carnet de student Numele studentului Mărci
unuurăsc87
2Manasa92
4Anay74

Tabelul țintă:

Carnet de student Numele studentului Mărci
unuurăsc87
2Manasa67
3Saurabh55
MERGE SampleTargetTable TARGET UTILIZÂND SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) WHEN MATCHED AND TARGET.StudentName SOURCE.StudentName OR TARGET.Marks SOURCE.Marks THEN UPDATE SET TARGET.SURENT.Surent.Student. CÂND NU SE COPORTEZĂ ÎN TÂNT, Apoi INSERĂ (StudentID, StudentName, Marks) VALORI (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) WHEN NOT MATCHED OF SOURCE THEN DELETE

Ieșire

Carnet de student Numele studentului Mărci
unuurăsc87
2Manasa92
4Anay74

SELECTAȚI

Instrucțiunea SELECT este folosit pentru a selecta date dintr-o bază de date, tabel sau vizualizare. Datele returnate sunt stocate într-un tabel de rezultate, numit setul de rezultate .

Sintaxă

SELECT Coloana1, Coloana2, ... ColumN FROM TableName - (*) este utilizat pentru a selecta toate din tabel SELECT * FROM table_name - Pentru a selecta numărul de înregistrări de returnat utilizați: SELECT TOP 3 * FROM TableName

Exemplu

- Pentru a selecta câteva coloane SELECT StudentID, StudentName FROM StudentsInfo - (*) este utilizat pentru a selecta toate din tabel SELECT * FROM StudentsInfo - Pentru a selecta numărul de înregistrări de returnat utilizați: SELECT TOP 3 * FROM StudentsInfo

De asemenea, putem folosi următoarele cuvinte cheie cu instrucțiunea SELECT:

DISTINCT

Cuvântul cheie DISTINCT este utilizat cu instrucțiunea SELECT pentru a returna doar valori diferite.

Sintaxă

SELECT DISTINCT Coloana1, Coloana2, ... ColoanaN DIN TableName

Exemplu

SELECT DISTINCT PhoneNumber FROM StudentsInfo

COMANDA DE

Această declarație este utilizată pentru a sorta rezultatele necesare fie în ordine crescătoare, fie descendentă. În mod implicit, rezultatele sunt stocate în ordine crescătoare. Cu toate acestea, dacă doriți să obțineți rezultatele în ordine descrescătoare, trebuie să utilizați DESC cuvânt cheie.

Sintaxă

SELECT Coloana1, Coloana2, ... ColoanaN DIN TableName ORDER BY Column1, Column2, ... ASC | DESC

Exemplu

- Selectați toți studenții din tabelul „StudentsInfo” sortat după ParentName: SELECT * FROM StudentsInfo ORDER BY ParentName - Selectați toți elevii din tabelul „StudentsInfo” sortate după ParentName în ordine descrescătoare: SELECT * FROM StudentsInfo ORDER BY ParentName DESC - Selectați toți elevii din tabelul „StudentsInfo” sortat după ParentName și StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Selectați toți studenții din tabelul „StudentsInfo” sortat după ParentName în ordine descrescătoare și StudentName în ordine crescătoare: * / SELECT * DIN StudentsInfo COMANDĂ DE Nume Părinte ASC, StudentName DESC

A SE GRUPA CU

Această afirmație este utilizată cu funcții agregate pentru a grupa setul de rezultate cu una sau mai multe coloane.

Sintaxă

SELECTA Coloana1, Coloana2, ..., ColoanaN DIN TableName WHERE Condiție GRUPA PE Numele (numele) coloanei COMANDĂ PE Numele (numele) coloanei

Exemplu

- Pentru a enumera numărul de studenți din fiecare oraș. SELECTAȚI COUNT (StudentID), oraș DIN StudentsInfo GRUP PE ORAS

SETURI DE GRUPARE

SETURILE DE GRUPARE au fost introduse în SQL Server 2008, utilizate pentru a genera un set de rezultate care poate fi generat de un UNION TOATE dintre multiplele clauze GROUP BY simple.

Sintaxă

SELECTAȚI Numele (coloanele) CULOARE DIN Nume de tabel GRUPĂȚI ÎN SETURI DE GRUPARE (Numele (coloana))

Exemplu

SELECTAȚI StudentID, StudentName, COUNT (Oraș) din Grupul StudentsInfo PRIN GRUPURI SETURI ((StudentID, StudentName, City), (StudentID), (StudentName), (City))

AVÂND

Această clauză este utilizată în scenariul în care WHERE cuvânt cheie nu poate fi folosit.

scriind un interpret în java

Sintaxă

SELECTAȚI Numele (coloanele) DIN Numele tabelului UNDE Condiția GRUPA PE Numele (coloana) Număr (e) CU STARE ORDINĂ PE Numele (coloana)

Exemplu

SELECTAȚI COUNTUL (StudentID), Orașul din StudentsInfo GRUPUL PE ORĂȚI CU COUNTUL (StudentID)> 2 COMANDĂ PE NUMĂRUL (StudentID) DESC

ÎN

Cuvântul cheie INTO poate fi utilizat cu Instrucțiunea SELECT pentru a copia date dintr-un tabel în altul. Ei bine, puteți înțelege aceste tabele ca fiind tabele temporare. Tabelele temporare sunt utilizate în general pentru a efectua manipulări asupra datelor prezente în tabel, fără a deranja tabelul original.

Sintaxă

SELECT * INTO NewTable [IN ExternalDB] DIN OldTable WHERE Condiție

Exemplu

- Pentru a crea o copie de rezervă a tabelului „StudentsInfo” SELECT * INTO StudentsBackup FROM StudentsInfo - Pentru a selecta doar câteva coloane din StudentsInfo SELECT StudentName, PhoneNumber INTO StudentsDetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'

CUB

CUBE este o extensie a Clauza GROUP BY . Vă permite să generați totaluri secundare pentru toate combinațiile coloanelor de grupare specificate în clauza GROUP BY.

Sintaxă

SELECTAȚI Numele (coloanele) DIN Numele tabelului GRUPĂ PE CUB (Numele coloanei 1, Numele coloanei 2, ....., Numele coloaneiN)

Exemplu

SELECTAȚI StudentID, COUNT (oraș) DIN StudentsInfo GRUPA PE CUB (StudentID) COMANDĂ DE StudentID

RULEAZĂ

ROLLUP este o extensie a clauzei GROUP BY. Aceasta vă permite să includeți rândurile suplimentare care reprezintă subtotalurile. Acestea sunt denumite rânduri super-agregate împreună cu rândul total mare.

Sintaxă

SELECTAȚI Numele de coloană DIN TableName GROUP BY ROLLUP (ColumnName1, ColumnName2, ....., ColumnNameN)

Exemplu

SELECTAȚI StudentID, COUNT (Oraș) DIN StudentsInfo GRUPUL PE ROLLUP (StudentID)

DECALAJ

Clauza OFFSET este utilizată cu SELECT și Declarație ORDER BY pentru a recupera o serie de înregistrări. Acesta trebuie utilizat împreună cu clauza ORDER BY, deoarece nu poate fi utilizat singur. De asemenea, intervalul pe care îl menționați trebuie să fie egal sau mai mare de 0. Dacă menționați o valoare negativă, atunci se afișează o eroare.

Sintaxă

SELECT NUME Coloană) DIN TableName UNDE Condiție ORDINĂ PE Numele (Coloanele) CUMPĂRAT Rânduri Pentru a renunța la RUNURI

Exemplu

Luați în considerare o nouă coloană Mărci în StudentsInfo masa.

SELECTAți StudentName, ParentName DIN StudentsInfo ORDINE BY Marks OFFSET 1 ROWS

FETCH

Clauza FETCH este utilizată pentru a returna un set de mai multe rânduri. Trebuie utilizat împreună cu clauza OFFSET.

Sintaxă

SELECT NUME Coloană) DIN TableName UNDE Condiție ORDINĂ DE Numele (Coloanele) OFFSET RowsToSkip FETCH NEXT NextOfRows NUMAI ROWS

Exemplu

Selectați StudentName, ParentName DIN StudentsInfo ORDINĂ DE MĂRURI OFFSET 1 RÂNDURI FETCH URMĂTOARE 1 RANDURI NUMAI

TOP

Clauza TOP este utilizată împreună cu instrucțiunea SELECT pentru a menționa numărul de înregistrări de returnat.

Sintaxă

SELECTAȚI Numărul de sus Numele coloanei (numele) din numele tabelului WHERE Condiție

Exemplu

ALEGEȚI TOP 3 * DIN StudentsInfo

PIVOT

PIVOT este folosit pentru a roti rândurile la valorile coloanei și rulează agregări atunci când este necesar pentru valorile coloanei rămase.

Sintaxă

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 interogare care produce datele) AS [alias pentru interogarea inițială] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName al coloanei ale cărei valori vor deveni anteturi de coloană] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last coloană pivotată])) AS [alias pentru tabelul pivot]

Exemplu

Pentru a obține un exemplu detaliat, puteți consulta articolul meu despre SQL PIVOT și UNPIVOT . În continuare, în acest tutorial SQL Server, permiteți-ne să analizăm diferiții operatori suportați de Microsoft SQL Server.

Operatori

diferite tipuri de operatori acceptate de SQL Server sunt după cum urmează:

Să discutăm pe fiecare dintre ele unul câte unul.

Operatori aritmetici

Operator Sens Sintaxă

+

Plus

expresie + expresie

-

Scădere

expresie - expresie

*

Multiplicare

expresie * expresie

/

Divizia

expresie / expresie

%

Moduloasă

expresie% expresie

Operatori de misiune

Operator Sens Sintaxă

=

Atribuiți o valoare unei variabile

variabilă = „valoare”

Operatori Bitwise

Operator Sens Sintaxă

& (Bitwise ȘI)

Folosit pentru a efectua o operație ȘI logică bit între două valori întregi.

expresie & expresie

& = (Bit și atribuire)

Folosit pentru a efectua o operație ȘI logică bit între două valori întregi. De asemenea, setează o valoare la ieșirea operației.

expresie & = expresie

| (SAU bit)

Folosit pentru a efectua o operație logică OR bit între două valori întregi traduse în expresii binare din instrucțiunile Transact-SQL.

expresie | expresie

| = (Alocare în funcție de biți SAU)

Folosit pentru a efectua o operație logică OR bit între două valori întregi traduse în expresii binare din instrucțiunile Transact-SQL. De asemenea, setează o valoare la ieșirea operației.

expresie | = expression

^ (SAU exclusiv bit)

Folosit pentru a efectua o operațiune SAU exclusivă bit între două valori întregi.

expresie ^ expresie

^ = (Asociere SAU exclusivă bit)

Folosit pentru a efectua o operațiune SAU exclusivă bit între două valori întregi. De asemenea, setează o valoare la ieșirea operației.

expresie ^ = expresie

~ (Bitwise NOT)

Se folosește pentru a efectua o operație logică bitbit NU pe o valoare întreagă.

~ expresie

Operatori de comparație

Operator Sens Sintaxă

=

Egal cu

expresie = expression

>

Mai mare ca

expresie> expresie

<

Mai puțin decât

expresie

> =

Mai mare sau egal cu

expresie> = expression

<=

Mai mic sau egal cu

expresie<= expression

Nu este egal cu

expresie expresie

! =

Nu este egal cu

expresie! = expression

!<

Nu mai puțin decât

expresie!

!>

Nu mai mare de

expresie!> expresie

Operatori compuși

Operator Sens Sintaxă

+ =

Folosit pentru a adăuga valoare la valoarea inițială și pentru a seta valoarea inițială la rezultat.

expresie + = expresie

- =

Folosit pentru a scădea o valoare din valoarea inițială și a seta valoarea inițială la rezultat.

expresie - = expression

* =

Folosit pentru a înmulți valoarea la valoarea inițială și a seta valoarea inițială la rezultat.

expresie * = expression

/ =

Folosit pentru a împărți o valoare de valoarea inițială și a seta valoarea inițială la rezultat.

expresie / = expression

% =

Folosit pentru a împărți o valoare de valoarea inițială și a seta valoarea inițială la rezultat.

expresie% = expresie

& =

Se folosește pentru a efectua o operație ȘI bit și pentru a seta valoarea inițială la rezultat.

expresie & = expresie

^ =

Folosit pentru a efectua o operație SAU exclusivă bit și pentru a seta valoarea inițială la rezultat.

expresie ^ = expresie

| =

Folosit pentru a efectua o operație SAU bit și pentru a seta valoarea inițială la rezultat.

expresie | = expression

Operatori logici

Operator Sens Sintaxă

TOATE

Returnează TRUE dacă toate seturile de comparații sunt TRUE.

expresie_scalară! = ALL (subinterogare)

ȘI

Returnează TRUE dacă ambele expresii sunt TRUE.

boolean_expression ȘI boolean_expression

ORICE

Returnează TRUE dacă oricare dintre un set de comparații este TRUE.

expresie_scalară! = {ORICE} (subinterogare)

ÎNTRE

care este cel mai bun ide Java

Returnează TRUE dacă un operand se află într-un interval.

sampleexpression [NU] ÎNTRE beginexpression ȘI endexpression

EXISTĂ

Returnează TRUE dacă o subinterogare conține rânduri.

EXISTĂ (interogare secundară)

ÎN

Returnează TRUE dacă un operand este egal cu una dintr-o listă de expresii.

test_expression [NOT] IN (subinterogare | expresie [, ... n])

CA

Returnează TRUE dacă un operand se potrivește cu un model.

match_expression [NOT] LIKE pattern [ESCAPE escape_character]

NU

Inversează valoarea oricărui operator boolean.

[NU] expresie_booleană

SAU

Returnează TRUE dacă oricare dintre expresiile booleene este TRUE.

boolean_expression SAU boolean_expression

NISTE

Returnează TRUE dacă unele dintr-un set de comparații sunt TRUE.

expresie_scalară<= { SOME} ( subquery )

Operatori de rezoluție a domeniului de aplicare

Operator Sens Exemplu

::

Oferă acces la membrii statici ai unui tip de date compus. Tipurile de date compuse sunt acele tipuri de date care conțin mai multe metode și tipuri de date simple. Tipuri de date compuse Acestea includ tipurile CLR încorporate și tipurile SQLCLR personalizate definite de utilizator (UDT).

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

Set Operatori

Există în principal trei operații de set:UNIUNE,INTERSECT,MINUS. Puteți consulta imaginea de mai jos pentru a înțelege operațiile setate în SQL. Consultați imaginea de mai jos:

Operator Sens Sintaxă

UNIUNE

Operatorul UNION este folosit pentru a combina setul de rezultate a două sau mai multe instrucțiuni SELECT.

SELECTAȚI Numele (coloanele) din tabelul 1
UNIUNE
SELECTAȚI Numele (coloanele) din tabelul 2

INTERSECT

Clauza INTERSECT este utilizată pentru a combina douăSELECTAȚIdeclarații și returnează intersecția seturilor de date ale ambelor instrucțiuni SELECT.

SELECT Coloana1, Coloana2….
FROM TableName
UNDE Condiție
INTERSECT
SELECT Coloana1, Coloana2….
FROM TableName
UNDE Condiție

CU EXCEPTIA

Operatorul EXCEPT returnează acele tupluri care sunt returnate de prima operațiune SELECT și nu sunt returnate de a doua operație SELECT.

SELECT ColoanaNume
FROM TableName
CU EXCEPTIA
SELECT ColoanaNume
FROM TableName

Operatori de șiruri

Operator Sens Sintaxă / Exemplu

+ (Concatenare șir)

Concatenează două sau mai multe șiruri binare sau de caractere, coloane sau o combinație de șiruri și nume de coloane într-o singură expresie

expresie + expresie

+ = (Concatenare șir)

Folosit pentru concatenarea a două șiruri și setarea șirului la rezultatul operației.

expresie + = expresie

% (Caractere wildcard pentru a se potrivi)

Folosit pentru a se potrivi cu orice șir de zero sau mai multe caractere.

Exemplu: „eșantion%”

[] (Caractere wildcard pentru a se potrivi)

Folosit pentru a potrivi un singur caracter în intervalul sau setul specificat care este specificat între paranteze [].

Exemplu: m [n-z]% ’

[^] (Caractere wildcard pentru a se potrivi)

Folosit pentru a potrivi un singur caracter care nu se încadrează în intervalul sau setul specificat între paranteze drepte.

Exemplu: „Al [^ a]%”

_ (Caractere wildcard pentru a se potrivi)

Folosit pentru a potrivi un singur caracter într-o operație de comparare a șirurilor

test_expression [NOT] IN (subinterogare | expresie [, ... n])

Agregat Funcții

Diferitul funcții agregate acceptate de SQL Server sunt după cum urmează:

Funcţie Descriere Sintaxă Exemplu

SUMĂ()

Folosit pentru a returna suma unui grup de valori.

SELECT SUM (ColumnName) FROM TableName

SELECTAȚI SUMA (Mărci) DIN StudentsInfo

NUMARA()

Returnează numărul de rânduri fie pe baza unei condiții, fie fără o condiție.

SELECT COUNT (ColumnName) FROM TableName WHERE Condiție

SELECTAȚI COUNT (StudentID) DIN StudentsInfo

AVG ()

Folosit pentru a calcula valoarea medie a unei coloane numerice.

Selectați AVG (ColumnName) FROM TableName

SELECTAȚI AVG (Mărci) DIN StudentsInfo

MIN ()

Această funcție returnează valoarea minimă a unei coloane.

SELECTAȚI MIN (ColumnName) FROM TableName

SELECTAȚI MIN (Mărci) DIN StudentsInfo

MAX ()

Returnează o valoare maximă a unei coloane.

SELEGEȚI MAX (ColumnName) FROM TableName

SELEGEȚI MAX (Mărci) DIN StudentsInfo

PRIMUL()

Folosit pentru a returna prima valoare a coloanei.

SELECTAȚI PRIMUL (ColumnName) FROM TableName

SELECTAȚI PRIMUL (Mărci) DIN StudentsInfo

ULTIMUL()

Această funcție returnează ultima valoare a coloanei.

SELECTAȚI ULTIMUL (ColumnName) FROM TableName

SELECTAȚI ULTIMUL (Mărci) DIN StudentsInfo

Funcții definite de utilizator

Microsoft SQL Server permite utilizatorilor să creeze funcții definite de utilizator, care sunt rutine. Aceste rutine acceptă parametri, pot efectua acțiuni simple până la complexe și returnează rezultatul acțiunii respective ca valoare. Aici, valoarea returnată poate fi fie o singură valoare scalară, fie un set complet de rezultate.

Puteți utiliza funcții definite de utilizator pentru:

  • Permiteți programarea modulară
  • Reduceți traficul de rețea
  • Permiteți executarea mai rapidă a interogărilor

De asemenea, există diferite tipuri de funcții definite de utilizator pe care le puteți crea. Sunt:

  • Funcții scalare: Folosit pentrureturnează o singură valoare de date de tipul definit în clauza RETURNS.
  • Funcții evaluate în tabel: Folosit pentruretur amasatipul de date.
  • Funcții de sistem: O varietate de funcții de sistem sunt furnizate de SQL Server pentru a efectua operațiuni diferite.

Ei bine, în afară de funcțiile definite de utilizator, există o serie de funcții încorporate în SQL Server, care pot fi utilizate pentru a efectua o varietate de sarcini. Trecând mai departe în acest articol despre tutorialul SQL Server, permiteți-ne să înțelegem acum ce sunt interogările imbricate.

Interogări imbricate

Interogări imbricate sunt acele interogări care au o interogare externă și o interogare interioară. Deci, în esență, interogarea este o interogare care este imbricată într-o altă interogare, cum ar fi SELECT, INSERT, UPDATE sau DELETE. Consultați imaginea de mai jos:

În continuare, în acest tutorial SQL Server, permiteți-ne să înțelegem diferitele tipuri de asocieri în SQL.

Se alătură

sunt utilizate pentru a combina tupluri de la două sau mai multe tabele, pe baza unei coloane conexe dintre tabele. Există patru tipuri de îmbinări:

  • ÎNREGISTRARE INTERIORĂ: Returnează înregistrările care au valori potrivite în ambele tabele.
  • ÎNREGISTRARE STÂNGA: Returnează înregistrările din tabelul din stânga, precum și acele înregistrări care îndeplinesc condiția din tabelul din dreapta.
  • ÎNREGISTRARE DREPTĂ: Returnează înregistrările din tabelul din dreapta, precum și acele înregistrări care îndeplinesc condiția din tabelul din stânga.
  • ÎNREGISTRARE COMPLETĂ: Returnează înregistrările care au fie o potrivire în tabelul din stânga sau din dreapta.

Luați în considerare următorul tabel împreună cu tabelul StudentsInfo, pentru a înțelege sintaxa îmbinărilor.

ID subiect Carnet de student SubjectName
1010Matematica
2unsprezeceFizică
312Chimie

INTERIOR ÎNREGISTRARE

Sintaxă

SELECTAȚI Numele coloanei DIN Tabelul 1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Exemplu

SELEGEȚI Subjects.SubjectID, StudentsInfo.StudentName FROM Subjects INNER JOIN StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID

ÎNREGISTRARE STÂNGA

Sintaxă

SELECTAȚI Numele coloanei DIN Tabelul 1 LEFT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Exemplu

SELECTați StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo LEFT JOIN Subiecte ON StudentsInfo.SubjectID = Subjects.SubjectID COMANDĂ DE StudentsInfo.StudentName

ÎNREGISTRARE DREPTĂ

Sintaxă

SELECTAȚI Numele coloanei DIN Tabelul 1 RIGHT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Exemplu

SELECTați StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo RIGHT JOIN Subiecte ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName

ÎNREGISTRARE COMPLETĂ

Sintaxă

SELECTAȚI Numele coloanei DIN Tabelul 1 FULL OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Exemplu

SELEGEȚI StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo FULL OUTER JOIN Subiecte ON StudentsInfo.SubjectID = Subjects.SubjectID COMANDĂ DE StudentsInfo.StudentName

Apoi, în acest articol despre tutorialul SQL Server, permiteți-ne să înțelegem diferitele tipuri de bucle acceptate de SQL Server.

Bucle

Diferitele comenzi de control al fluxului sunt după cum urmează:

Să discutăm pe fiecare dintre ele unul câte unul.

ÎNCEPE..END

Aceste cuvinte cheie sunt utilizate pentru a include o serie de instrucțiuni SQL. Apoi, acest grup de instrucțiuni SQL poate fi executat.

Sintaxă

BEGIN StatementBlock END

PAUZĂ

Această declarație este utilizată pentru a ieși din bucla WHILE curentă. În cazul în care bucla WHILE curentă este cuibărită într-o altă buclă, atunci instrucțiunea BREAK iese doar din bucla curentă și controlul este trecut la următoarea instrucțiune din bucla curentă. Instrucțiunea BREAK este, în general, utilizată în cadrul unei instrucțiuni IF.

Sintaxă

PAUZĂ

CONTINUA

Instrucțiunea CONTINUE este utilizată pentru a reporni o buclă WHILE. Deci, orice afirmații după cuvântul cheie CONTINUARE vor fi ignorate.

Sintaxă

CONTINUA

Aici, Eticheta este punctul după care începe procesarea dacă un GOTO este direcționat către acea etichetă specială.

MERGI LA

Folosit pentru a modifica fluxul de execuție către o etichetă. Declarațiile scrise după cuvântul cheie GOTO sunt omise și procesarea continuă la etichetă.

Sintaxă

Definire etichetă: Etichetă: Modificare Execuție: Etichetă GOTO

Aici, Eticheta este punctul după care începe procesarea dacă un GOTO este direcționat către acea etichetă specială.

DACĂ .. ELSE

La fel ca orice alt limbaj de programare, instrucțiunea If-else din SQL Server testează condiția și dacă condiția este falsă, atunci se execută instrucțiunea „else”.

Sintaxă

IF BooleanExpression StatementBlock [ELSE StatementBlock]

ÎNTOARCERE

Folosit pentru a ieși necondiționat dintr-o interogare sau procedură. Deci, declarațiile scrise după clauza RETURN nu sunt executate.

Sintaxă

RETURN [IntegerExpression]

Aici se returnează o valoare întreagă.

ASTEAPTA PENTRU

Fluxul de control WAITFOR este utilizat pentru a bloca executarea unei proceduri stocate, a unei tranzacții sau a unui lot până când o instrucțiune specifică se modifică, returnează cel puțin un rând sau un interval de timp sau de timp specificat.

Sintaxă

WAITFOR (GetConversionGroupStatement)] [, timeout TIMEOUT]

Unde,

  • ÎNTÂRZIERE - Perioada de timp care trebuie să treacă
  • TimeToPass - Ptimp de așteptare
  • TIMP -ora când rulează procedura stocată, tranzacția sau lotul.
  • TimeToExecute -ora la care se termină declarația WAITFOR.
  • RecieveStatement - LAdeclarație RECEIVE validă.
  • GetConversionGroupStatement - LAdeclarație validă GET CONVERSATION GROUP.
  • Timeout TIMEOUT - Specifică perioada de timp, în milisecunde, pentru a aștepta sosirea unui mesaj pe coadă.

IN TIMP CE

Această buclă este utilizată pentru a seta o condiție pentru executarea repetată a unei anumite instrucțiuni SQL sau a unui bloc de instrucțiuni SQL. Declarațiile sunt executate atât timp cât condiția menționată de utilizator este ADEVĂRATĂ. De îndată ce condiția eșuează, bucla se oprește din executare.

Sintaxă

WHILE BooleanExpression StatementBlock

Acum, că voi cunoașteți comenzile DML, să trecem la următoarea noastră secțiuneîn acest articol despre SQL Tutorial, adică comenzile DCL.

Comenzi de limbaj de control al datelor (DCL)

Această secțiune a tutorialului SQL Server vă va oferi o idee despre comanda prin care sunt utilizate pentru a impune securitatea bazei de date în medii de baze de date cu mai mulți utilizatori. Comenzile sunt după cum urmează:

ACORDA

Comanda GRANT este utilizată pentru a oferi utilizatorilor acces sau privilegii pe baza de date și obiectele sale.

Sintaxă

GRANT PrivilegeName ON ObjectNAME TO RoleName [CU OPȚIUNE GRANT]

Unde,

  • PrivilegeName - Este privilegiul / dreptul / accesul acordat utilizatorului.
  • ObjectName - Numele unui obiect de bază de date precum TABLE / VIEW / STORED PROC.
  • Nume de utilizator - Numele utilizatorului căruia i se acordă accesul / drepturile / privilegiile.
  • PUBLIC - Pentru a acorda drepturi de acces tuturor utilizatorilor.
  • Nume rol - Numele unui set de privilegii grupate împreună.
  • CU OPȚIUNE DE SUBVENȚIE - Pentru a oferi utilizatorului acces pentru a acorda altor utilizatori cu drepturi.

Exemplu

- Pentru a acorda permisiunea SELECT către tabelul StudentsInfo utilizatorului1 GRANT SELECT ON StudentsInfo TO user1

REVOCA

Comanda REVOKE este utilizată pentru a retrage privilegiile de acces ale utilizatorului date prin utilizarea comenzii GRANT.

Sintaxă

REVOCARE PrivilegeName ON ObjectNAME OF PUBLIC

Exemplu

- Pentru a revoca permisiunea acordată de la user1 REVOKE SELECT ON StudentsInfo TO user1

Continuând în acest tutorial SQL Server, permiteți-ne să înțelegem cum să creați și să utilizați proceduri stocate.

Proceduri stocate

Proceduri stocate sunt unități reutilizabile care încapsulează o logică de afaceri specifică a aplicației. Deci, este un grup de instrucțiuni și logică SQL, compilate și stocate împreună pentru a efectua o sarcină specifică.

Sintaxă

CREAȚI [SAU ÎNLOCUIȚI] PROCEDURĂ nume_procedură [(nume_parametru [IN | OUT | IN OUT] tip [])] ESTE ÎNCEPUT [declarație_secțiune] secțiune_executabilă // Instrucțiune SQL utilizată în procedura stocată END GO

Exemplu

- Creați o procedură care va returna un nume de student când StudentId este dat ca parametru de intrare la procedura stocată Creați PROCEDURĂ GetStudentName (@StudentId INT, --Input parametru, @StudName VARCHAR (50) OUT - Parametru de ieșire, AS BEGIN SELECT @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END

Pași de executat:

      • Declarați @StudName ca nvarchar (50)
      • EXEC GetStudentName 01, ieșire @StudName
      • SELECTEAZĂ @StudName

Procedura de mai sus returnează numele unui anumit student,dacă le oferiți elevilor acel id ca input. În continuare, în acest tutorial SQL Server, permiteți-ne să înțelegem comenzile limbajului de control al tranzacțiilor.

Comenzi de limbaj de control al tranzacțiilor (TCL)

Această secțiune a tutorialului SQL Server vă va oferi o perspectivă asupra comenzilor care sunt utilizate pentru a gestiona tranzacțiile din baza de date.Comenzile sunt după cum urmează:

COMITEAZA

Comanda COMMIT este utilizată pentru a salva tranzacția în baza de date.

Sintaxă

COMITEAZA

REALIZARE

Comanda ROLLBACK este utilizată pentru a restabili baza de date la ultima stare de angajare.

Sintaxă

REALIZARE

NOTĂ: Când utilizați ROLLBACK cu SAVEPOINT, atunci puteți sări direct la un punct de salvare într-o tranzacție în curs. Sintaxă: ROLLBACK TO SavepointName

SAVEPOINT

Comanda SAVEPOINT este utilizată pentru a salva temporar o tranzacție. Deci, dacă doriți să reveniți la orice punct, atunci îl puteți salva ca „SAVEPOINT”.

Sintaxă

SAVEPOINT SAVEPOINTNAME

Luați în considerare tabelul de mai jos pentru a înțelege funcționarea tranzacțiilor din baza de date.

Carnet de student Numele studentului
unuRohit
2Suhana
3Ashish
4Prerna

Acum, utilizați cele de mai jos pentru a înțelege tranzacțiile din baza de date.

INSERT INTO StudentTable VALUES (5, 'Avinash') COMMIT UPDATE StudentTable SET name = 'Akash' WHERE id = '5' SAVEPOINT S1 INSERT INTO StudentTable VALUES (6, 'Sanjana') SAVEPOINT S2 INSERT INTO StudentTable VALUES (7, 'Sanjay ') SAVEPOINT S3 INSERT INTO StudentTable VALUE (8,' Veena ') SAVEPOINT S4 SELECT * DIN StudentTable

În acest articol despre tutorialul SQL Server, permiteți-ne să înțelegem cum să gestionăm excepțiile din Transact-SQL.

Manevrarea excepțiilor

Există două tipuri de excepții, adică excepțiile definite de sistem și excepțiile definite de utilizator. După cum sugerează și numele, gestionarea excepțiilor este un proces prin care un utilizator poate gestiona excepțiile generate. Pentru a gestiona excepțiile, trebuie să înțelegeți următoarele instrucțiuni de flux de control:

ARUNCA

Această clauză este utilizată pentru a ridica o excepție și transferă execuția către un bloc CATCH al unui construct TRY ... CATCH.

Sintaxă

THROW [ErrorNumber, @localvariable, State] []

Unde,

  • ErrorNumber - LAconstantă sau variabilă care reprezintă excepția.
  • Mesaj - LAvariabilă sau șir care descrie excepția.
  • Stat -O constantă sau variabilă între 0 și 255 care indică starea de asociat cu mesajul.
THROW 51000, „Înregistrarea nu există.”, 1

ÎNCEARCĂ SĂ PRINZI

Folosit pentru a implementa gestionarea excepțiilor în Transact-SQL. Un grup de declarații poate fi inclus în blocul TRY. În cazul în care apare o eroare în blocul TRY, controlul este transmis unui alt grup de instrucțiuni care sunt închise într-un bloc CATCH.

Sintaxă

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

ÎN Cu aceasta, ajungem la sfârșitul acestui articol despre Tutorial SQL Server. Sper că v-a plăcut să citiți acest articol în Tutorial SQL Server pentru începători.Eu Dacă doriți să obțineți un training structurat despre MySQL, apoi consultați care vine cu instruire live condusă de instructor și experiență în viața reală a proiectului. Această instruire vă va ajuta să înțelegeți în profunzime MySQL și vă va ajuta să obțineți stăpânire asupra subiectului. Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii din ” Tutorial SQL Server ”Și mă voi întoarce la tine.