SQL Server Tutorial - Alt hvad du behøver for at mestre Transact-SQL



Denne artikel om SQL Server-tutorial er en omfattende guide til de forskellige koncepter, syntaks og kommandoer, der bruges i MS SQL Server.

På dagens marked, hvor der genereres en enorm mængde data hver dag, er det meget vigtigt at forstå, hvordan man håndterer data. SQL Server er et integreret miljø udviklet af Microsoft til at håndtere data.I denne artikel om SQL Server-selvstudiet lærer du alle de operationer og kommandoer, du har brug for for at udforske dine databaser.

For din bedre forståelse har jeg opdelt bloggen i følgende kategorier:





Kommandoer Beskrivelse

Data Definition Language kommandoer (DDL)

Dette sæt kommandoer bruges til at definere en database.

Data Manipulation Language Commands (DML)



Manipulationskommandoer bruges til at manipulere de data, der findes i databasen.

Datakontrol sprogkommandoer (DCL)

Dette sæt kommandoer beskæftiger sig med tilladelser, rettigheder og andre kontroller i databasesystemerne.

Transaktionskontrol sprogkommandoer (TCL)

Disse kommandoer er vant til håndtere transaktionen i databasen.

Bortset fra kommandoerne er følgende emner dækket i denne artikel:



MS SQL Server - SQL Server Tutorial - Edureka

  1. Hvad er SQL Server?
  2. Installer SQL Server
  3. Opret forbindelse til SQL Server ved hjælp af SSMS
  4. Adgang til databasemotor
  5. SQL Server-arkitektur
  6. Kommentarer i SQL
  7. SQL Server-datatyper
  8. Nøgler i databasen
  9. Begrænsninger i databasen
  10. Operatører
  11. Samlede funktioner
  12. Brugerdefinerede funktioner
  13. Indlejrede forespørgsler
  14. Tilslutter sig
  15. Sløjfer
  16. Lagrede procedurer
  17. Undtagelse Håndtering

***BEMÆRK*** I denne SQL Server-selvstudie vil jeg overveje nedenstående database somet eksempel for at vise dig, hvordan du lærer og skriverkommandoer.

Studiekort Elevnavn Forældrenavn Telefonnummer Adresse By Land
enjeg haderAkriti mehra9955339966Brigade Road Block 9HyderabadIndien
2ManasaShourya Sharma9234568762Mayo Road 15KolkataIndien
3AnaySoumya Mishra9876914261Marathalli House No 101BengaluruIndien
4PreetiRohan Sinha9765432234Queens Road 40DelhiIndien
5ShanayaAbhinay agarwal9878969068Oberoi Street 21MumbaiIndien

Før vi begynder at forstå de forskellige kommandoer, der bruges i SQL Server, så lad os forstå, hvad der er SQL Server, dets arkitektur og hvordan man installerer det.

Hvad er SQL Server?

Microsoft SQL Server er en relation database management system . Det understøtter Struktureret forespørgselssprog og kommer med sin egen implementering af SQL-sproget, som er Transact-SQL (T-SQL) . Det har et integreret miljø til at håndtere SQL-databaser, hvilket er .

Nøglekomponenterne i SQL Server er som følger:

  • Databasemotor: Denne komponent håndterer opbevaring, hurtig transaktionsbehandling og sikring af data.
  • SQL Server - Denne tjeneste bruges til at starte, stoppe, pause og fortsætte forekomsten af ​​MS SQL Server.
  • SQL Server Agent - Server Agent-tjenesten spiller rollen som opgaveplanlægning og udløses af enhver begivenhed eller i henhold til kravet.
  • SQL Server-browser - Denne tjeneste bruges til at forbinde den indgående anmodning til den ønskede SQL Server-forekomst.
  • SQL Server fuldtekstsøgning - Bruges til at lade brugeren køre fuldtekstforespørgsler mod karakterdataene i SQL-tabeller.
  • SQL Server VSS Writer - Tillader sikkerhedskopiering og gendannelse af datafiler, når SQL Server ikke kører.
  • SQL Server Analysis Services (SSAS) - Denne service bruges til at levere dataanalyse, data mining og kapaciteter. SQL Server er også integreret med og R til avanceret dataanalyse.
  • SQL Server Reporting Services (SSRS) - Som navnet antyder, bruges denne service til at levere funktioner og beslutningsfunktioner inklusive integration med .
  • SQL Server Integration Services (SSIS) - Denne tjeneste bruges til at udføre ETL-operationer for forskellige datatyper fra flere datakilder.

Nu hvor du ved, hvad der er MS SQL Server, lad os gå videre i denne artikel om SQL Server-selvstudiet og forstå, hvordan du installerer og opsætter SQL Server.

Installer SQL Server

Følg nedenstående trin for at installere SQL Server:

Trin 1: Gå til den officielle side af Microsoft SQL Server download , hvor du finder muligheden for at installere SQL Server enten lokalt eller i skyen.

Trin 2: Rul nu ned, og du vil se to muligheder: Udvikler og Enterprise-udgave . Her vil jeg downloade Udviklerudgave . For at downloade skal du bare klikke på Hent nu mulighed. Se nedenfor.

Trin 3: Når applikationen er downloadet, skal du dobbeltklikke på filen, og du får vist følgende vindue.

Trin 4: Nu kan du vælge en af ​​de 3 muligheder for at opsætte SQL Server. Her skal jeg bare vælge Grundlæggende mulighed . Ved valg af installationstypevalg, er det næste skærmbillede at acceptere licensaftalen. For at gøre det skal du klikke på Acceptere i det følgende vindue.

Trin 5: Derefter skal du specificere SQL Server-installationsplaceringen. Derefter skal du klikke på Installer.

Når du klikker på Installere , vil du se, at de nødvendige pakker downloades. Efter installationen er nu vist følgende skærmbillede:

Her kan du enten gå fremad og klikke på Opret forbindelse nu, eller du kan tilpasse installationen. For din bedre forståelse vil jeg gå frem og vælge Tilpas.

Trin 6: Når du klikker på Tilpas i ovenstående vindue vil du se følgende guide åbne op. i det følgende vindue skal du klikke på Næste.

Trin 7: Når reglerne installeres automatisk, skal du klikke på Næste . Se nedenfor.

Trin 8: Dernæst skal du vælge installationstype. Så vælg Udfør en ny installation af SQL Server 2017 og klik derefter på Næste.

Trin 9: Vælg den udgave i guiden, der åbnes: Udvikler. Klik derefter på Næste . Se nedenfor.

Trin 10: Nu skal du læse og acceptere licensaftalerne ved at tjekke i radioknappen og derefter klikke på Næste . Se nedenfor.

Trin 11: I guiden nedenfor kan du vælge de funktioner, du vil installere. Du kan også vælge forekomstens rodmappe og derefter klikke på Næste . Her vælger jeg Databasemotortjenester .

Trin 12: Derefter skal du navngive forekomsten, og automatisk oprettes forekomsten ID. Her vil jeg navngive forekomsten “edureka”. Klik derefter på Næste.

Trin 13: I guiden Serverkonfiguration skal du klikke på Næste .

Trin 14: Nu skal du aktivere godkendelsestilstande. Her vil du se Windows-godkendelsestilstand og Blandet tilstand . Jeg vælger blandet tilstand. Nævn derefter adgangskoden, og så tilføjer jeg den aktuelle bruger som Administrator ved at vælge Tilføj nuværende bruger mulighed.

