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 |
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. |
Acest set de comenzi se ocupă cu permisiunile, drepturile și alte controale ale sistemelor de baze de date. | |
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:
- Ce este SQL Server?
- Instalați SQL Server
- Conectați-vă la SQL Server utilizând SSMS
- Accesați motorul bazei de date
- Arhitectura SQL Server
- Comentarii în SQL
- Tipuri de date SQL Server
- Cheile din baza de date
- Constrângeri în baza de date
- Operatori
- Funcții agregate
- Funcții definite de utilizator
- Interogări imbricate
- Se alătură
- Bucle
- Proceduri stocate
- 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ă |
unu | urăsc | Akriti mehra | 9955339966 | Blocul 9 al Brigăzii | Hyderabad | India |
2 | Manasa | Shourya Sharma | 9234568762 | Drumul Mayo 15 | Kolkata | India |
3 | Anay | Soumya Mishra | 9876914261 | Casa Marathalli nr. 101 | Bengaluru | India |
4 | Preeti | Rohan Sinha | 9765432234 | Queens Road 40 | Delhi | India |
5 | Shanaya | Abhinay agarwal | 9878969068 | Strada Oberoi 21 | Mumbai | India |
Î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 | numeric | Folosit pentru a stoca valori numerice și pentru a avea numere fixe de precizie și scară | - 10 ^ 38 +1 până la 10 ^ 38 - 1. |
tinyint | Folosit pentru a stoca valori întregi | 0 la 255 | |
smallint | Folosit pentru a stoca valori întregi | -2 ^ 15 (-32.768) până la 2 ^ 15-1 (32.767) | |
bigint | Folosit 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) | |
int | Folosit pentru a stoca valori întregi | -2 ^ 31 (-2.147.483.648) până la 2 ^ 31-1 (2.147.483.647) | |
pic | Stochează un tip de date întregi care prezintă o valoare de 0, 1 sau NULL | 0, 1 sau NULL | |
zecimal | Folosit 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 mici | Folosit pentru a stoca banisau valorile valutare. | - 214.748,3648 până la 214.748,3647 | |
bani | Folosit 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 | pluti | Folosit 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 |
real | Folosit 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 | Data | Folosit pentru a defini o dată în SQL Server. | Sintaxă: dată |
smalldatetime | Folosit 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 | |
datetime | Folosit 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 | |
datetimeoffset | Folosit 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 | |
timp | Folosit pentru a defini un moment al unei zile. | Sintaxă: timp | |
Corzi de caractere | char | Folosit pentru a stoca caractere de dimensiuni fixe. | char[( n )] unde valoarea n variază de la 1 la 8.000 |
varchar | Folosit 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. | |
text | Folosit 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 | nchar | Folosit pentru a stoca caractere de dimensiuni fixe. | nchar[(n)] unde valoarea n variază de la 1 la 4000 |
nvarchar | Folosit 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. | |
ntext | Folosit pentru a stoca date Unicode cu lungime variabilă | Lungimea maximă a șirului permisă - 2 ^ 30-1 (2.147.483.647) | |
Șiruri binare | binar | Folosit pentru a stoca tipuri de date binare fie cu lungime fixă | binar[( n )] unde valoarea n variază de la 1 la 8.000 |
varbinar | Folosit 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. | |
imagine | Folosit 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ând | Folosit pentru a expune numerele binare unice generate automat în cadrul unei baze de date. | - | |
ierarhid | Folosit pentru a reprezenta poziția într-o ierarhie. | - | |
identificator unic | Este un GUID de 16 octeți. | Sintaxă:identificator unic | |
sql_variant | Folosit pentru a stoca valorile diferitelor tipuri de date acceptate de SQL Server | Sintaxă: sql_variant | |
xml | Folosit 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. | - | |
masa | Folosit 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 |
unu | urăsc | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Tabelul țintă:
Carnet de student | Numele studentului | Mărci |
unu | urăsc | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
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 |
unu | urăsc | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
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ă:
- Operatori aritmetici
- Operatori de misiune
- Operatori Bitwise
- Operatori de comparație
- Operatori compuși
- Operatori logici
- Operatori de rezoluție a domeniului de aplicare
- Set Operatori
- Operatori de concatenare șir
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]) |
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 |
10 | 10 | Matematica |
2 | unsprezece | Fizică |
3 | 12 | Chimie |
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 |
unu | Rohit |
2 | Suhana |
3 | Ashish |
4 | Prerna |
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.