På dagens marknad, där en enorm mängd data genereras varje dag, är det mycket viktigt att förstå hur man hanterar data. SQL Server är en integrerad miljö utvecklad av Microsoft för att hantera data.I den här artikeln om SQL Server-självstudien kommer du att lära dig alla funktioner och kommandon som du behöver för att utforska dina databaser.
För din bättre förståelse har jag delat bloggen i följande kategorier:
Kommandon | Beskrivning |
Denna uppsättning kommandon används för att definiera en databas. | |
Data Manipulation Language commands (DML) | Manipulationskommandona används för att manipulera data som finns i databasen. |
Denna uppsättning kommandon hanterar behörigheter, rättigheter och andra kontroller för databassystemen. | |
Dessa kommandon är vana vid hantera transaktionen av databasen. |
Förutom kommandona behandlas följande ämnen i den här artikeln:
- Vad är SQL Server?
- Installera SQL Server
- Anslut till SQL Server med SSMS
- Åtkomst till databasmotor
- SQL Server-arkitektur
- Kommentarer i SQL
- SQL Server datatyper
- Nycklar i databasen
- Begränsningar i databasen
- Operatörer
- Aggregerade funktioner
- Användardefinierade funktioner
- Kapslade frågor
- Går med
- Öglor
- Lagrade procedurer
- Undantagshantering
***NOTERA*** I denna SQL Server-handledning kommer jag att överväga databasen nedan somett exempel för att visa dig hur du lär dig och skriverkommandon.
Studentlegitimation | Elevs namn | Förälders namn | Telefonnummer | Adress | Stad | Land |
ett | jag hatar | Akriti mehra | 9955339966 | Brigadevägspärr 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 |
Innan vi börjar förstå de olika kommandona som används i SQL Server, låt oss förstå vad som är SQL Server, dess arkitektur och hur man installerar det.
Vad är SQL Server?
Microsoft SQL Server är en relation databashanteringssystem . Den stöder Structured Query Language och kommer med sin egen implementering av SQL-språket som är Transact-SQL (T-SQL) . Den har en integrerad miljö för att hantera SQL-databaser, vilket är .
Nyckelkomponenterna i SQL Server är följande:
- Databasmotor: Denna komponent hanterar lagring, snabb transaktionsbehandling och säkring av data.
- SQL Server - Denna tjänst används för att starta, stoppa, pausa och fortsätta förekomsten av MS SQL Server.
- SQL Server Agent - Serveragenttjänsten spelar rollen som uppgiftsplanerare och utlöses av någon händelse eller enligt kravet.
- SQL Server-webbläsare - Den här tjänsten används för att ansluta den inkommande begäran till önskad SQL Server-instans.
- SQL Server-fulltextsökning - Används för att låta användaren köra fulltextfrågor mot teckendata i SQL-tabeller.
- SQL Server VSS Writer - Tillåter säkerhetskopiering och återställning av datafiler när SQL Server inte körs.
- SQL Server Analysis Services (SSAS) - Denna tjänst används för att tillhandahålla dataanalys, datautvinning och Förmågor. SQL Server är också integrerad med och R för avancerad dataanalys.
- SQL Server Reporting Services (SSRS) - Som namnet antyder används den här tjänsten för att tillhandahålla funktioner och beslutsfunktioner inklusive integration med .
- SQL Server Integration Services (SSIS) - Denna tjänst används för att utföra ETL-operationer för olika typer av data från flera datakällor.
Nu när du vet vad som är MS SQL Server, låt oss gå vidare i den här artikeln om SQL Server-självstudien och förstå hur du installerar och installerar SQL Server.
Installera SQL Server
Följ stegen nedan för att installera SQL Server:
Steg 1: Gå till den officiella sidan av Nedladdning av Microsoft SQL Server , där du hittar alternativet att installera SQL Server antingen lokalt eller i molnet.
Steg 2: Rulla nedåt så ser du två alternativ: Utvecklare & Enterprise-utgåva . Här laddar jag ner Utvecklarutgåva . För att ladda ner behöver du bara klicka på Ladda ner nu alternativ. Se nedan.
Steg 3: När applikationen har laddats ner dubbelklickar du på filen så visas följande fönster.
Steg 4: Nu kan du välja något av de tre alternativen för att ställa in SQL Server. Här väljer jag bara Grundläggande alternativ . När du väljer alternativet installationstyp skulle nästa skärm vara att acceptera licensavtalet. För att göra det, klicka på Acceptera i följande fönster.
Steg 5: Därefter måste du ange installationsplatsen för SQL Server. Sedan måste du klicka på Installera.
När du klickar på Installera , kommer du att se att de obligatoriska paketen laddas ner. När installationen är klar visas följande skärm:
Här kan du antingen gå framåt och klicka på Anslut nu, eller så kan du anpassa installationen. För din bättre förståelse kommer jag gå vidare och välja Anpassa.
Steg 6: När du klickar på Anpassa i fönstret ovan ser du följande guide öppnas. i följande fönster klickar du på Nästa.
Steg 7: När reglerna installeras automatiskt klickar du på Nästa . Se nedan.
Steg 8: Därefter måste du välja installationstyp. Så välj Utför en ny installation av SQL Server 2017 och klicka sedan på Nästa.
Steg 9: Välj utgåvan i guiden som öppnas: Utvecklaren. Klicka sedan på Nästa . Se nedan.
Steg 10: Läs nu och acceptera licensavtalen genom att checka in alternativknappen och klicka sedan på Nästa . Se nedan.
Steg 11: I guiden nedan kan du välja de funktioner som du vill installera. Du kan också välja förekomstens rotkatalog och sedan klicka på Nästa . Här väljer jag Databasmotortjänster .
Steg 12: Därefter måste du namnge förekomsten och automatiskt skapas förekomst-ID. Här kommer jag att namnge instansen 'edureka'. Klicka sedan på Nästa.
Steg 13: I guiden Serverkonfiguration klickar du på Nästa .
Steg 14: Nu måste du aktivera autentiseringslägen. Här ser du Windows-autentiseringsläge och Blandat läge . Jag väljer blandat läge. Nämn sedan lösenordet och sedan lägger jag till den nuvarande användaren som Administration genom att välja Lägg till aktuell användare alternativ.
Steg 15: Välj sedan konfigurationsfilens sökväg och klicka på Installera .
När installationen är klar ser du följande skärm:
Anslut till SQL Server med SSMS
När SQL Server har installerats är ditt nästa steg att ansluta SQL Server till SQL Server Management Studio. Följ stegen nedan för att göra det:
Steg 1: Gå tillbaka till följande fönster och klicka på installera SSMS alternativ.
Steg 2: När du klickar på det alternativet kommer du att omdirigeras till nästa sida , där du måste välja Ladda ner SSMS.
Steg 3: När installationen har laddats ner dubbelklickar du på applikationen så visas följande guide.
Steg 4: Klicka på Installera alternativet , i fönstret ovan så ser du att installationen börjar.
Steg 5: När installationen är klar får du en dialogruta som visas nedan.
När du har installerat SSMS är nästa steg att komma åt Databasmotor .
Åtkomst till databasmotor
När du öppnar SQL Server Management Studio från start meny öppnas ett fönster som liknar fönstret som visas på bilden nedan.
Här nämner du serverns namn, autentiseringsläge och klickar på Ansluta.
När du klickar på Ansluta visas följande skärm.
Tja folkens, det är hur du installerar och installerar SQL Server. Nu, framåt i denna SQL Server-handledning, låt oss förstå de olika komponenterna i SQL Server-arkitekturen.
SQL Server-arkitektur
Arkitekturen för SQL Server är som följer:
- Server & minus Det här är SQL-tjänsterna installerade och databasen finns
- Relationsmotor & minus Innehåller frågeparser, optimizer och executor och exekveringen sker i relationsmotorn.
- Command Parser & minus Kontrollerar syntaxen för frågan och konverterar frågan till maskinspråk.
- Optimizer & minus Förbereder körplanen som output genom att ta statistik, fråga och Algebrator-trädet som input.
- Frågexecutor & minus Detta är platsen där frågorna körs steg för steg
- Lagringsmotor & minus Detta ansvarar för lagring och hämtning av data i lagringssystemet, manipulation av data, hantering och låsning av transaktioner.
Nu när du vet hur du konfigurerar och installerar SQL Server och dess olika komponenter, låt oss komma igång med att skriva Server. Men innan det låt mig täcka hur man skriver kommentarer i SQL Server.
Kommentarer i SQL Server
Det finns två sätt som du kan kommentera i SQL, dvs antingen använda s ingående kommentarer eller den m ultralinje kommentarer .
Enradiga kommentarer
Kommentarer med en rad börjar med två bindestreck (-). Därför kommer texten som nämns efter (-) till slutet av en enda rad ignoreras av kompilatorn.
Exempel:
--Exempel på enstaka kommentarer
Flerlinjekommentarer
Flera radkommentarer börjar med / * och slutar med * / . Därför den text som nämns mellan / * och * / kommer att ignoreras av kompilatorn.
Exempel:
/ * Exempel på kommentarer med flera rader * /
Nu i den här artikeln om SQL Server-självstudien, låt oss börja med den första uppsättningen kommandon, dvs. Data Definition Language-kommandon.
Kommandon för datadefinitionsspråk
Det här avsnittet i artikeln ger dig en uppfattning om kommandona med hjälp av vilka du kan definiera din databas. Kommandona är som följer:
SKAPA
Detta uttalande används för att skapa en tabell, databas eller vy.
Uttalandet ”CREATE DATABASE”
Detta uttalande används för att skapa en databas.
Syntax
SKAPA DATABAS Databasnamn
Exempel
SKAPA DATABAS Studenter
” SKAPA BORD ' Påstående
Som namnet antyder används detta uttalande för att skapa en tabell.
Syntax
SKAPA TABELL Tabellnamn (datatyp för kolumn1, datatyp för kolumn2, datatyp för kolumn3, ... datatyp för kolumnN)
Exempel
SKAPA TABELL StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))
SLÄPPA
Detta uttalande används för att släppa en befintlig tabell, databas eller vy.
Uttalandet ”DROP DATABAS”
Detta uttalande används för att släppa en befintlig databas. Den fullständiga informationen som finns i databasen går förlorad så snart du utför kommandot nedan.
Syntax
DROP DATABAS DatabaseName
Exempel
DROP DATABAS Studenter
Uttalandet ”DROP TABLE”
Detta uttalande används för att släppa en befintlig tabell. Den fullständiga informationen i tabellen kommer att gå förlorad så snart du utför kommandot nedan.
Syntax
DROP TABLE Tabellnamn
Exempel
DROPTABELL StudentInfo
ÅLDER
ALTER-kommandot används för att lägga till, ta bort eller ändra kolumner eller begränsningar i en befintlig tabell.
” ÄNDRA TABELL ' Påstående
Detta uttalande används för att lägga till, ta bort, ändra kolumner i en redan existerande tabell.
Uttalandet ”ALTER TABLE” med ADD / DROP COLUMN
Uttrycket ALTER TABLE används med kommandot ADD / DROP Column för att lägga till och ta bort en kolumn.
Syntax
ALTER TABLE Tabellnamn LÄGG TILL kolumnnamn Datatyp ALTER TABLE TableName DROP COLUMN ColumnName
Exempel
--ADD Column BloodGroup: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) - DROP Column BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup
Uttalandet ”ALTER TABLE” med ALTER COLUMN
ALTER TABLE-uttalandet kan användas med kolumnen ALTER för att ändra datatypen för en befintlig kolumn i en tabell.
Syntax
ALTER TABLE TableName ALTER COLUMN ColumnName Datatype
Exempel
--Lägg till en kolumn DOB och ändra datatypen från datum till datumtid. ALTER TABLE StudentInfo LÄGG TILL DOBB-datum ALTER TABLE StudentInfo ALTER COLUMN DOB datetime
STYMPA
Detta SQL-kommando används för att ta bort informationen i tabellen men tar inte bort själva tabellen. Så om du vill ta bort informationen i tabellen och inte ta bort själva tabellen måste du använda kommandot TRUNCATE. Annars använder du kommandot DROP.
Syntax
TRUNCATE TABLE Tabellnamn
Exempel
TRUNCATE TABLE StudentInfo
DÖP OM
Detta uttalande används för att byta namn på en eller flera tabeller.
Syntax
sp_rename 'OldTableName', 'NewTableName'
Exempel
sp_rename 'StudentInfo', 'Infostudents'
Gå vidare i den här artikeln om SQL Server-handledning, låt oss förstå de olika datatyper som stöds av SQL Server.
SQL Server datatyper
Datatypskategori | Namn på datatyp | Beskrivning | Räckvidd / syntax |
Exakta siffror | numerisk | Används för att lagra numeriska värden och har fasta precision och skalningsnummer | - 10 ^ 38 +1 till 10 ^ 38 - 1. |
tinyint | Används för att lagra heltalvärden | 0 till 255 | |
smallint | Används för att lagra heltalvärden | -2 ^ 15 (-32,768) till 2 ^ 15-1 (32,767) | |
bigint | Används för att lagra heltalvärden | -2 ^ 63 (-9,223,372,036,854,775,808) till 2 ^ 63-1 (9,223,372,036,854,775,807) | |
int | Används för att lagra heltalvärden | -2 ^ 31 (-2,147,483,648) till 2 ^ 31-1 (2,147,483,647) | |
bit | Lagrar en heltal datatyp som berättar värdet 0, 1 eller NULL | 0, 1 eller NULL | |
decimal- | Används för att lagra numeriska värden och har fasta precision och skalningsnummer | - 10 ^ 38 +1 till 10 ^ 38 - 1. | |
småpengar | Används för att lagra monetäraeller valutavärden. | - 214748,3648 till 214748,3647 | |
pengar | Används för att lagra monetäraeller valutavärden. | -922,337,203,685,477,5808 till 922,337,203,685,477,5807 (-922,337,203,685,477,58 till 922.337.203.685.477,58 för Informatica. | |
Ungefärliga siffror | flyta | Används för att lagra numeriska data med flytande punkter | - 1.79E + 308 till -2.23E-308, 0 och 2.23E-308 till 1.79E + 308 |
verklig | Används för att lagra numeriska data med flytande punkter | - 3.40E + 38 till -1.18E - 38, 0 och 1.18E - 38 till 3.40E + 38 | |
Datum och tid | datum | Används för att definiera ett datum i SQL Server. | Syntax: datum |
smalldatetime | Används för att definiera ett datum som kombineras med en tid på dygnet där tiden baseras på en 24-timmarsdag, med sekunder alltid noll (: 00) och utan bråk sekunder. | Syntax: smalldatetime | |
datum Tid | Används för att definiera ett datum som kombineras med en tid på dygnet med bråk sekunder baserat på en 24-timmars klocka. | Syntax: datetime | |
datetime2 | datetime2 är som en förlängning av det befintliga datum Tid typ som har ett större standardfraktionsprecision, stort datumintervall. | Syntax: datetime2 | |
datetimeoffset | Används för att definiera ett datum som kombineras med en tid på en dag som har tidszonsmedvetenhet. Den är baserad på en 24-timmars klocka. | Syntax: datetimeoffset | |
tid | Används för att definiera en tid på en dag. | Syntax: tid | |
Teckensträngar | röding | Används för att lagra fasta tecken. | röding[( n )] där n-värdet varierar från 1 - 8 000 |
varchar | Används för att lagra tecken med variabel längd. | varchar [( n | max)] där n-värdet varierar från 1-8000 och det maximala tillåtna lagringsutrymmet är 2 GB. | |
text | Används för att lagra variable-data som inte är Unicode | Maximal tillåten stränglängd - 2 ^ 31-1 (2.147.483.647) | |
Unicode-teckensträngar | nchar | Används för att lagra fasta tecken. | nchar[(n)] där n-värdet varierar från 1-4000 |
nvarchar | Används för att lagra tecken med variabel längd. | varchar [( n | max)] där n-värdet varierar från 1-4000 och det maximala tillåtna lagringsutrymmet är 2 GB. | |
ntext | Används för att lagra Unicode-data med variabel längd | Maximal tillåten stränglängd - 2 ^ 30-1 (2147483647) | |
Binära strängar | binär | Används för att lagra binära datatyper med antingen fast längd | binär[( n )] där n-värdet varierar från 1 - 8 000 |
varbinär | Används för att lagra binära datatyper med antingen fast längd | varbinär[( n )] där n-nivån varierar från 1-8000 och det maximala tillåtna lagringsutrymmet är 2 ^ 31-1 byte. | |
bild | Används för att lagra binär data med variabel längd | 0 - 2 ^ 31-1 (2.147.483.647) byte | |
Andra datatyper | Det är en datatyp för lagrade procedurer eller variabler OUTPUT-parametrar som innehåller en hänvisning till en markör. | - | |
rowversion | Används för att exponera automatiskt genererade unika binära nummer i en databas. | - | |
hierarkiid | Används för att representera position i en hierarki. | - | |
unik identifierare | Är en 16-byte GUID. | Syntax:unik identifierare | |
sql_variant | Används för att lagra värdena för olika datatyper som stöds av SQL Server | Syntax: sql_variant | |
xml | Används för att lagra XML-datatyp. | xml ([CONTENT | DOCUMENT] xml_schemacollection) | |
Spatial Geometry Typer | Används för att representera data i ett euklidiskt (platt) koordinatsystem. | - | |
Geografiska typer av rum | Används för att lagra ellipsoidal (jordjord) data, såsom GPS-latitud- och longitudkoordinater. | - | |
tabell | Används för att lagra en resultatuppsättning för bearbetning vid ett senare tillfälle | - |
Därefter, i den här artikeln, låt oss förstå de olika typerna av nycklar och begränsningar i databasen.
Olika typer av nycklar i databasen
Följande är de olika typer av nycklar som används i databasen:
- Kandidatnyckel - Kandidatnyckel är en uppsättning attribut som unikt kan identifiera en tabell. En tabell kan ha mer än en enda kandidatnyckel och av de valda kandidatnycklarna väljs en nyckel som primärnyckel.
- Super Key - Uppsättningen attribut kan identifiera en tupel unikt. Så kandidatnycklar, unika nycklar och primära nycklar är supernycklar, men vice versa är inte sant.
- Primärnyckel - Primära nycklar används för att identifiera varje tupel unikt.
- Alternativ nyckel - Alternativa nycklar är de kandidatnycklar som inte är valda som primärnyckel.
- Unik nyckel- Unika nycklar liknar den primära nyckeln, men tillåter ett enda NULL-värde i kolumnen.
- Främmande nyckel - Ett attribut som bara kan ta värdena närvarande som värdena för något annat attribut, är främmande nyckel till attributet som det hänvisar till.
- Kompositnyckel- Kompositknappar är en kombination av två eller flera kolumner som identifierar varje tupel unikt.
Begränsningar som används i databasen
Begränsningar används i en databas för att specificera reglerna för data som lagras i en tabell. De olika typerna av begränsningar i SQL är följande:
INTE NULL
NOT NULL-begränsningen säkerställer att en kolumn inte kan ha ett NULL-värde.
Exempel
SKAPA TABELL 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 INTE NULL
UNIK
Denna begränsning säkerställer att alla värden i en kolumn är unika.
Exempel
--UNIQUE på 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å flera kolumner 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 on ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) --To drop a UNIQUE constraint ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info
KONTROLLERA
CHECK-begränsningen säkerställer att alla värden i en kolumn uppfyller ett specifikt villkor.
Exempel
--KONTROLLERA 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) KONTROLLERA (Land = 'Indien')) - KONTROLLERA begränsning för flera kolumner SKAPA TABELL 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 av ALTER TABLE ALTER TABLE StudentsInfo ADD CHECK (Country = 'India') - Att ge en namn till CHECK-begränsning ALTER-TABELL StudentsInfo LÄGG TILL CONSTRAINT CheckConstraintName CHECK (Land = 'Indien') - Att släppa en CHECK-begränsning ALTER-TABELL StudentsInfo DROP CONSTRAINT CheckConstraintName
STANDARD
DEFAULT-begränsningen består av en uppsättning standardvärden för en kolumn när inget värde anges.
Exempel
--DEFAULT Begränsning för 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 LÄGG TILL KONSTRAINT defau_Country DEFAULT 'India' FÖR land - För att släppa standardbegränsningen ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country
INDEX
De INDEX-begränsning används för att skapa index i tabellen, genom vilken du kan skapa och hämta data från databasen mycket snabbt.
Syntax
- Skapa ett index där dubbla värden är tillåtna CREATE INDEX IndexName ON TableName (Column1, Column2, ... ColumnN) - Skapa ett index där duplicerade värden inte är tillåtna CREATE UNIQUE INDEX IndexName ON TableName (Column1, Column2, ... KolumnN)
Exempel
CREATE INDEX idex_StudentName ON StudentsInfo (StudentName) - För att radera ett index i en tabell DROP INDEX StudentsInfo.idex_StudentName
Gå vidare i den här artikeln om SQL Server-handledning, låt oss nu förstå de olika kommandona för datamanipulationsspråk som används i Microsoft SQL Server.
Data Manipulation Språk kommandon
Det här avsnittet i artikeln kommer att täcka alla kommandon genom vilka du kan manipulera databasen. Kommandona är som följer:
Förutom dessa kommandon finns det även andra manipulerande operatörer / funktioner som:
ANVÄNDA SIG AV
Detta uttalande används för att välja databas för att börja utföra olika operationer på den.
Syntax
ANVÄNDA databasnamn
Exempel
ANVÄND studenter
SÄTT IN I
De INSERT INTO-uttalande används för att infoga nya poster i en befintlig tabell.
Syntax
INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (value1, value2, value3, ...) - Om du inte vill nämna kolumnnamnen ska du använda nedanstående syntax INSERT INTO TableName VALUES (Värde1, Värde2, Värde3, ...)
Exempel
INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) VALUES ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India ') INSÄTTA I StudentsInfo VÄRDEN (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' Indien ')
UPPDATERING
UPDATE-uttalandet används för att modifiera eller uppdatera de poster som redan finns i tabellen.
Syntax
UPPDATERA Tabellnamn SET Kolumn1 = Värde1, Kolumn2 = Värde2, ... VAR villkor
Exempel
UPPDATERA StudentsInfo SET Studentnamn = 'Aahana', stad = 'Ahmedabad' VAR StudentID = 1
RADERA
DELETE-satsen används för att ta bort befintliga poster i en tabell.
Syntax
RADERA FRÅN TableName WHERE Condition
Exempel
RADERA FRÅN StudentsInfo WHERE StudentName = 'Aahana'
GÅ
MERGE-satsen används för att utföra INSERT, UPDATE och DELETE-operationerna på en specifik tabell där källtabellen tillhandahålls. Se nedan.
Syntax
SÄTTA TagretTableName ANVÄNDNING SourceTableName ON MergeCondition NÄR MATCHAD DÄR Update_Statement NÄR INTE MATCHED THEN Insert_Statement NÄR INTE MATCHES MED KÄLLA DÄR RADERAR
Exempel
För att förstå MERGE-uttalandet, betrakta följande tabeller som källtabellen och måltabellen.
Källtabell:
Studentlegitimation | Elevs namn | Märken |
ett | jag hatar | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Måltabell:
Studentlegitimation | Elevs namn | Märken |
ett | jag hatar | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
MERGE SampleTargetTable TARGET ANVÄNDAR SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) NÄR MATCHED OCH MÅL.Studentnamn KÄLLA.Studentnamn ELLER MÅL.Märken KÄLLA. NÄR INTE MATCHES MED MÅL SÄTTAR DU IN (StudentID, StudentName, Marks) VÄRDEN (KÄLLA.StudentID, KÄLLA.Studentnamn, KÄLLA. Märken) NÄR INTE MATCHES MED KÄLLAN RADER Då
Produktion
Studentlegitimation | Elevs namn | Märken |
ett | jag hatar | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
VÄLJ
De VÄLJ uttalande används för att välja data från en databas, tabell eller vy. Data som returneras lagras i en resultattabell, kallad resultatet satt .
Syntax
SELECT Column1, Column2, ... ColumN FROM TableName - (*) används för att välja alla från tabellen SELECT * FROM table_name - För att välja antal poster som ska returneras: VÄLJ TOPP 3 * FRÅN TableName
Exempel
- För att välja några kolumner SELECT StudentID, StudentName FROM StudentsInfo - (*) används för att välja alla från tabellen VÄLJ * FROM StudentsInfo - För att välja antalet poster som ska returneras: VÄLJ TOPP 3 * FRÅN StudentsInfo
Vi kan också använda följande nyckelord med SELECT-uttalandet:
DISTINKT
Nyckelordet DISTINCT används tillsammans med SELECT-satsen för att bara returnera olika värden.
Syntax
VÄLJ DISTINCT Kolumn1, Kolumn2, ... KolumnN FRÅN tabellnamn
Exempel
VÄLJ DISTINCT Telefonnummer FRÅN StudentsInfo
SORTERA EFTER
Detta uttalande används för att sortera de önskade resultaten antingen i stigande eller fallande ordning. Som standard lagras resultaten i stigande ordning. Ändå, om du vill få resultaten i fallande ordning måste du använda DESC nyckelord.
Syntax
VÄLJ Kolumn1, Kolumn2, ... KolumnN FRÅN Tabellnamn BESTÄLLNING efter Kolumn1, Kolumn2, ... ASC | DESC
Exempel
- Välj alla elever från tabellen 'StudentsInfo' sorterade efter ParentName: VÄLJ * FRÅN StudentsInfo ORDER BY ParentName - Markera alla studenter från 'StudentsInfo' -tabellen sorterade efter ParentName i fallande ordning: VÄLJ * FRÅN StudentsInfo BESTÄLLNING EFTER föräldernamn DESC - Markera alla elever från tabellen 'StudentsInfo' sorterade efter föräldrar och studentnamn: VÄLJ * FRÅN StudenterInfo BESTÄLLNING AV Föräldrarnamn, Elevnamn / * Markera alla elever från tabellen 'StudentsInfo' sorterade efter föräldrar i fallande ordning och studentnamn i stigande ordning: * / VÄLJ * FRÅN StudentsInfo BESTÄLLNING EFTER Föräldernamn ASC, Studentnamn DESC
GRUPP AV
Detta uttalande används med aggregerade funktioner för att gruppera resultatuppsättningen med en eller flera kolumner.
Syntax
VÄLJ Kolumn1, Kolumn2, ..., KolumnN FRÅN Tabellnamn VAR Konditionsgrupp efter kolumnnamn BESTÄLLNINGAR efter kolumnnamn
Exempel
- Att lista antalet studenter från varje stad. VÄLJ RÄKN (StudentID), stad FRÅN StudentsInfo GRUPP PÅ stad
GRUPPERINGSSATSER
GROUPING SETS introducerades i SQL Server 2008, används för att generera en resultatsats som kan genereras av en UNION ALL av de flera enkla GROUP BY-klausulerna.
Syntax
VÄLJ KolumnNamn FRÅN Tabellnamn GRUPP PÅ GRUPPERINGSINSTÄLLNINGAR (Kolumnnamn)
Exempel
VÄLJ StudentID, Studentnamn, COUNT (stad) från StudentsInfo-gruppen VID GRUPPERINGSSETS ((StudentID, StudentName, City), (StudentID), (StudentName), (City))
HAR
Denna klausul används i scenariot där VAR sökord kan inte användas.
Syntax
VÄLJ kolumnnamn FRÅN tabellnamn VAR tillståndsgrupp efter kolumnnamn HAR tillstånd BESTÄLLNING efter kolumnnamn
Exempel
VÄLJ RÄKN (StudentID), stad FRÅN StudentInfo GRUPP PÅ Stad HAR RÄKN (StudentID)> 2 BESTÄLLNING PÅ RÄKN (StudentID) DESC
IN I
Nyckelordet INTO kan användas med VÄLJ uttalande för att kopiera data från en tabell till en annan. Du kan förstå att dessa tabeller är tillfälliga tabeller. De tillfälliga tabellerna används vanligtvis för att utföra manipulationer av data som finns i tabellen, utan att störa den ursprungliga tabellen.
Syntax
VÄLJ * IN I NewTable [IN ExternalDB] FRÅN OldTable WHERE skick
Exempel
- För att skapa en säkerhetskopia av tabellen 'StudentsInfo' VÄLJ * INTO StudentsBackup FRÅN StudentsInfo - För att välja bara några kolumner från StudentsInfo VÄLJ Studentnamn, Telefonnummer till StudentsDetails FRÅN StudentsInfo VÄLJ * IN PuneStudents FROM StudentsInfo WHERE City = 'Pune'
KUB
CUBE är en förlängning av GROUP BY-klausul . Det låter dig generera delsummorna för alla kombinationer av grupperingskolumnerna som anges i GROUP BY-satsen.
Syntax
VÄLJ kolumnnamn FRÅN tabellnamn GRUPP PÅ KUB (Kolumnnamn1, Kolumnnamn2, ....., KolumnnamnN)
Exempel
VÄLJ StudentID, RÄKN (Stad) FRÅN StudentInfo GRUPP PÅ KUB (StudentID) BESTÄLLNING AV StudentID
RULLA UPP
ROLLUP är en förlängning av GROUP BY-klausulen. Detta låter dig inkludera de extra raderna som representerar delsummorna. Dessa kallas superaggregerade rader tillsammans med den totala raden.
Syntax
VÄLJ kolumnnamn FRÅN tabellnamn GRUPP PÅ ROLLUP (Kolumnnamn1, Kolumnnamn2, ....., KolumnnamnN)
Exempel
VÄLJ StudentID, RÄKN (Stad) FRÅN StudentInfo GRUPP MED ROLLUP (StudentID)
OFFSET
OFFSET-satsen används med SELECT och BESTÄLLA PÅ uttalande för att hämta en rad poster. Den måste användas med ORDER BY-klausulen eftersom den inte kan användas ensam. Området som du nämner måste också vara lika med eller större än 0. Om du nämner ett negativt värde visar det ett fel.
Syntax
VÄLJ kolumnnamn) FRÅN tabellnamn VAR villkor BESTÄLLNING efter kolumnnamn OFFSET RaderToSkip RADER
Exempel
Tänk på en ny kolumn Märken i StudentsInfo tabell.
VÄLJ Studentnamn, föräldrarnamn FRÅN StudentInfo BESTÄLLNING EFTER Märken OFFSET 1 RADER
HÄMTA
FETCH-satsen används för att returnera en uppsättning med ett antal rader. Den måste användas tillsammans med OFFSET-klausulen.
Syntax
VÄLJ kolumnnamn) FRÅN tabellnamn VAR tillstånd BESTÄLLNING efter kolumnnamn OFFSET RaderToSkip FETCH NEXT NumberOfRows ROWS ONLY
Exempel
VÄLJ Studentnamn, föräldrarnamn FRÅN Studentinfo BESTÄLLNING PÅ Märken OFFSET 1 RAD FETCH NÄSTA 1 RAD ENDAST
TOPP
TOP-klausulen används med SELECT-satsen för att nämna antalet poster som ska returneras.
Syntax
VÄLJ ÖPPNA Antal Kolumnnamn FRÅN bordsnamn VAR tillstånd
Exempel
VÄLJ TOPP 3 * FRÅN StudentsInfo
SVÄNGA
PIVOT används för att rotera raderna till kolumnvärden och kör aggregeringar när det behövs för de återstående kolumnvärdena.
Syntax
VÄLJ icke-svängbart kolumnnamn, [första svängda kolumnnamn] som kolumnnamn, [andra svängda kolumnnamn] som kolumnnamn, [tredje svängda kolumnnamn] som kolumnnamn, ... [senaste svängda kolumnnamn] som kolumnnamn FRÅN (VÄLJ fråga som producerar data) AS [alias för den ursprungliga frågan] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName of the column vars värden blir kolumnrubriker] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [sista svängbar kolumn])) AS [alias för pivottabellen]
Exempel
För att få ett detaljerat exempel kan du hänvisa till min artikel om SQL PIVOT och UNPIVOT . Nästa i denna SQL Server-handledning, låt oss titta på de olika operatörerna som stöds av Microsoft SQL Server.
Operatörer
De olika typer av operatörer stöds av SQL Server är följande:
- Aritmetiska operatörer
- Uppdragsoperatörer
- Bitvisa operatörer
- Jämförelseoperatörer
- Sammansatta operatörer
- Logiska operatörer
- Omfattningsupplösningsoperatörer
- Ställ operatörer
- Strängkonkateringsoperatörer
Låt oss diskutera var och en av dem en efter en.
Aritmetiska operatörer
Operatör | Menande | Syntax |
+ | Tillägg | uttryck + uttryck |
- | Subtraktion | uttryck - uttryck |
* | Multiplikation | uttryck * uttryck |
/ hur man gör en jframe i java | Divison | uttryck / uttryck |
% | Modulös | uttryck% uttryck |
Uppdragsoperatörer
Operatör | Menande | Syntax |
= | Tilldela ett värde till en variabel | variabel = 'värde' |
Bitvisa operatörer
Operatör | Menande | Syntax |
& (Bitvis OCH) | Används för att utföra en bitvis logisk OCH-operation mellan två heltal. | uttryck & uttryck |
& = (Bitvis OCH Uppgift) | Används för att utföra en bitvis logisk OCH-operation mellan två heltal. Det ställer också in ett värde på utgången för operationen. | uttryck & = uttryck |
| (Bitvis ELLER) | Används för att utföra en bitvis logisk ELLER-operation mellan två heltal som översätts till binära uttryck inom Transact-SQL-satser. | uttryck | uttryck |
| = (Bitvis ELLER tilldelning) | Används för att utföra en bitvis logisk ELLER-operation mellan två heltal som översätts till binära uttryck inom Transact-SQL-satser. Det ställer också in ett värde på utgången för operationen. | uttryck | = uttryck |
^ (Bitvis exklusivt ELLER) | Används för att utföra en bitvis exklusiv ELLER-operation mellan två heltal. | uttryck ^ uttryck |
^ = (Bitvis exklusiv ELLER uppgift) | Används för att utföra en bitvis exklusiv ELLER-operation mellan två heltal. Det ställer också in ett värde på utgången för operationen. | uttryck ^ = uttryck |
~ (Bitvis INTE) | Används för att utföra en bitvis logisk NOT-operation på ett heltal. | ~ uttryck |
Jämförelseoperatörer
Operatör | Menande | Syntax |
= | Lika med | uttryck = uttryck |
> | Större än | uttryck> uttryck |
< | Mindre än | uttryck |
> = | Större än eller lika med | uttryck> = uttryck |
<= | Mindre än eller lika med | uttryck<= expression |
Inte lika med | uttrycksuttryck | |
! = | Inte lika med | uttryck! = uttryck |
!< | Inte mindre än | uttryck! |
!> | Inte större än | uttryck!> uttryck |
Sammansatta operatörer
Operatör | Menande | Syntax |
+ = | Används för att addera värde till originalvärdet och ställa in originalvärdet till resultatet. | uttryck + = uttryck |
- = | Används för att subtrahera ett värde från det ursprungliga värdet och ställa in det ursprungliga värdet till resultatet. | uttryck - = uttryck |
* = | Används för att multiplicera värdet till det ursprungliga värdet och ställa in det ursprungliga värdet till resultatet. | uttryck * = uttryck |
/ = | Används för att dela ett värde från det ursprungliga värdet och ställa in det ursprungliga värdet till resultatet. | uttryck / = uttryck |
% = | Används för att dela ett värde från det ursprungliga värdet och ställa in det ursprungliga värdet till resultatet. | uttryck% = uttryck |
& = | Används för att utföra en bitvis OCH-operation och ställa in originalvärdet till resultatet. | uttryck & = uttryck |
^ = | Används för att utföra en bitvis exklusiv ELLER-operation och ställa in originalvärdet till resultatet. | uttryck ^ = uttryck |
| = | Används för att utföra en bitvis ELLER-operation och ställa in originalvärdet till resultatet. | uttryck | = uttryck |
Logiska operatörer
Operatör | Menande | Syntax |
ALLT | Returnerar SANT om alla jämförelser är SANT. | scalar_expression! = ALL (underfråga) |
OCH | Returnerar SANT om båda uttrycken är SANT. | boolean_expression AND boolean_expression |
NÅGRA | Returnerar SANT om någon av en jämförelse är SANT. | scalar_expression! = {ANY} (underfråga) |
MELLAN | Returnerar SANT om en operand ligger inom ett intervall. | exempeluttryck [INTE] MELLAN beginexpression OCH endexpression |
EXISTERAR | Returnerar SANT om en underfråga innehåller några rader. | EXISTS (underfråga) |
I | Returnerar SANT om en operand är lika med en av en lista med uttryck. | test_expression [NOT] IN (underfråga | expression [,… n]) |
Returnerar SANT om en operand matchar ett mönster. | match_expression [NOT] LIKE mönster [ESCAPE escape_character] | |
INTE | Omvandlar värdet på alla booleska operatörer. | [NOT] boolean_expression |
ELLER | Returnerar SANT om något av det booleska uttrycket är SANT. | boolean_expression ELLER boolean_expression |
VISSA | Returnerar SANT om en del av en jämförelse är SANT. | scalar_expression<= { SOME} ( subquery ) |
Omfattningsupplösningsoperatörer
Operatör | Menande | Exempel |
:: | Ger åtkomst till statiska medlemmar av en sammansatt datatyp. Sammansatta datatyper är de datatyper som innehåller flera metoder och enkla datatyper. Sammansatta datatyper Dessa inkluderar de inbyggda CLR-typerna och anpassade SQLCLR användardefinierade typer (UDT). | FÖRKLARA @hid hierarchyid VÄLJ @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString () |
Ställ operatörer
Det finns huvudsakligen tre uppsatta operationer:UNION,KORSAS,MINUS. Du kan hänvisa till bilden nedan för att förstå inställda operationer i SQL. Se nedanstående bild:
Operatör | Menande | Syntax |
UNION | UNION-operatören används för att kombinera resultatuppsättningen av två eller flera SELECT-uttalanden. | VÄLJ kolumnnamn från tabell 1 UNION VÄLJ kolumnnamn från tabell 2 |
KORSAS | INTERSECT-klausulen används för att kombinera tvåVÄLJuttalanden och returnera skärningspunkten för datauppsättningarna för båda SELECT-uttalandena. | VÄLJ Kolumn1, Kolumn2…. FRÅN TableName VAR tillstånd KORSAS VÄLJ Kolumn1, Kolumn2…. FRÅN TableName VAR tillstånd |
BORTSETT FRÅN | EXCEPT-operatören returnerar de tuples som returneras av den första SELECT-operationen och inte returneras av den andra SELECT-operationen. | VÄLJ kolumnnamn FRÅN TableName BORTSETT FRÅN VÄLJ kolumnnamn FRÅN TableName |
Strängoperatörer
Operatör | Menande | Syntax / exempel |
+ (Strängsammankoppling) | Sammankopplar två eller flera binära eller teckensträngar, kolumner eller en kombination av strängar och kolumnnamn till ett enda uttryck | uttryck + uttryck |
+ = (Strängsammankoppling) | Används för att sammanfoga två strängar och ställa in strängen till resultatet av operationen. | uttryck + = uttryck länkad lista i c-program |
% (Jokertecken som matchar) | Används för att matcha valfri sträng med noll eller fler tecken. | Exempel: 'prov%' |
[] (Jokertecken som matchar) | Används för att matcha ett enstaka tecken inom det angivna intervallet eller uppsättningen som anges mellan parenteser []. | Exempel: m [n-z]% ’ |
[^] (Jokertecken som matchar) | Används för att matcha ett enstaka tecken som inte ligger inom det intervall eller uppsättning som anges mellan hakparenteserna. | Exempel: 'Al [^ a]%' |
_ (Jokertecken som matchar) | Används för att matcha ett enstaka tecken i en strängjämförelseoperation | test_expression [NOT] IN (underfråga | expression [,… n]) |
Sammanlagt Funktioner
Den annorlunda aggregerade funktioner stöds av SQL Server är följande:
Fungera | Beskrivning | Syntax | Exempel |
BELOPP() | Används för att returnera summan av en grupp värden. | VÄLJ SUMMA (kolumnnamn) FRÅN bordsnamn | VÄLJ SUMMA (märken) FRÅN StudentsInfo |
RÄKNA() | Returnerar antalet rader antingen baserat på ett villkor eller utan ett villkor. | VÄLJ RÄKN (kolumnnamn) FRÅN bordsnamn VAR villkor | VÄLJ RÄKN (StudentID) FRÅN StudentsInfo |
AVG () | Används för att beräkna medelvärdet för en numerisk kolumn. | VÄLJ AVG (ColumnName) FRÅN TableName | VÄLJ AVG (märken) FRÅN StudentsInfo |
MIN () | Den här funktionen returnerar minimivärdet för en kolumn. | VÄLJ MIN (kolumnnamn) FRÅN bordsnamn | VÄLJ MIN (märken) FRÅN StudentsInfo |
MAX () | Returnerar ett maximalt värde för en kolumn. | VÄLJ MAX (kolumnnamn) FRÅN bordsnamn | VÄLJ MAX (märken) FRÅN StudentsInfo |
FÖRST() | Används för att returnera det första värdet i kolumnen. | VÄLJ FÖRST (kolumnnamn) FRÅN bordsnamn | VÄLJ FÖRSTA (märken) FRÅN StudentsInfo |
SISTA() | Denna funktion returnerar kolumnens sista värde. | VÄLJ SENASTE (kolumnnamn) FRÅN tabellnamn | VÄLJ SENASTE (märken) FRÅN StudentsInfo |
Användardefinierade funktioner
Microsoft SQL Server tillåter användare att skapa användardefinierade funktioner som är rutiner. Dessa rutiner accepterar parametrar, kan utföra enkla till komplexa åtgärder och returnera resultatet av just den åtgärden som ett värde. Här kan det returnerade värdet antingen vara ett enda skalarvärde eller en komplett resultatuppsättning.
Du kan använda användardefinierade funktioner för att:
- Tillåt modulär programmering
- Minska nätverkstrafiken
- Tillåt snabbare körning av frågor
Det finns också olika typer av användardefinierade funktioner som du kan skapa. Dom är:
- Skalarfunktioner: Brukadereturnera ett enskilt datavärde av den typ som definieras i RETURNS-satsen.
- Tabellvärderade funktioner: Brukadereturnera atabelldata typ.
- Systemfunktioner: En mängd olika systemfunktioner tillhandahålls av SQL Server för att utföra olika operationer.
Bortsett från de användardefinierade funktionerna finns det en massa inbyggda funktioner i SQL Server som kan användas för att utföra en mängd olika uppgifter. Gå vidare i den här artikeln om SQL Server-handledning, låt oss nu förstå vad som är kapslade frågor.
Kapslade frågor
Kapslade frågor är de frågor som har en yttre fråga och en inre fråga. Så i grund och botten är underfrågan en fråga som är kapslad i en annan fråga som SELECT, INSERT, UPDATE eller DELETE. Se bilden nedan:
Nästa i denna SQL Server-handledning, låt oss förstå de olika typerna av kopplingar i SQL.
Går med
används för att kombinera tuplar från två eller flera tabeller, baserat på en relaterad kolumn mellan tabellerna. Det finns fyra typer av kopplingar:
- INRE KOPPLING: Returnerar poster som har matchande värden i båda tabellerna.
- VÄNSTER GÅ MED: Returnerar poster från den vänstra tabellen och även de poster som uppfyller villkoret från den högra tabellen.
- HÖGER GÅ MED: Returnerar poster från höger tabell och även de poster som uppfyller villkoret från vänster tabell.
- HELT GÅ MED: Returnerar poster som antingen har en matchning i vänster eller höger tabell.
Tänk på följande tabell tillsammans med StudentsInfo-tabellen för att förstå syntaxen för sammanfogningar.
SubjectID | Studentlegitimation | Ämnesnamn |
10 | 10 | Matte |
2 | elva | Fysik |
3 | 12 | Kemi |
INRE KOPPLING
Syntax
VÄLJ kolumnnamn FRÅN tabell 1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Exempel
VÄLJ Subjects.SubjectID, StudentsInfo.StudentName FROM Subjects INNER JOIN StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID
VÄNSTER GÅ MED
Syntax
VÄLJ kolumnnamn FRÅN tabell 1 VÄNSTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Exempel
VÄLJ StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo VÄNSTER JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID BESTÄLLNING AV StudentsInfo.StudentName
RÄTT GÅ MED
Syntax
VÄLJ kolumnnamn FRÅN tabell 1 RIGHT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Exempel
VÄLJ StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo RIGHT JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID BESTÄLLNING AV StudentsInfo.StudentName
HELT GÅ MED
Syntax
VÄLJ kolumnnamn FRÅN tabell 1 FULL OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Exempel
VÄLJ StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo FULL OUTER JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
Därefter, i den här artikeln om SQL Server-handledning, låt oss förstå de olika typerna av loopar som stöds av SQL Server.
Öglor
De olika kontroll-of-flow-kommandona är som följer:
Låt oss diskutera var och en av dem en efter en.
BÖRJAN..SLUTA
Dessa nyckelord används för att bifoga en serie SQL-uttalanden. Sedan kan denna grupp av SQL-uttalanden köras.
Syntax
BEGIN StatementBlock END
HA SÖNDER
Detta uttalande används för att avsluta den aktuella WHILE-slingan. Om den nuvarande WHILE-slingan är kapslad inuti en annan slinga, avslutas BREAK-satsen endast den aktuella slingan och kontrollen skickas vidare till nästa sats i den aktuella slingan. BREAK-uttalandet används vanligtvis i ett IF-uttalande.
Syntax
HA SÖNDER
FORTSÄTTA
CONTINUE-uttalandet används för att starta om en WHILE-loop. Så alla uttalanden efter FORTSÄTT-nyckelordet ignoreras.
Syntax
FORTSÄTTA
Här är etiketten den punkt efter vilken bearbetningen startar om en GOTO är riktad mot den aktuella etiketten.
GÅ TILL
Används för att ändra flödet av körning till en etikett. Uttalandena skrivna efter GOTO-nyckelordet hoppas över och bearbetningen fortsätter på etiketten.
Syntax
Definiera etikett: Etikett: Ändra utförande: GOTO-etikett
Här är etiketten den punkt efter vilken bearbetningen startar om en GOTO är riktad mot den aktuella etiketten.
OM ANNAT
Liksom alla andra programmeringsspråk testar If-else-uttalandet i SQL Server villkoret och om villkoret är falskt körs 'else' -utdraget.
Syntax
IF BooleanExpression StatementBlock [ELSE StatementBlock]
LÄMNA TILLBAKA
Används för att avsluta villkorslöst från en fråga eller procedur. Så uttalandena som är skrivna efter RETURN-klausulen körs inte.
Syntax
RETUR [IntegerExpression]
Här returneras ett heltal.
VÄNTA PÅ
WAITFOR-kontrollflödet används för att blockera körningen av en lagrad procedur, transaktion eller en batch tills ett specifikt uttalande ändras, returnerar minst en rad eller ett angivet tids- eller tidsintervall har gått.
Syntax
WAITFOR (GetConversionGroupStatement)] [, TIMEOUT timeout]
var,
- DRÖJSMÅL - Tidsperiod som måste gå
- TimeToPass - Ptid att vänta
- TID - Dentid när den lagrade proceduren, transaktionen eller batchen körs.
- TimeToExecute - Dentid då WAITFOR-uttalandet avslutas.
- RecieveStatement - TILLgiltigt RECEIVE-uttalande.
- GetConversionGroupStatement - TILLgiltigt UTTALANDE GRUPPEN uttalande.
- TIMEOUT timeout - Anger tidsperioden, i millisekunder, för att vänta på att ett meddelande kommer till kön.
MEDAN
Denna slinga används för att ställa in ett villkor för upprepad körning av en viss SQL-sats eller ett SQL-satsblock. Uttalanden utförs så länge som villkoret som användaren nämner är SANT. Så snart villkoret misslyckas slutar slingan att köras.
Syntax
MEDAN BooleanExpression StatementBlock
Nu, när ni känner till DML-kommandona, går vi vidare till nästa avsnitti den här artikeln om SQL Tutorial, dvs. DCL-kommandona.
Data Control Language Commands (DCL)
Det här avsnittet i SQL Server-handledning ger dig en uppfattning om kommandot som används för att upprätthålla databassäkerhet i databasmiljöer med flera användare. Kommandona är som följer:
BEVILJA
GRANT-kommandot används för att ge användarna åtkomst eller behörighet till databasen och dess objekt.
Syntax
GRANT PrivilegeName PÅ Objektnamn TILL Rollnamn [MED GRANT-ALTERNATIV]
var,
- PrivilegeName - Beviljas användaren behörighet / rättighet / åtkomst.
- Objektnamn - Namn på ett databasobjekt som TABELL / VIEW / STORED PROC.
- Användarnamn - Namnet på användaren som får åtkomst / rättigheter / behörigheter.
- OFFENTLIG - Att bevilja åtkomsträttigheter till alla användare.
- Rollnamn - Namnet på en uppsättning privilegier grupperade tillsammans.
- MED BILAGAALTERNATIV - Att ge användaren åtkomst för att ge andra användare rättigheter.
Exempel
- Att bevilja SELECT-behörighet till StudentsInfo-tabellen till användare1 BILAGA VÄLJ PÅ StudentsInfo TILL användare1
ÅTERKALLA
REVOKE-kommandot används för att återkalla användarens åtkomstbehörighet som ges med kommandot GRANT.
Syntax
REVOKE PrivilegeName ON ObjectName FROM PUBLIC
Exempel
- Återkalla beviljat tillstånd från användare1 ÅTERKOPPLA VÄLJ PÅ StudentsInfo TILL användare1
Fortsätt i denna SQL Server-handledning, låt oss förstå hur man skapar och använder lagrade procedurer.
Lagrade procedurer
Lagrade procedurer är återanvändbara enheter som inkapslar en specifik affärslogik för applikationen. Så det är en grupp SQL-uttalanden och logik, sammanställs och lagras tillsammans för att utföra en specifik uppgift.
Syntax
SKAPA [ELLER Byt ut] PROCEDUR procedurnamn [(parameternamn [IN | UT | IN UT] typ [])] ÄR BÖRJAN [deklarationssektion] körbar_sektion // SQL-sats som används i den lagrade proceduren END GO
Exempel
- Skapa en procedur som returnerar ett studentnamn när StudentId ges som ingångsparameter till den lagrade proceduren Skapa PROCEDUR GetStudentName (@StudentId INT, --Inputparameter, @StudName VARCHAR (50) OUT - Output parameter, AS BEGIN SELECT @StudName = Studentnamn FRÅN StudentsInfo VAR StudentID = @ StudentId SLUT
Steg för att utföra:
- Förklara @StudName som nvarchar (50)
- EXEC GetStudentName 01, @StudName-utdata
- VÄLJ @StudName
Ovanstående procedur returnerar namnet på en viss student,om att ge studenterna id som input. Nästa i denna SQL Server-handledning, låt oss förstå kommandona för transaktionskontrollspråk.
Språkkommandon för transaktionskontroll (TCL)
Det här avsnittet i SQL Server-handledning ger dig en inblick i kommandona som används för att hantera transaktioner i databasen.Kommandona är som följer:
BEGÅ
COMMIT-kommandot används för att spara transaktionen i databasen.
Syntax
BEGÅ
RULLA TILLBAKA
ROLLBACK-kommandot används för att återställa databasen till det senast begagnade tillståndet.
Syntax
RULLA TILLBAKA
NOTERA: När du använder ROLLBACK med SAVEPOINT kan du direkt hoppa till en sparpunkt i en pågående transaktion. Syntax: ROLLBACK TILL SavepointName
SAVEPOINT
SAVEPOINT-kommandot används för att tillfälligt spara en transaktion. Så om du vill återgå till någon punkt kan du spara den punkten som en 'SAVEPOINT'.
Syntax
SAVEPOINT SAVEPOINTNAME
Tänk på nedanstående tabell för att förstå hur transaktioner fungerar i databasen.
Studentlegitimation | Elevs namn |
ett | Rohit |
2 | Suhana |
3 | Ashish |
4 | Prerna |
Använd nu nedan för att förstå transaktionerna i databasen.
INSERT IN StudentTable VALUES (5, 'Avinash') PÅGÅ UPPDATERING Studenttable SET-namn = 'Akash' VAR id = '5' SAVEPOINT S1 INSERT INTO StudentTable VALUES (6, 'Sanjana') SAVEPOINT S2 INSERT TO StudentTable VALUES (7, 'Sanjay ') SAVEPOINT S3 INSERT TO StudentTable VALUES (8,' Veena ') SAVEPOINT S4 VÄLJ * FRÅN StudentTable
Nästa i den här artikeln om SQL Server-handledning kan vi förstå hur man hanterar undantag i Transact-SQL.
Undantagshantering
Det finns två typer av undantag, dvs. systemdefinierade undantag och användardefinierade undantag. Som namnet antyder är hanteringen av undantag en process genom vilken en användare kan hantera de genererade undantagen. För att hantera undantag måste du förstå följande kontrollflödesuttalanden:
KASTA
Denna klausul används för att höja ett undantag och överför exekveringen till ett CATCH-block för en TRY ... CATCH-konstruktion.
Syntax
Kasta [ErrorNumber, @localvariable, State] []
var,
- Felnummer - TILLkonstant eller variabel som representerar undantaget.
- Meddelande - TILLvariabel eller sträng som beskriver undantaget.
- stat -En konstant eller variabel mellan 0 och 255 som indikerar det tillstånd som ska associeras med meddelandet.
Kasta 51000, 'Record existerar inte.', 1
FÖRSÖK FÅNGA
Används för att implementera undantagshantering i Transact-SQL. En grupp uttalanden kan bifogas i TRY-blocket. Om ett fel inträffar i TRY-blocket överförs kontrollen till en annan grupp av uttalanden som är inneslutna i ett CATCH-block.
Syntax
BEGIN TRY StatementBlock END PROV BEGIN CATCH [StatementBlock] END CATCH []
BÖRJA PRÖVA VÄLJ * FRÅN StudentsInfo AVSLUTA PRÖVA BÖRJA Fånga VÄLJ FEL_NUMBER () SOM ErNUM, ERROR_MESSAGE () SOM ErMsg END CATCH
I med detta kommer vi till slutet av den här artikeln om SQL Server Tutorial. Jag hoppas att du tyckte om att läsa den här artikeln om SQL Server Tutorial för nybörjare.Jag Om du vill få en strukturerad utbildning om MySQL, kolla in vår som kommer med instruktörsledad live-utbildning och verklig projektupplevelse. Denna utbildning hjälper dig att förstå MySQL på djupet och hjälper dig att behärska ämnet. Har du en fråga till oss? Vänligen nämna det i kommentarfältet i ” SQL Server-handledning ”Och jag kommer tillbaka till dig.