Trin 15: Vælg derefter konfigurationsfilstien, og klik på Installere .

Når installationen er afsluttet, vises følgende skærmbillede:

Opret forbindelse til SQL Server ved hjælp af SSMS

Når SQL Server er installeret, er dit næste trin at forbinde SQL Server til SQL Server Management Studio. For at gøre det skal du følge nedenstående trin:

Trin 1: Gå tilbage til det følgende vindue, og klik på installer SSMS mulighed.

Trin 2: Når du har klikket på denne mulighed, omdirigeres du til næste side , hvor du skal vælge Download SSMS.

Trin 3: Når installationen er downloadet, skal du dobbeltklikke på applikationen, og du vil se følgende guide åbne.

Trin 4: Klik på Installationsmulighed i ovenstående vindue, og du vil se, at installationen begynder.

Trin 5: Når installationen er afsluttet, får du en dialogboks som vist nedenfor.

Når du har installeret SSMS, er det næste trin at få adgang til Databasemotor .

Adgang til databasemotor

Når du åbner SQL Server Management Studio fra startmenu , åbnes et vindue svarende til det vindue, der er vist på billedet nedenfor.

Her nævnes servernavnet, godkendelsestilstand og klik på Opret forbindelse.

Når du har klikket på Opret forbindelse , vil du se følgende skærmbillede.

Nå folkens, det er sådan, du installerer og opsætter SQL Server. Lad os nu forstå de forskellige komponenter i arkitekturen i SQL Server, når vi går videre i denne SQL Server-tutorial.

SQL Server-arkitektur

SQL Server-arkitekturen er som følger:

  • Server & minus Dette er hvor SQL-tjenesterne er installeret, og databasen ligger
  • Relationel motor & minus Indeholder forespørgselsparser, optimizer og eksekutoren, og udførelsen sker i den relationelle motor.
  • Command Parser & minus Kontrollerer forespørgslens syntaks og konverterer forespørgslen til maskinsprog.
  • Optimizer & minus Forbereder udførelsesplanen som output ved at tage statistik, forespørgsel og Algebrator-træet som input.
  • Forespørgselseksekutør & minus Dette er stedet, hvor forespørgsler bliver udført trin for trin
  • Opbevaringsmotor & minus Dette er ansvarlig for lagring og hentning af data på lagersystemet, manipulation af data, styring og låsning af transaktioner.

Nu hvor du ved, hvordan du konfigurerer og installerer SQL Server og dens forskellige komponenter, så lad os komme i gang med at skrive Server. Men før det, lad mig dække, hvordan jeg skriver kommentarer i SQL Server.

Kommentarer i SQL Server

Der er to måder, hvorpå du kan kommentere i SQL, dvs. enten bruge s ingle-line kommentarer eller den m ulti-line kommentarer .

Kommentarer til en linje

Kommentarer fra en linje starter med to bindestreger (-). Derfor bliver teksten nævnt efter (-) indtil slutningen af ​​en enkelt linje ignoreret af kompilatoren.

Eksempel:

- Eksempel på enkeltlinjekommentarer

Flere linjekommentarer

Multilinjekommentarer starter med / * og slutter med * / . Derfor er teksten nævnt mellem / * og * / vil blive ignoreret af compileren.

Eksempel:

/ * Eksempel på kommentarer med flere linjer * /

Nu i denne artikel om SQL Server-tutorial, lad os starte med det første sæt kommandoer, dvs. kommandoer til Data Definition Language.

Datadefinition Sprogkommandoer

Dette afsnit af artiklen giver dig en idé om kommandoerne ved hjælp af hvilken du kan definere din database. Kommandoerne er som følger:

SKAB

Denne erklæring bruges til at oprette en tabel, database eller visning.

Erklæringen om 'CREATE DATABASE'

Denne erklæring bruges til at oprette en database.

Syntaks

OPRET DATABASE Databasenavn

Eksempel

OPRET DATABASE Studerende

Det ' Opret TABEL ' Udmelding

Som navnet antyder, bruges denne erklæring til at oprette en tabel.

Syntaks

OPRET TABEL Tabelnavn (Kolonne1-datatype, Kolonne2-datatype, Kolonne3-datatype, .... KolonneN-datatype)

Eksempel

Opret TABEL StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))

DRÅBE

Denne erklæring bruges til at droppe en eksisterende tabel, database eller visning.

Erklæringen om 'DROP DATABASE'

Denne erklæring bruges til at droppe en eksisterende database. Den komplette information, der findes i databasen, går tabt, så snart du udfører nedenstående kommando.

Syntaks

DROP DATABASE DatabaseName

Eksempel

DROP-DATABASE Studerende

Erklæringen om 'DROP TABLE'

Denne erklæring bruges til at droppe en eksisterende tabel. Den komplette information, der findes i tabellen, går tabt, så snart du udfører nedenstående kommando.

Syntaks

DROP TABLE Tabelnavn

Eksempel

DROPTABEL StudentInfo

ALDER

ALTER-kommandoen bruges til at tilføje, slette eller ændre kolonner eller begrænsninger i en eksisterende tabel.

Det ' ALTER TABEL ' Udmelding

Denne erklæring bruges til at tilføje, slette, ændre kolonner i en allerede eksisterende tabel.

Erklæringen om 'ALTER TABLE' med ADD / DROP-KOLONNE

ALTER TABLE-sætningen bruges sammen med ADD / DROP Column-kommandoen til at tilføje og slette en kolonne.

Syntaks

ALTER TABEL Tabelnavn TILFØJ Søjlenavn Datatype ALTER TABEL Tabelnavn DROP KOLONNE Søjlenavn

Eksempel

--TILFØJ Kolonneblodgruppe: ALTER TABLE StudentInfo TILFØJ BloodGroup varchar (8000) - DROP Kolonneblodgruppe: ALTER TABEL Studentinfo DROP KOLONN Blodgruppe

Erklæringen om 'ALTER TABLE' med ALTER COLUMN

ALTER TABLE-sætningen kan bruges sammen med ALTER-kolonnen til at ændre datatypen for en eksisterende kolonne i en tabel.

Syntaks

ALTER TABLE TableName ALTER COLUMN ColumnName Datatype

Eksempel

--Tilføj en kolonne-DOB, og skift datatypen fra dato til datatid. ALTER TABLE StudentInfo TILFØJ DOB-dato ALTER TABLE StudentInfo ALTER COLUMN DOB datetime

TRUNCATE

Denne SQL-kommando bruges til at slette de oplysninger, der findes i tabellen, men sletter ikke selve tabellen. Så hvis du vil slette oplysningerne i tabellen og ikke slette selve tabellen, skal du bruge kommandoen TRUNCATE. Ellers skal du bruge kommandoen DROP.

Syntaks

TRUNCATE TABLE Tabelnavn

Eksempel

TRUNCATE TABLE StudentInfo

OMDØB

Denne erklæring bruges til at omdøbe en eller flere tabeller.

Syntaks

sp_rename 'OldTableName', 'NewTableName'

Eksempel

sp_rename 'StudentInfo', 'Infostudents'

Gå videre i denne artikel om SQL Server-tutorial, lad os forstå de forskellige datatyper, der understøttes af SQL Server.

SQL Server-datatyper

