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 |
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. |
Dette sæt kommandoer beskæftiger sig med tilladelser, rettigheder og andre kontroller i databasesystemerne. | |
Disse kommandoer er vant til håndtere transaktionen i databasen. |
Bortset fra kommandoerne er følgende emner dækket i denne artikel:
- Hvad er SQL Server?
- Installer SQL Server
- Opret forbindelse til SQL Server ved hjælp af SSMS
- Adgang til databasemotor
- SQL Server-arkitektur
- Kommentarer i SQL
- SQL Server-datatyper
- Nøgler i databasen
- Begrænsninger i databasen
- Operatører
- Samlede funktioner
- Brugerdefinerede funktioner
- Indlejrede forespørgsler
- Tilslutter sig
- Sløjfer
- Lagrede procedurer
- 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 |
en | jeg hader | Akriti mehra | 9955339966 | Brigade Road Block 9 | Hyderabad | Indien |
2 | Manasa | Shourya Sharma | 9234568762 | Mayo Road 15 | Kolkata | Indien |
3 | Anay | Soumya Mishra | 9876914261 | Marathalli House No 101 | Bengaluru | Indien |
4 | Preeti | Rohan Sinha | 9765432234 | Queens Road 40 | Delhi | Indien |
5 | Shanaya | Abhinay agarwal | 9878969068 | Oberoi Street 21 | Mumbai | Indien |
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 | numerisk | Bruges til at gemme numeriske værdier og have faste præcision og skalanumre | - 10 ^ 38 +1 til 10 ^ 38-1. |
lilleint | Bruges til at gemme heltalværdier | 0 til 255 | |
smallint | Bruges til at gemme heltalværdier | -2 ^ 15 (-32,768) til 2 ^ 15-1 (32,767) | |
bigint | Bruges 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) | |
int | Bruges til at gemme heltalværdier | -2 ^ 31 (-2,147,483,648) til 2 ^ 31-1 (2,147,483,647) | |
bit | Gemmer en heltal datatype, der fortæller en værdi på 0, 1 eller NULL | 0, 1 eller NULL | |
decimal | Bruges til at gemme numeriske værdier og have faste præcision og skalanumre | - 10 ^ 38 +1 til 10 ^ 38-1. | |
lille penge | Bruges til at gemme monetæreeller valuta værdier. | - 214.748,3648 til 214,748,3647 | |
penge | Bruges 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 | flyde | Bruges 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 |
ægte | Bruges 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 | dato | Bruges til at definere en dato i SQL Server. | Syntaks: dato |
smalldatetime | Bruges 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 tid | Bruges 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 | |
datetimeoffset | Bruges 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 | |
tid | Bruges til at definere et tidspunkt på en dag. | Syntaks: tid | |
Karakterstrenge | char | Bruges til at gemme tegn i fast størrelse. | char[( n )] hvor n-værdien varierer fra 1 - 8.000 |
varchar | Bruges 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. | |
tekst | Bruges til at gemme vikke-Unicode-data med tilvejebragt længde | Maksimal tilladt strenglængde - 2 ^ 31-1 (2.147.483.647) | |
Unicode tegnstrenge | nchar | Bruges til at gemme tegn i fast størrelse. | nchar[(n)] hvor n-værdien varierer fra 1-4000 |
nvarchar | Bruges 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. | |
ntekst | Bruges til at gemme Unicode-data med variabel længde | Maksimal tilladt strenglængde - 2 ^ 30-1 (2.147.483.647) | |
Binære strenge | binær | Bruges til at gemme binære datatyper med enten fast længde | binær[( n )] hvor n-værdien varierer fra 1 - 8.000 |
varbinær | Bruges til at gemme binære datatyper med enten fast længde | varbinær[( n )] hvor n-værdien varierer fra 1-8000, og den maksimale tilladte lagerplads er 2 ^ 31-1 byte. | |
billede | Bruges til at gemme binære data med variabel længde | 0 - 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. | - | |
rowversion | Bruges til at eksponere automatisk genererede, unikke binære tal i en database. | - | |
hierarkiid | Bruges til at repræsentere position i et hierarki. | - | |
unik identifikator | Er en 16-byte GUID. | Syntaks:unik identifikator | |
sql_variant | Bruges til at gemme værdierne for forskellige SQL Server-understøttede datatyper | Syntaks: sql_variant | |
xml | Bruges til at gemme XML-datatype. | xml ([CONTENT | DOCUMENT] xml_schemacollection) | |
Rumlige geometri typer | Bruges til at repræsentere data i et euklidisk (fladt) koordinatsystem. | - | |
Geografiske typer af rum | Bruges til at gemme ellipsoide (rundjordiske) data, såsom GPS-bredde- og længdegradskoordinater. | - | |
bord | Bruges 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'
GÅ
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 |
en | jeg hader | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Måltabel:
Studiekort | Elevnavn | Mærker |
en | jeg hader | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
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 |
en | jeg hader | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
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:
- Aritmetiske operatører
- Opgaveoperatører
- Bitvise operatører
- Sammenligningsoperatører
- Sammensatte operatører
- Logiske operatører
- Omfangsopløsningsoperatører
- Indstil operatører
- String sammenkædning operatører
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]) |
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 |
10 | 10 | Matematik |
2 | elleve | Fysik |
3 | 12 | Kemi |
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 |
en | Rohit |
2 | Suhana |
3 | Ashish |
4 | Prerna |
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.