Datatypekategori Datatypenavn Beskrivelse Område / syntaks
Præcise tal numeriskBruges til at gemme numeriske værdier og have faste præcision og skalanumre- 10 ^ 38 +1 til 10 ^ 38-1.
lilleintBruges til at gemme heltalværdier0 til 255
smallintBruges til at gemme heltalværdier-2 ^ 15 (-32,768) til 2 ^ 15-1 (32,767)
bigintBruges til at gemme heltalværdier-2 ^ 63 (-9,223,372,036,854,775,808) til 2 ^ 63-1 (9,223,372,036,854,775,807)
intBruges til at gemme heltalværdier-2 ^ 31 (-2,147,483,648) til 2 ^ 31-1 (2,147,483,647)
bitGemmer en heltal datatype, der fortæller en værdi på 0, 1 eller NULL0, 1 eller NULL
decimalBruges til at gemme numeriske værdier og have faste præcision og skalanumre- 10 ^ 38 +1 til 10 ^ 38-1.
lille pengeBruges til at gemme monetæreeller valuta værdier.- 214.748,3648 til 214,748,3647
pengeBruges til at gemme monetæreeller valuta værdier.-922,337,203,685,477,5808 til 922,337,203,685,477,5807 (-922,337,203,685,477,58
til 922.337.203.685.477,58 for Informatica.
Omtrentlige tal flydeBruges til at gemme numeriske data med flydende punkt- 1,79 E + 308 til -2,23 E-308, 0 og 2,23 E-308 til 1,79 E + 308
ægteBruges til at gemme numeriske data med flydende punkt- 3.40E + 38 til -1.18E - 38, 0 og 1.18E - 38 til 3.40E + 38
Dato og tid datoBruges til at definere en dato i SQL Server.Syntaks: dato
smalldatetimeBruges til at definere en dato, der kombineres med et tidspunkt på dagen, hvor tiden er baseret på en 24-timers dag, hvor sekunder altid er nul (: 00) og uden brøkdele af sekunder.Syntaks: smalldatetime
dato tidBruges til at definere en dato, der kombineres med et tidspunkt på dagen med brøkdele af sekunder baseret på et 24-timers ur.Syntaks: datetime
datetime2 datetime2 er som en udvidelse af det eksisterende dato tid type, der har en større standard brøkpræcision, det største datointerval.Syntaks: datetime2
datetimeoffsetBruges til at definere en dato, der kombineres med et tidspunkt på en dag, der er opmærksom på tidszonen. Det er baseret på et 24-timers ur.Syntaks: datetimeoffset
tidBruges til at definere et tidspunkt på en dag.Syntaks: tid
Karakterstrenge charBruges til at gemme tegn i fast størrelse.char[( n )] hvor n-værdien varierer fra 1 - 8.000
varcharBruges til at gemme tegn med variabel længde.varchar [( n | maks)] hvor n-værdien varierer fra 1-8000, og den maksimale tilladte lagerplads er 2 GB.
tekstBruges til at gemme vikke-Unicode-data med tilvejebragt længdeMaksimal tilladt strenglængde - 2 ^ 31-1 (2.147.483.647)
Unicode tegnstrenge ncharBruges til at gemme tegn i fast størrelse.nchar[(n)] hvor n-værdien varierer fra 1-4000
nvarcharBruges til at gemme tegn med variabel længde.varchar [( n | maks)] hvor n-værdien varierer fra 1-4000, og den maksimale tilladte lagerplads er 2 GB.
ntekstBruges til at gemme Unicode-data med variabel længdeMaksimal tilladt strenglængde - 2 ^ 30-1 (2.147.483.647)
Binære strenge binærBruges til at gemme binære datatyper med enten fast længdebinær[( n )] hvor n-værdien varierer fra 1 - 8.000
varbinærBruges til at gemme binære datatyper med enten fast længdevarbinær[( n )] hvor n-værdien varierer fra 1-8000, og den maksimale tilladte lagerplads er 2 ^ 31-1 byte.
billedeBruges til at gemme binære data med variabel længde0 - 2 ^ 31-1 (2.147.483.647) bytes
Andre datatyper Det er en datatype til lagret procedure eller variabler OUTPUT-parametre, der indeholder en henvisning til en markør.-
rowversionBruges til at eksponere automatisk genererede, unikke binære tal i en database.-
hierarkiidBruges til at repræsentere position i et hierarki.-
unik identifikatorEr en 16-byte GUID.Syntaks:unik identifikator
sql_variantBruges til at gemme værdierne for forskellige SQL Server-understøttede datatyperSyntaks: sql_variant
xmlBruges til at gemme XML-datatype.

xml ([CONTENT | DOCUMENT] xml_schemacollection)

Rumlige geometri typerBruges til at repræsentere data i et euklidisk (fladt) koordinatsystem.-
Geografiske typer af rumBruges til at gemme ellipsoide (rundjordiske) data, såsom GPS-bredde- og længdegradskoordinater.-
bordBruges til at gemme et resultatsæt til behandling på et senere tidspunkt-

Lad os derefter i denne artikel forstå de forskellige typer nøgler og begrænsninger i databasen.

Forskellige typer nøgler i databasen

Følgende er de forskellige typer nøgler, der bruges i databasen:

  • Kandidatnøgle - Kandidatnøgle er et sæt attributter, der entydigt kan identificere en tabel. En tabel kan have mere end en enkelt kandidatnøgle, og ud af de valgte kandidatnøgler vælges en nøgle som den primære nøgle.
  • Super nøgle - Sættet med attributter kan entydigt identificere en tuple. Så kandidatnøgler, unikke nøgler og primære nøgler er supernøgler, men omvendt er ikke sandt.
  • Primærnøgle - Primære nøgler bruges til entydigt at identificere hver tuple.
  • Alternativ nøgle - Alternative nøgler er de kandidatnøgler, der ikke er valgt som primærnøgle.
  • Unik nøgle- Unikke nøgler svarer til den primære nøgle, men tillader en enkelt NULL-værdi i kolonnen.
  • Fremmed nøgle - En attribut, der kun kan tage værdierne til stede som værdierne for en anden attribut, er fremmed nøgle til den attribut, som den henviser til.
  • Composite Key- Kompositnøgler er en kombination af to eller flere kolonner, der identificerer hver tuple entydigt.

Begrænsninger, der bruges i databasen

Begrænsninger bruges i en database til at specificere reglerne for data gemt i en tabel. De forskellige typer begrænsninger i SQL er som følgende:

IKKE NULL

IKKE NULL-begrænsningen sikrer, at en kolonne ikke kan have en NULL-værdi.

Eksempel

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 på ALTER TABLE ALTER TABLE StudentsInfo ALTER COLUMN PhoneNummer int IKKE NULL

ENESTÅENDE

Denne begrænsning sikrer, at alle værdierne i en kolonne er unikke.

forskel mellem udvidelser og redskaber i java

Eksempel

--UNIQUE on 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)) - UNIK på flere kolonner 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) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) - UNIQUE på ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) - At slippe en UNIK begrænsning ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info

KONTROLLERE

CHECK-begrænsningen sikrer, at alle værdierne i en kolonne opfylder en bestemt betingelse.

Eksempel

--CHECK Begrænsning på 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 (Land = 'Indien')) --KONTROL Begrænsning på flere kolonner Opret TABEL 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 Begrænsning på ALTER TABLE ALTER TABLE StudentsInfo ADD CHECK (Country = 'India') - At give en navn til CHECK-begrænsning ALTER-TABEL StudentsInfo TILFØJ KONSTRAINT CheckConstraintName CHECK (Land = 'Indien') - For at droppe en CHECK-begrænsning ALTER-TABEL StudentsInfo DROP CONSTRAINT CheckConstraintName

STANDARD

DEFAULT-begrænsningen består af et sæt standardværdier for en kolonne, når der ikke er angivet nogen værdi.

Eksempel

--DEFAULT Begrænsning på 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 'Indien') - DEFAULT Begrænsning på ALTER TABLE ALTER TABLE StudentsInfo ADD CONSTRAINT defau_Country DEFAULT 'India' FOR Land - For at slette standardbegrænsningen ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country

INDEKS

Det INDEX-begrænsning bruges til at oprette indekser i tabellen, hvorigennem du kan oprette og hente data fra databasen meget hurtigt.

Syntaks

--Opret et indeks, hvor duplikatværdier er tilladt CREATE INDEX IndexName ON TableName (Column1, Column2, ... ColumnN) - Oprette et index, hvor duplikatværdier ikke er tilladt CREATE UNIQUE INDEX IndexName ON TableName (Column1, Column2, ... KolonneN)

Eksempel

CREATE INDEX idex_StudentName ON StudentsInfo (StudentName) - Sådan slettes et indeks i en tabel DROP INDEX StudentsInfo.idex_StudentName

Gå videre i denne artikel om SQL Server-tutorial, lad os nu forstå de forskellige kommandoer for Data Manipulation Language, der bruges i Microsoft SQL Server.

Data Manipulation Language-kommandoer

Dette afsnit af artiklen dækker alle de kommandoer, hvorigennem du kan manipulere databasen. Kommandoerne er som følger:

Bortset fra disse kommandoer er der også andre manipulerende operatorer / funktioner såsom:

BRUG

Denne erklæring bruges til at vælge databasen for at begynde at udføre forskellige operationer på den.

Syntaks

BRUG DatabaseName

Eksempel

BRUG studerende

INDSÆT I

Det INSERT INTO statement bruges til at indsætte nye poster i en eksisterende tabel.

Syntaks

INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (value1, value2, value3, ...) - Hvis du ikke vil nævne kolonnenavnene, skal du bruge nedenstående syntaks INSERT INTO TableName VALUES (Værdi1, Værdi2, Værdi3, ...)

Eksempel

INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) VALUES ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India ') INDSÆT I StudentsInfo-VÆRDIER (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' Indien ')

OPDATER

UPDATE-sætningen bruges til at ændre eller opdatere de poster, der allerede findes i tabellen.

Syntaks

UPDATE Tabelnavn SÆT Kolonne1 = Værdi1, Kolonne2 = Værdi2, ... HVOR tilstand

Eksempel

OPDATER StudentsInfo SET StudentName = 'Aahana', City = 'Ahmedabad' HVOR StudentID = 1

SLET

DELETE-sætningen bruges til at slette de eksisterende poster i en tabel.

Syntaks

SLET FRA TableName WHERE Tilstand

Eksempel

SLET FRA StudentsInfo WHERE StudentName = 'Aahana'

MERGE-sætningen bruges til at udføre INSERT-, UPDATE- og DELETE-operationerne på en bestemt tabel, hvor kildetabellen er angivet. Se nedenfor.

Syntaks

FUSION TagretTableName BRUGER SourceTableName ON MergeCondition NÅR DET MATCHES SÅDAN Update_Statement NÅR IKKE MATCHED SÅDAN Insert_Statement NÅR IKKE MATCHES VED KILDE DAN SLET

Eksempel

For at forstå MERGE-sætningen skal du overveje følgende tabeller som kildetabellen og måltabellen.

Kildetabel:

Studiekort Elevnavn Mærker
enjeg hader87
2Manasa92
4Anay74

Måltabel:

Studiekort Elevnavn Mærker
enjeg hader87
2Manasa67
3Saurabh55
MERGE SampleTargetTable TARGET USING SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) When MATCHED AND TARGET.StudentName SOURCE.StudentName OR TARGET.Marks SOURCE.Marks THEN UPDATE SET TARGET.StudentName = SOUR. NÅR IKKE MATCHES VED MÅL, SÆT DENNE (StudentID, StudentName, Marks) VÆRDIER (KILDE.StudentID, KILDE.Studentnavn, KILDE.Mærker) NÅR IKKE MATCHES MED KILDE, SLET SÅ

Produktion

Studiekort Elevnavn Mærker
enjeg hader87
2Manasa92
4Anay74

VÆLG

Det VÆLG sætning bruges til at vælge data fra en database, tabel eller visning. De returnerede data er gemt i en resultattabel, kaldet resultatsæt .

Syntaks

SELECT Column1, Column2, ... ColumN FROM TableName - (*) bruges til at vælge alle fra tabellen SELECT * FROM table_name - For at vælge antallet af poster, der skal returneres, skal du bruge: VÆLG TOP 3 * FRA TableName

Eksempel

- For at vælge få kolonner VÆLG StudentID, Elevnavn FRA StudentsInfo - (*) bruges til at vælge alle fra tabellen VÆLG * FRA StudentsInfo - For at vælge antallet af poster, der skal returneres, skal du bruge: VÆLG TOP 3 * FRA StudentsInfo

Vi kan også bruge følgende nøgleord med SELECT-sætningen:

DISTINCT

DISTINCT-nøgleordet bruges sammen med SELECT-sætningen til kun at returnere forskellige værdier.

Syntaks

VÆLG DISTINCT Kolonne1, Kolonne2, ... KolonneN FRA tabelnavn

Eksempel

VÆLG DISTINCT Telefonnummer FRA StudentsInfo

BESTIL BY

Denne erklæring bruges til at sortere de krævede resultater enten i stigende eller faldende rækkefølge. Som standard gemmes resultaterne i stigende rækkefølge. Alligevel, hvis du ønsker at få resultaterne i faldende rækkefølge, skal du bruge DESC nøgleord.

Syntaks

VÆLG Kolonne1, Kolonne2, ... KolonneN FRA Tabelnavn BESTIL EFTER Kolonne1, Kolonne2, ... ASC | DESC

Eksempel

- Vælg alle studerende fra tabellen 'StudentsInfo' sorteret efter forældrenavn: VÆLG * FRA StudentsInfo ORDER BY ParentName - Vælg alle studerende fra 'StudentsInfo' -tabellen sorteret efter forældrenavn i faldende rækkefølge: VÆLG * FRA StudentsInfo ORDER Efter forældrenavn DESC Vælg alle studerende fra tabellen 'StudentsInfo' sorteret efter forældrenavn og studentnavn: VÆLG * FRA StudentsInfo ORDER BY ParentName, StudentName / * Vælg alle studerende fra tabellen 'StudentsInfo' sorteret efter forældrenavn i faldende rækkefølge og Elevnavn i stigende rækkefølge: * / VÆLG * FRA StudentsInFO ORDER BY ParentName ASC, StudentName DESC

GROUP BY

Denne erklæring bruges sammen med samlede funktioner for at gruppere resultatsættet efter en eller flere kolonner.

Syntaks

VÆLG Kolonne1, Kolonne2, ..., KolonneN FRA Tabelnavn HVOR BETINGELSESGRUPPE EFTER SOLENAVN (ER) BESTIL EFTER Søjlenavn (er)

Eksempel

- For at angive antallet af studerende fra hver by. VÆLG TÆLL (StudentID), by FRA StudentsInfo GROUP BY City

GRUPPERINGSSÆT

GRUPPERINGSSÆT blev introduceret i SQL Server 2008, der blev brugt til at generere et resultatsæt, der kan genereres af en UNION ALLE af de mange enkle GROUP BY-klausuler.

Syntaks

VÆLG søjlenavne (r) FRA tabelnavnGRUPPE EFTER GRUPPERINGSSÆT (søjlenavn (er))

Eksempel

VÆLG StudentID, StudentName, COUNT (City) fra StudentsInfo Group BY GROUPING SETS ((StudentID, StudentName, City), (StudentID), (StudentName), (City))

AT HAVE

Denne klausul bruges i scenariet, hvor HVOR søgeord kan ikke bruges.

Syntaks

VÆLG søjlenavn (er) FRA tabelnavn HVOR tilstandsgruppe efter søjlenavn (ER), der har tilstandsrækkefølge efter søjlenavn (er)

Eksempel

VÆLG TÆLL (StudentID), by FRA StudentsInfo GRUPPE EFTER BY MED TÆLLING (StudentID)> 2 BESTIL EFTER COUNT (StudentID) DESC

IND I

Nøgleordet INTO kan bruges sammen med VÆLG sætning at kopiere data fra en tabel til en anden. Du kan forstå disse tabeller som midlertidige tabeller. De midlertidige tabeller bruges generelt til at udføre manipulationer af data, der findes i tabellen uden at forstyrre den oprindelige tabel.

Syntaks

VÆLG * IND I NewTable [IN ExternalDB] FRA OldTable WHERE Tilstand

Eksempel

- For at oprette en sikkerhedskopi af tabellen 'StudentsInfo' VÆLG * INTO StudentsBackup FRA StudentsInfo - For at vælge kun få kolonner fra StudentsInfo VÆLG StudentName, Telefonnummer INTO StudentsDetails FRA StudentsInfo VÆLG * I PuneStudents FRA StudentsInfo WHERE City = 'Pune'

KUB

CUBE er en udvidelse af GROUP BY-klausul . Det giver dig mulighed for at generere undertotaler for alle kombinationerne af grupperingskolonnerne, der er specificeret i GROUP BY-klausulen.

Syntaks

VÆLG søjle (r) FRA tabelnavngruppe efter kube (søjlenavn1, søjlenavn2, ....., søjlenavnN)

Eksempel

VÆLG StudentID, TÆLL (by) FRA StudentsInfo GROUP BY CUBE (StudentID) ORDER BY StudentID

RUL OP

ROLLUP er en udvidelse af GROUP BY-klausulen. Dette giver dig mulighed for at medtage de ekstra rækker, der repræsenterer subtotaler. Disse kaldes superaggregerede rækker sammen med den samlede samlede række.

Syntaks

VÆLG søjlenavn (er) FRA tabelnavnGRUPPE VED ROLLUP (Søjlenavn1, Søjlenavn2, ....., søjlenavnN)

Eksempel

VÆLG StudentID, TÆLLING (by) FRA StudentsInfo GRUPPE VED ROLLUP (StudentID)

OFFSET

OFFSET-klausulen bruges sammen med SELECT og BESTIL EFTER udsagn for at hente en række poster. Den skal bruges sammen med ORDER BY-klausulen, da den ikke kan bruges alene. Også det interval, som du nævner, skal være lig med eller større end 0. Hvis du nævner en negativ værdi, viser den en fejl.

Syntaks

VÆLG søjlenavne) FRA tabelnavn HVOR tilstand Rækkefølge efter søjlenavn OFFSET RækkerToSkip RÆDER

Eksempel

Overvej en ny kolonne Mærker i StudentsInfo bord.

VÆLG Elevnavn, forældrenavn FRA StudentsInfo ORDER BY Marks OFFSET 1 ROWS

HENT

FETCH-klausulen bruges til at returnere et sæt med et antal rækker. Det skal bruges sammen med OFFSET-klausulen.

Syntaks

VÆLG søjlenavne) FRA tabelnavn HVOR tilstand Rækkefølge efter søjlenavn OFFSET RækkerToSkip FETCH NÆSTE AntalOFRows KUN RÆKER

Eksempel

VÆLG Elevnavn, forældrenavn FRA StudentsInfo BESTIL MED Mærker OFFSET 1 RÆK FETCH NÆSTE 1 RÆK KUN

TOP

TOP-klausulen bruges sammen med SELECT-sætningen til at nævne antallet af poster, der skal returneres.

Syntaks

VÆLG TOP-nummer Kolonnenavn FRA tabelnavn HVOR tilstand

Eksempel

VÆLG TOP 3 * FRA StudentsInfo

OMDREJNINGSPUNKT

PIVOT bruges til at rotere rækkerne til kolonneværdier og kører aggregeringer, når det er nødvendigt på de resterende kolonneværdier.

Syntaks

VÆLG Ikke-drejet kolonnenavn, [Første drejede kolonnenavn] AS kolonnenavn, [Anden drejet kolonnenavn] AS kolonnenavn, [Tredje drejet kolonnenavn] AS kolonnenavn, ... [Sidste drejet kolonnenavn] AS kolonnenavn FRA (VÆLG forespørgsel, der producerer dataene) AS [alias for den første forespørgsel] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName of the column, hvis værdier bliver kolonneoverskrifter] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last drejet kolonne])) AS [alias for pivottabellen]

Eksempel

For at få et detaljeret eksempel kan du henvise til min artikel om SQL PIVOT og UNPIVOT . Næste i denne SQL Server-selvstudie, lad os se på de forskellige operatører, der understøttes af Microsoft SQL Server.

Operatører

Det forskellige typer operatører understøttet af SQL Server er som følger:

Lad os diskutere hver enkelt af dem en efter en.

Aritmetiske operatører

Operatør Betyder Syntaks

+

Tilføjelse

udtryk + udtryk

-

Subtraktion

udtryk - udtryk

*

Multiplikation

udtryk * udtryk

/

Divison

udtryk / udtryk

%

Modulær

udtryk% udtryk

Opgaveoperatører

Operatør Betyder Syntaks

=

Tildel en værdi til en variabel

variabel = 'værdi'

Bitvise operatører

Operatør Betyder Syntaks

& (Bitvis OG)

Bruges til at udføre en bitvis logisk AND-operation mellem to heltal værdier.

udtryk & udtryk

& = (Bitvis og tildeling)

Bruges til at udføre en bitvis logisk AND-operation mellem to heltal værdier. Det indstiller også en værdi til operationens output.

udtryk & = udtryk

| (Bitvis ELLER)

Bruges til at udføre en bitvis logisk ELLER-operation mellem to heltalværdier som oversat til binære udtryk inden for Transact-SQL-sætninger.

udtryk | udtryk

| = (Bitvis ELLER tildeling)

Bruges til at udføre en bitvis logisk ELLER-operation mellem to heltalværdier som oversat til binære udtryk inden for Transact-SQL-sætninger. Det indstiller også en værdi til operationens output.

udtryk | = udtryk

^ (Bitvis eksklusiv ELLER)

Bruges til at udføre en bitvis eksklusiv ELLER-operation mellem to heltalværdier.

udtryk ^ udtryk

^ = (Bitvis eksklusiv ELLER opgave)

Bruges til at udføre en bitvis eksklusiv ELLER-operation mellem to heltalværdier. Det indstiller også en værdi til operationens output.

udtryk ^ = udtryk

~ (Bitvis IKKE)

Bruges til at udføre en bitvis logisk NOT-operation på en heltalsværdi.

~ udtryk

Sammenligningsoperatører

Operatør Betyder Syntaks

=

Svarende til

udtryk = udtryk

>

Bedre end

udtryk> udtryk

<

Mindre end

udtryk

> =

Større end eller lig med

udtryk> = udtryk

<=

Mindre end eller lig med

udtryk<= expression

Ikke lig med

udtryk udtryk

! =

Ikke lig med

udtryk! = udtryk

!<

Ikke mindre end

udtryk!

!>

Ikke større end

udtryk!> udtryk

Sammensatte operatører

Operatør Betyder Syntaks

+ =

Bruges til at tilføje værdi til den oprindelige værdi og indstille den oprindelige værdi til resultatet.

udtryk + = udtryk

- =

Bruges til at trække en værdi fra den oprindelige værdi og indstille den oprindelige værdi til resultatet.

udtryk - = udtryk

* =

Bruges til at gange værdien til den oprindelige værdi og indstille den oprindelige værdi til resultatet.

udtryk * = udtryk

/ =

Bruges til at opdele en værdi fra den oprindelige værdi og indstille den oprindelige værdi til resultatet.

udtryk / = udtryk

% =

Bruges til at opdele en værdi fra den oprindelige værdi og indstille den oprindelige værdi til resultatet.

udtryk% = udtryk

& =

Bruges til at udføre en bitvis OG-handling og indstille den oprindelige værdi til resultatet.

udtryk & = udtryk

^ =

Bruges til at udføre en bitvis eksklusiv ELLER-handling og indstille den oprindelige værdi til resultatet.

udtryk ^ = udtryk

| =

Bruges til at udføre en bitvis ELLER operation og indstille den oprindelige værdi til resultatet.

udtryk | = udtryk

Logiske operatører

Operatør Betyder Syntaks

ALLE

Returnerer SAND, hvis alle sammenligningssæt er SAND.

scalar_expression! = ALL (underforespørgsel)

OG

Returnerer SAND, hvis begge udtryk er SAND.

boolsk_ekspression OG boolsk_ekspression

NOGEN

Returnerer SAND, hvis nogen af ​​et sæt sammenligninger er SAND.

scalar_expression! = {ANY} (underforespørgsel)

MELLEM

Returnerer SAND, hvis en operand er inden for et interval.

prøveekspression [IKKE] MELLEM begineekspression OG endeekspression

Eksisterer

Returnerer SAND, hvis en underforespørgsel indeholder nogen rækker.

EXISTS (underforespørgsel)

I

Returnerer SAND, hvis en operand er lig med en af ​​en liste med udtryk.

test_ekspression [IKKE] IN (underforespørgsel | udtryk [,… n])

SYNES GODT OM

Returnerer SAND, hvis en operand matcher et mønster.

match_expression [NOT] LIKE mønster [ESCAPE escape_character]

IKKE

Vender værdien for enhver boolsk operatør.

[IKKE] boolsk_ekspression

ELLER

Returnerer SAND, hvis et af det boolske udtryk er SAND.

boolsk_ekspression ELLER boolsk_ekspression

NOGLE

Returnerer SAND, hvis nogle af et sæt sammenligninger er SAND.

skalarekspression<= { SOME} ( subquery )

Omfangsopløsningsoperatører

Operatør Betyder Eksempel

::

Giver adgang til statiske medlemmer af en sammensat datatype. Sammensatte datatyper er de datatyper, der indeholder flere metoder og enkle datatyper. Sammensatte datatyper Disse inkluderer de indbyggede CLR-typer og brugerdefinerede SQLCLR brugerdefinerede typer (UDT'er).

ERKLÆR @hid hierarchyid VÆLG @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString ()

Indstil operatører

Der er hovedsageligt tre sæt operationer:UNION,KRYDSE,MINUS. Du kan henvise til billedet nedenfor for at forstå de indstillede operationer i SQL. Se nedenstående billede:

Operatør Betyder Syntaks

UNION

UNION-operatøren bruges til at kombinere resultatsættet med to eller flere SELECT-sætninger.

VÆLG kolonnenavn (r) FRA tabel 1
UNION
VÆLG kolonnenavn (r) FRA tabel2

KRYDSE

INTERSECT-klausulen bruges til at kombinere toVÆLGudsagn og returnere skæringspunktet mellem datasættene for begge SELECT-sætningerne.

VÆLG Kolonne1, Kolonne2….
FRA tabelnavn
HVOR tilstand
KRYDSE
VÆLG Kolonne1, Kolonne2….
FRA tabelnavn
HVOR tilstand

UNDTAGEN

EXCEPT-operatøren returnerer de tupler, der returneres af den første SELECT-operation, og ikke returneres af den anden SELECT-operation.

VÆLG kolonnenavn
FRA tabelnavn
UNDTAGEN
VÆLG kolonnenavn
FRA tabelnavn

Stringoperatører

Operatør Betyder Syntaks / eksempel

+ (Streng sammenkædning)

Sammenkædes to eller flere binære strenge, tegnstrenge, kolonner eller en kombination af strenge og kolonnenavne til et enkelt udtryk

udtryk + udtryk

+ = (Streng sammenkædning)

Bruges til at sammenkæde to strenge og indstille strengen til resultatet af operationen.

udtryk + = udtryk

% (Jokertegn, der matcher)

Bruges til at matche enhver streng på nul eller flere tegn.

Eksempel: 'prøve%'

[] (Jokertegn, der matcher)

Bruges til at matche et enkelt tegn inden for det angivne interval eller sæt, der er angivet mellem parenteser [].

Eksempel: m [n-z]% ’

[^] (Jokertegn, der matcher)

Bruges til at matche et enkelt tegn, der ikke er inden for det interval eller sæt, der er angivet mellem firkantede parenteser.

Eksempel: ‘Al [^ a]%’

_ (Jokertegn, der matcher)

Bruges til at matche et enkelt tegn i en strengesammenligningsoperation

test_ekspression [IKKE] IN (underforespørgsel | udtryk [,… n])

Samlet Funktioner

De forskellige samlede funktioner understøttet af SQL Server er som følger:

Fungere Beskrivelse Syntaks Eksempel

SUM()

Bruges til at returnere summen af ​​en gruppe værdier.

VÆLG SUM (kolonnenavn) FRA tabelnavn

VÆLG SUM (mærker) FRA StudentsInfo

TÆLLE()

Returnerer antallet af rækker enten baseret på en betingelse eller uden en betingelse.

VÆLG TÆLL (kolonnenavn) FRA tabelnavn HVOR tilstand

VÆLG TÆLL (StudentID) FRA StudentsInfo

AVG ()

Bruges til at beregne gennemsnitsværdien af ​​en numerisk kolonne.

VÆLG AVG (søjlenavn) FRA tabelnavn

VÆLG AVG (mærker) FRA StudentsInfo

MIN ()

Denne funktion returnerer minimumsværdien af ​​en kolonne.

VÆLG MIN (kolonnenavn) FRA tabelnavn

VÆLG MIN (mærker) FRA StudentsInfo

MAX ()

Returnerer en maksimumsværdi for en kolonne.

VÆLG MAX (søjlenavn) FRA tabelnavn

VÆLG MAX (mærker) FRA StudentsInfo

FØRST()

Bruges til at returnere den første værdi i kolonnen.

VÆLG FØRST (kolonnenavn) FRA tabelnavn

VÆLG FØRSTE (mærker) FRA StudentsInfo

SIDST()

Denne funktion returnerer den sidste værdi i kolonnen.

VÆLG SIDSTE (søjlenavn) FRA tabelnavn

VÆLG SIDSTE (mærker) FRA StudentsInfo

Brugerdefinerede funktioner

Microsoft SQL Server giver brugerne mulighed for at oprette brugerdefinerede funktioner, der er rutiner. Disse rutiner accepterer parametre, kan udføre enkle til komplekse handlinger og returnere resultatet af den pågældende handling som en værdi. Her kan den returnerede værdi enten være en enkelt skalarværdi eller et komplet resultatsæt.

Du kan bruge brugerdefinerede funktioner til at:

  • Tillad modulær programmering
  • Reducer netværkstrafik
  • Tillad hurtigere udførelse af forespørgsler

Der er også forskellige typer brugerdefinerede funktioner, du kan oprette. De er:

  • Scalar-funktioner: Plejedereturnere en enkelt dataværdi af typen defineret i RETURNS-klausulen.
  • Tabelværdige funktioner: Plejedereturnere aborddatatype.
  • Systemfunktioner: En række systemfunktioner leveres af SQL Server til at udføre forskellige operationer.

Nå, bortset fra de brugerdefinerede funktioner, er der en masse indbyggede funktioner i SQL Server, som kan bruges til at udføre en række opgaver. Gå videre i denne artikel om SQL Server-tutorial, lad os nu forstå, hvad der er indlejrede forespørgsler.

Indlejrede forespørgsler

Indlejrede forespørgsler er de forespørgsler, der har en ydre forespørgsel og en indre forespørgsel. Så grundlæggende er underforespørgslen en forespørgsel, der er indlejret i en anden forespørgsel som SELECT, INSERT, UPDATE eller DELETE. Se billedet nedenfor:

Næste i denne SQL Server-tutorial, lad os forstå de forskellige typer sammenføjninger i SQL.

Tilslutter sig

bruges til at kombinere tupler fra to eller flere tabeller baseret på en relateret kolonne mellem tabellerne. Der er fire typer sammenføjninger:

  • INDRE MEDLEM: Returnerer poster, der har matchende værdier i begge tabeller.
  • VENSTRE MEDLEM: Returnerer poster fra venstre tabel og også de poster, der opfylder betingelsen fra højre tabel.
  • HØJRE MEDLEM: Returnerer poster fra højre tabel og også de poster, der opfylder betingelsen fra venstre tabel.
  • FULD TILMELDING: Returnerer poster, der enten har et match i venstre eller højre tabel.

Overvej følgende tabel sammen med StudentsInfo-tabellen for at forstå syntaks for sammenføjninger.

Emne-id Studiekort Emne navn
1010Matematik
2elleveFysik
312Kemi

INDRE MEDLEM

Syntaks

VÆLG søjle (r) FRA Tabel 1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Eksempel

VÆLG Subjects.SubjectID, StudentsInfo.StudentName FRA Emner INNER JOIN StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID

VENSTRE MEDLEM

Syntaks

VÆLG søjle (r) FRA Tabel 1 VENSTRE SAMLING Tabel2 PÅ Tabel1.Kolonnenavn = Tabel2.Kolonnenavn

Eksempel

VÆLG StudentsInfo.StudentName, Subjects.SubjectID FRA StudentsInfo VENSTRE JOIN Emner ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName

Højre tilslutning

Syntaks

VÆLG søjle (r) FRA Tabel 1 HØJRE SAMLING Tabel2 PÅ Tabel1.Kolonnenavn = Tabel2.Kolonnenavn

Eksempel

VÆLG StudentsInfo.StudentName, Subjects.SubjectID FRA StudentsInfo RIGHT JOIN Emner ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName

FULD TILMELD

Syntaks

VÆLG søjle (r) FRA Tabel 1 FULD OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Eksempel

VÆLG StudentsInfo.StudentName, Subjects.SubjectID FRA StudentsInfo FULL OUTER JOIN Emner ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName

Lad os derefter i denne artikel om SQL Server-tutorial forstå de forskellige typer sløjfer, der understøttes af SQL Server.

Sløjfer

De forskellige kontrol-af-flow kommandoer er som følger:

Lad os diskutere hver enkelt af dem en efter en.

BEGIN..END

Disse nøgleord bruges til at vedlægge en række SQL-sætninger. Derefter kan denne gruppe af SQL-sætninger udføres.

Syntaks

BEGIN StatementBlock END

PAUSE

Denne erklæring bruges til at afslutte den aktuelle WHILE-loop. I tilfælde af at den aktuelle WHILE-sløjfe er indlejret i en anden sløjfe, afslutter BREAK-sætningen kun den aktuelle sløjfe, og kontrollen videreføres til den næste sætning i den aktuelle sløjfe. BREAK-erklæringen bruges normalt i en IF-sætning.

Syntaks

PAUSE

BLIVE VED

FORTSÆT-sætningen bruges til at genstarte en WHILE-sløjfe. Så alle udsagn efter søgeordet FORTSÆT ignoreres.

Syntaks

BLIVE VED

Her er Label det punkt, hvorefter behandlingen starter, hvis en GOTO er målrettet mod den pågældende label.

GÅ TIL

Bruges til at ændre udførelsesstrømmen til en etiket. Udtalelserne skrevet efter GOTO-nøgleordet springes over, og behandlingen fortsætter på etiketten.

Syntaks

Definer etiket: Etiket: Ændr udførelse: GOTO-etiket

Her er Label det punkt, hvorefter behandlingen starter, hvis en GOTO er målrettet mod den pågældende label.

HVIS ELLERS

Som ethvert andet programmeringssprog tester If-else-sætningen i SQL Server betingelsen, og hvis betingelsen er falsk, udføres 'else' -sætningen.

Syntaks

IF BooleanExpression StatementBlock [ELSE StatementBlock]

VEND TILBAGE

Bruges til at afslutte ubetinget fra en forespørgsel eller procedure. Så de udsagn, der er skrevet efter RETURN-klausulen, udføres ikke.

Syntaks

RETUR [IntegerExpression]

Her returneres et heltal.

VENT PÅ

WAITFOR-kontrolflowet bruges til at blokere udførelsen af ​​en lagret procedure, transaktion eller en batch, indtil en bestemt erklæring ændres, returnerer mindst en række eller et angivet tids- eller tidsinterval forløber.

Syntaks

WAITFOR (GetConversionGroupStatement)] [, TIMEOUT timeout]

hvor,

  • FORSINKE - Det tidsrum, der skal gå
  • TimeToPass - Ptid til at vente
  • TID - Dettid, hvor den lagrede procedure, transaktion eller batch kører.
  • TimeToExecute - Detdet tidspunkt, hvor WAITFOR-erklæringen afsluttes.
  • Modtag erklæring - TILgyldig RECEIVE-erklæring.
  • GetConversionGroupStatement - TILgyldig FÅ SAMTALEGRUPPE-erklæring.
  • TIMEOUT timeout - Angiver tidsperioden, i millisekunder, til at vente på, at en besked ankommer til køen.

MENS

Denne sløjfe bruges til at indstille en betingelse for gentagen udførelse af en bestemt SQL-sætning eller en SQL-sætningsblok. Udtalelserne udføres, så længe den tilstand, som brugeren nævner, er SAND. Så snart betingelsen mislykkes, stopper løkken med at udføre.

Syntaks

MED DEN Boolske udtryk StatementBlock

Nu hvor I kender DML-kommandoerne, lad os gå videre til vores næste afsniti denne artikel om SQL-tutorial, dvs. DCL-kommandoerne.

Datakontrol sprogkommandoer (DCL)

Dette afsnit af SQL Server-tutorial giver dig en idé om den kommando, som bruges til at håndhæve databasesikkerhed i flere brugerdatabasemiljøer. Kommandoerne er som følger:

GIVE

GRANT-kommandoen bruges til at give adgang eller privilegier til databasen og dens objekter til brugerne.

Syntaks

GRANT Privilege-navn PÅ Objektnavn TIL Rollenavn [MED GRANT-MULIGHED]

hvor,

  • PrivilegeName - Er privilegiet / retten / adgangen tildelt brugeren.
  • Objektnavn - Navn på et databaseobjekt som TABLE / VIEW / STORED PROC.
  • Brugernavn - Navnet på den bruger, der får adgang / rettigheder / privilegier.
  • OFFENTLIG - At give adgangsrettigheder til alle brugere.
  • Rollenavn - Navnet på et sæt privilegier grupperet sammen.
  • MED TILVALGMULIGHED - At give brugeren adgang til at give andre brugere rettigheder.

Eksempel

- At give SELECT tilladelse til StudentsInfo-tabellen til bruger1 GRANT SELECT ON StudentsInfo TO user1

TILBAGE

REVOKE-kommandoen bruges til at trække brugerens adgangsrettigheder tilbage ved hjælp af GRANT-kommandoen.

Syntaks

REVOKE PrivilegeName ON ObjectName FROM OFFENTLIG

Eksempel

- At tilbagekalde den tildelte tilladelse fra bruger1 TILBAGEVALG PÅ StudentsInfo TIL bruger1

Gå videre i denne SQL Server-tutorial, lad os forstå, hvordan man opretter og bruger lagrede procedurer.

Lagrede procedurer

Lagrede procedurer er genanvendelige enheder, der indkapsler en bestemt forretningslogik i applikationen. Så det er en gruppe af SQL-udsagn og logik, kompileret og lagret sammen for at udføre en bestemt opgave.

Syntaks

OPRET [ELLER UDSKIFT] PROCEDURE procedure_navn [(parameternavn [IN | UD | IN UD] type [])] ER BEGIN [erklæring_sektion] eksekverbar_sektion // SQL-sætning brugt i den lagrede procedure END GO

Eksempel

--Opret en procedure, der returnerer et studerendes navn, når StudentId gives som inputparameter til den lagrede procedure Opret PROCEDURE GetStudentName (@StudentId INT, --Inputparameter, @StudName VARCHAR (50) OUT - Output parameter, AS BEGIN SELECT @StudName = StudentName FRA StudentsInfo WHERE StudentID = @ StudentId END

Trin til udførelse:

      • Erklær @StudName som nvarchar (50)
      • EXEC GetStudentName 01, @StudName output
      • VÆLG @StudName

Ovenstående procedure returnerer navnet på en bestemt studerende,om at give de studerende id som input. Næste i denne SQL Server-tutorial, lad os forstå sprogkommandoerne for transaktionskontrol.

TCL (Transaction Control Language Commands)

Dette afsnit af SQL Server-tutorial giver dig et indblik i de kommandoer, der bruges til at administrere transaktioner i databasen.Kommandoerne er som følger:

BEGÅ

COMMIT-kommandoen bruges til at gemme transaktionen i databasen.

Syntaks

BEGÅ

RULBACK

ROLLBACK-kommandoen bruges til at gendanne databasen til den sidst forpligtede tilstand.

Syntaks

RULBACK

BEMÆRK: Når du bruger ROLLBACK med SAVEPOINT, kan du springe direkte til et savepoint i en igangværende transaktion. Syntaks: TILBAGE TIL SavepointName

SAVEPOINT

SAVEPOINT-kommandoen bruges til midlertidigt at gemme en transaktion. Så hvis du ønsker at returnere til et hvilket som helst punkt, kan du gemme dette punkt som en 'SAVEPOINT'.

Syntaks

SAVEPOINT SAVEPOINTNAME

Overvej nedenstående tabel for at forstå, hvordan transaktioner fungerer i databasen.

Studiekort Elevnavn
enRohit
2Suhana
3Ashish
4Prerna

Brug nu nedenstående at forstå transaktionerne i databasen.

INDSÆT I StudenttabelVÆRDIER (5, 'Avinash') FORPLIGT OPDATERING Studenttabel SÆT navn = 'Akash' HVOR id = '5' SAVEPOINT S1 INDSÆT I StudentTabelVÆRDIER (6, 'Sanjana') SAVEPOINT S2 INDSÆT I StudenttabelVÆRDIER (7, 'Sanjay ') SAVEPOINT S3 INDSÆT I StudenttabelVÆRDIER (8,' Veena ') SAVEPOINT S4 VÆLG * FRA StudentTable

Næste i denne artikel om SQL Server-tutorial giver os mulighed for at forstå, hvordan man håndterer undtagelser i Transact-SQL.

Undtagelse Håndtering

Der er to typer undtagelser, dvs. de systemdefinerede undtagelser og de brugerdefinerede undtagelser. Som navnet antyder, er undtagelseshåndtering en proces, hvorigennem en bruger kan håndtere de genererede undtagelser. For at håndtere undtagelser skal du forstå følgende kontrolflowangivelser:

KASTE

Denne klausul bruges til at hæve en undtagelse og overfører eksekveringen til en CATCH-blok af en TRY… CATCH-konstruktion.

Syntaks

Kaste [ErrorNumber, @localvariable, State] []

hvor,

  • Fejlnummer - TILkonstant eller variabel, der repræsenterer undtagelsen.
  • Besked - TILvariabel eller streng, der beskriver undtagelsen.
  • Stat -En konstant eller variabel mellem 0 og 255, der angiver den tilstand, der skal tilknyttes meddelelsen.
KASS 51000, 'Record findes ikke.', 1

PRØV..FANG

Bruges til at implementere undtagelseshåndtering i Transact-SQL. En gruppe udsagn kan omsluttes i TRY-blokken. Hvis der opstår en fejl i TRY-blokken, overføres kontrollen til en anden gruppe udsagn, der er lukket i en CATCH-blok.

Syntaks

BEGIN TRY StatementBlock END PRØV BEGIN CATCH [StatementBlock] END CATCH []
BEGIN PRØV VÆLG * FRA StudentsInfo AFSLUT PRØV BEGIN FANGST VÆLG FEJL_NUMBER () AS ErNum, ERROR_MESSAGE () AS ErMsg END CATCH

I med dette kommer vi til slutningen af ​​denne artikel om SQL Server Tutorial. Jeg håber, du nød at læse denne artikel om SQL Server-tutorial til begyndere.jeg Hvis du ønsker at få en struktureret træning på MySQL, så tjek vores som kommer med instruktørstyret live træning og projektoplevelse i det virkelige liv. Denne træning hjælper dig med at forstå MySQL i dybden og hjælper dig med at opnå mestring over emnet. Har du et spørgsmål til os? Nævn det i kommentarfeltet i ” SQL Server-vejledning ”Og jeg vender tilbage til dig.