SQL Server-zelfstudie - Alles wat u nodig hebt om Transact-SQL onder de knie te krijgen



Dit artikel over SQL Server-zelfstudie is een uitgebreide gids over de verschillende concepten, syntaxis en opdrachten die worden gebruikt in MS SQL Server.

In de huidige markt, waar elke dag een gigantische hoeveelheid gegevens wordt gegenereerd, is het erg belangrijk om te begrijpen hoe u met gegevens om moet gaan. SQL Server is een geïntegreerde omgeving die door Microsoft is ontwikkeld om gegevens te verwerken.In dit artikel over de SQL Server-zelfstudie leert u alle bewerkingen en opdrachten die u nodig hebt om uw databases te verkennen.

Voor een beter begrip heb ik de blog onderverdeeld in de volgende categorieën:





Commando's Omschrijving

Data Definition Language-opdrachten (DDL)

Deze set opdrachten wordt gebruikt om een ​​database te definiëren.

Data Manipulation Language-opdrachten (DML)



De manipulatiecommando's worden gebruikt om de gegevens in de database te manipuleren.

Data Control Language-opdrachten (DCL)

Deze set opdrachten heeft betrekking op de machtigingen, rechten en andere controles van de databasesystemen.

Transaction Control Language-opdrachten (TCL)

Deze commando's worden gebruikt om afhandelen van de transactie van de database.

Afgezien van de opdrachten, worden de volgende onderwerpen in dit artikel behandeld:



MS SQL Server - SQL Server-zelfstudie - Edureka

  1. Wat is SQL Server?
  2. Installeer SQL Server
  3. Maak verbinding met SQL Server met behulp van SSMS
  4. Toegang tot Database Engine
  5. SQL Server-architectuur
  6. Opmerkingen in SQL
  7. SQL Server-gegevenstypen
  8. Sleutels in database
  9. Beperkingen in de database
  10. Operatoren
  11. Geaggregeerde functies
  12. Door de gebruiker gedefinieerde functies
  13. Geneste zoekopdrachten
  14. Doet mee
  15. Loops
  16. Opgeslagen procedures
  17. Afhandeling van uitzonderingen

***OPMERKING*** In deze SQL Server-zelfstudie ga ik de onderstaande database beschouwen alseen voorbeeld om u te laten zien hoe u moet leren en schrijvencommando's.

StudentID Studenten naam Ouders naam Telefoonnummer Adres stad Land
eenIk haatAkriti mehra9955339966Brigade Road Block 9HyderabadIndia
2ManasaShourya Sharma9234568762Mayo Road 15KolkataIndia
3AnaySoumya Mishra9876914261Marathalli House No 101BengaluruIndia
4PreetiRohan Sinha9765432234Queens Road 40DelhiIndia
5ShanayaAbhinay agarwal9878969068Oberoi-straat 21MumbaiIndia

Voordat we beginnen met het begrijpen van de verschillende opdrachten die in SQL Server worden gebruikt, moeten we eerst begrijpen wat SQL Server is, wat de architectuur is en hoe we het moeten installeren.

Wat is SQL Server?

Microsoft SQL Server is een relationele databasemanagementsysteem . Het ondersteunt het Structured Query Language en wordt geleverd met zijn eigen implementatie van de SQL-taal die de Transact-SQL (T-SQL) . Het heeft een geïntegreerde omgeving om SQL-databases te verwerken, namelijk het .

De belangrijkste componenten van SQL Server zijn als volgt:

  • Database-engine: Deze component behandelt opslag, snelle transactieverwerking en gegevensbeveiliging.
  • SQL Server - Deze service wordt gebruikt om het exemplaar van MS SQL Server te starten, stoppen, pauzeren en voort te zetten.
  • SQL Server Agent - De Server Agent-service speelt de rol van taakplanner en wordt geactiveerd door elke gebeurtenis of volgens de vereisten.
  • SQL Server-browser - Deze service wordt gebruikt om het inkomende verzoek te verbinden met de gewenste SQL Server-instantie.
  • SQL Server Full-Text Search - Wordt gebruikt om de gebruiker volledige-tekstquery's te laten uitvoeren op de tekengegevens in SQL-tabellen.
  • SQL Server VSS-schrijver - Maakt back-ups en herstel van gegevensbestanden mogelijk wanneer SQL Server niet wordt uitgevoerd.
  • SQL Server Analysis Services (SSAS) - Deze dienst wordt gebruikt om data-analyse, datamining en mogelijkheden. De SQL Server is ook geïntegreerd met en R voor geavanceerde data-analyse.
  • SQL Server Reporting Services (SSRS) - Zoals de naam al doet vermoeden, wordt deze service gebruikt om functies en besluitvormingsmogelijkheden te bieden, inclusief integratie met .
  • SQL Server-integratieservices (SSIS) - Deze service wordt gebruikt om de ETL-bewerkingen uit te voeren voor verschillende soorten gegevens uit meerdere gegevensbronnen.

Nu u weet wat MS SQL Server is, gaan we verder met dit artikel over de SQL Server-zelfstudie en begrijpen we hoe u SQL Server moet installeren en instellen.

Installeer SQL Server

Volg de onderstaande stappen om SQL Server te installeren:

Stap 1: Ga naar de officiële pagina van Microsoft SQL Server-download , waar u de optie vindt om SQL Server on-premise of in de cloud te installeren.

Stap 2: Blader nu naar beneden en je ziet twee opties: Developer & Enterprise-editie . Hier zal ik het Developer-editie . Om te downloaden, hoeft u alleen maar op het Download nu keuze. Zie hieronder.

Stap 3: Nadat de applicatie is gedownload, dubbelklikt u op het bestand en ziet u het volgende venster.

Stap 4: Nu kunt u een van de drie opties kiezen om SQL Server in te stellen. Hier kies ik gewoon de Basisoptie . Bij het selecteren van de optie voor het installatietype, zou het volgende scherm zijn om de licentieovereenkomst te accepteren. Om dat te doen, klikt u op Aanvaarden in het volgende venster.

Stap 5: Vervolgens moet u de installatielocatie van SQL Server opgeven. Vervolgens moet u op Installeren klikken.

Zodra u op klikt Installeren , zult u zien dat de vereiste pakketten worden gedownload. Nu, nadat de installatie is voltooid, ziet u het volgende scherm:

Hier kunt u doorgaan en op Nu verbinden klikken, of u kunt de installatie aanpassen. Voor een beter begrip zal ik doorgaan en kiezen Aanpassen.

Stap 6: Zodra u op klikt Aanpassen in het bovenstaande venster ziet u de volgende wizard openen. klik in het volgende venster op De volgende.

Stap 7: Nadat de regels automatisch zijn geïnstalleerd, klikt u op De volgende . Zie hieronder.

Stap 8: Vervolgens moet u het installatietype kiezen. Kies dus het Voer een nieuwe installatie van SQL Server 2017 optie en klik vervolgens op De volgende.

Stap 9: Kies de editie in de wizard die wordt geopend: Ontwikkelaar. Klik vervolgens op De volgende . Zie hieronder.

Stap 10: Lees en accepteer nu de licentieovereenkomsten door het keuzerondje in te checken en vervolgens op te klikken De volgende . Zie hieronder.

Stap 11: In de onderstaande wizard kunt u de functies kiezen die u wilt installeren. U kunt ook de hoofdmap van het exemplaar kiezen en vervolgens op klikken De volgende . Hier zal ik de Database Engine Services .

Stap 12: Vervolgens moet u de instantie een naam geven en automatisch wordt de instantie-ID gemaakt. Hier noem ik de instantie 'edureka'. Klik vervolgens op De volgende.

Stap 13: Klik in de serverconfiguratiewizard op De volgende .

Stap 14: Nu moet u de authenticatiemodi inschakelen. Hier ziet u het Windows-verificatiemodus en Gemengde modus . Ik zal Mixed Mode kiezen. Noem dan het wachtwoord en dan zal ik de huidige gebruiker toevoegen als beheerder door de Voeg huidige gebruiker toe keuze.

Stap 15: Kies vervolgens het pad van het configuratiebestand en klik op Installeren .

Nadat de installatie is voltooid, ziet u het volgende scherm:

Maak verbinding met SQL Server met behulp van SSMS

Nadat de SQL Server is geïnstalleerd, is uw volgende stap het verbinden van de SQL Server met SQL Server Management Studio. Volg hiervoor de onderstaande stappen:

Stap 1: Ga terug naar het volgende venster en klik op het installeer SSMS keuze.

Stap 2: Zodra u op die optie klikt, wordt u doorgestuurd naar het volgende pagina , waar je moet kiezen Download SSMS.

Stap 3: Nadat de setup is gedownload, dubbelklikt u op de applicatie en ziet u de volgende wizard openen.

Stap 4: Klik op Installeer optie , in het bovenstaande venster en u zult zien dat die installatie zal beginnen.

Stap 5: Nadat de installatie is voltooid, krijgt u een dialoogvenster zoals hieronder weergegeven.

Nadat u het SSMS hebt geïnstalleerd, is de volgende stap toegang tot het Database-engine .

Toegang tot database-engine

Wanneer u het SQL Server-beheerstudio van de start menu , wordt een venster geopend dat lijkt op het venster dat in de onderstaande afbeelding wordt weergegeven.

Vermeld hier de servernaam, authenticatiemodus en klik op Aansluiten.

Nadat je op hebt geklikt Aansluiten , ziet u het volgende scherm.

Nou mensen, dat is hoe je de SQL Server installeert en instelt. Laten we nu verdergaan in deze SQL Server-zelfstudie, laten we de verschillende componenten van de architectuur van SQL Server begrijpen.

SQL Server-architectuur

De architectuur van SQL Server is als volgt:

  • Server & minus Hier worden de SQL-services geïnstalleerd en staat de database
  • Relationele engine & minus Bevat de queryparser, optimizer en de uitvoerder en de uitvoering vindt plaats in de relationele engine.
  • Commando Parser & minus Controleert de syntaxis van de query en converteert de query naar machinetaal.
  • Optimizer & minus Bereidt het uitvoeringsplan voor als uitvoer door statistieken, query's en Algebrator-boom als invoer te nemen.
  • Query-uitvoerder & minus Dit is de plaats waar queries stap voor stap worden uitgevoerd
  • Opslag-engine & minus Dit is verantwoordelijk voor het opslaan en opvragen van gegevens op het opslagsysteem, het manipuleren van gegevens, het beheren en vergrendelen van transacties.

Nu u weet hoe u SQL Server en de verschillende componenten ervan moet instellen en installeren, kunnen we beginnen met schrijven Server. Maar laat me eerst bespreken hoe u opmerkingen in SQL Server kunt schrijven.

Opmerkingen in SQL Server

Er zijn twee manieren waarop u commentaar kunt geven in SQL, d.w.z. gebruik de s ingle-line opmerkingen of de m ulti-line opmerkingen .

Opmerkingen met één regel

De opmerkingen van één regel beginnen met twee koppeltekens (-). Daarom wordt de tekst die wordt genoemd na (-), tot het einde van een enkele regel genegeerd door de compiler.

Voorbeeld:

- Voorbeeld van opmerkingen met één regel

Opmerkingen met meerdere regels

De meerregelige opmerkingen beginnen met / * en eindigen met * / . Vandaar dat de tekst tussen / * en * / wordt genegeerd door de compiler.

Voorbeeld:

/ * Voorbeeld voor opmerkingen met meerdere regels * /

Laten we nu in dit artikel over de SQL Server-zelfstudie beginnen met de eerste set opdrachten, d.w.z. Data Definition Language-opdrachten.

Data Definition Language-opdrachten

Dit gedeelte van het artikel geeft u een idee over de opdrachten waarmee u uw database kunt definiëren. De commando's zijn als volgt:

CREËER

Dit statement wordt gebruikt om een ​​tabel, database of view aan te maken.

De ‘CREATE DATABASE’ -verklaring

Deze verklaring wordt gebruikt om een ​​database aan te maken.

Syntaxis

CREATE DATABASE DatabaseName

Voorbeeld

CREËER DATABASE Studenten

De ' MAAK EEN TABEL ' Uitspraak

Zoals de naam doet vermoeden, wordt deze instructie gebruikt om een ​​tabel te maken.

Syntaxis

CREATE TABLE TableName (datatype Kolom1, datatype Kolom2, datatype Kolom3, ... KolomN datatype)

Voorbeeld

TABEL MAKEN StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Land varchar (8000))

LATEN VALLEN

Deze instructie wordt gebruikt om een ​​bestaande tabel, database of view te verwijderen.

De ‘DROP DATABASE’-verklaring

Deze instructie wordt gebruikt om een ​​bestaande database te verwijderen. De volledige informatie die in de database aanwezig is, gaat verloren zodra u de onderstaande opdracht uitvoert.

Syntaxis

DROP DATABASE Databasenaam

Voorbeeld

DROP DATABASE Studenten

De ‘DROP TABLE’-verklaring

Deze instructie wordt gebruikt om een ​​bestaande tabel te verwijderen. De volledige informatie in de tabel gaat verloren zodra u de onderstaande opdracht uitvoert.

Syntaxis

DROP TABLE TableName

Voorbeeld

DROP TABEL StudentInfo

LEEFTIJD

Het ALTER-commando wordt gebruikt om kolommen of beperkingen in een bestaande tabel toe te voegen, te verwijderen of te wijzigen.

De ' ALTER TAFEL ' Uitspraak

Deze instructie wordt gebruikt om kolommen in een reeds bestaande tabel toe te voegen, te verwijderen en te wijzigen.

De 'ALTER TABLE'-instructie met ADD / DROP COLUMN

De ALTER TABLE-instructie wordt gebruikt met het ADD / DROP Column-commando om een ​​kolom toe te voegen en te verwijderen.

Syntaxis

ALTER TABLE TableName ADD ColumnName Gegevenstype ALTER TABLE TableName DROP COLUMN ColumnName

Voorbeeld

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

De ‘ALTER TABLE’-verklaring met ALTER COLUMN

De ALTER TABLE-instructie kan worden gebruikt met de ALTER-kolom om het gegevenstype van een bestaande kolom in een tabel te wijzigen.

Syntaxis

android studio ui ontwerp tutorial
ALTER TABLE TableName ALTER COLUMN ColumnName Datatype

Voorbeeld

--Voeg een kolom DOB toe en verander het gegevenstype van date naar datetime. ALTER TABLE StudentInfo VOEG DOB ​​datum toe ALTER TABLE StudentInfo ALTER COLUMN DOB datetime

TRUNCATE

Deze SQL-opdracht wordt gebruikt om de informatie in de tabel te verwijderen, maar verwijdert niet de tabel zelf. Dus als u de informatie in de tabel wilt verwijderen en niet de tabel zelf wilt verwijderen, moet u het TRUNCATE-commando gebruiken. Gebruik anders het DROP-commando.

Syntaxis

TRUNCATE TABLE TableName

Voorbeeld

TRUNCATE TABEL StudentInfo

HERNAAM

Deze instructie wordt gebruikt om een ​​of meer tabellen te hernoemen.

Syntaxis

sp_rename 'OldTableName', 'NewTableName'

Voorbeeld

sp_rename 'StudentInfo', 'Infostudents'

Verderop in dit artikel over SQL Server-zelfstudie, laten we ons de verschillende gegevenstypen begrijpen die door SQL Server worden ondersteund.

SQL Server-gegevenstypen

Gegevenstype Categorie Gegevenstype Naam Omschrijving Bereik / syntax
Exacte cijfers numeriekWordt gebruikt om numerieke waarden op te slaan en heeft een vaste precisie en schaalnummers- 10 ^ 38 +1 tot 10 ^ 38-1.
tinyintWordt gebruikt om gehele getallen op te slaan0 tot 255
smallintWordt gebruikt om gehele getallen op te slaan-2 ^ 15 (-32.768) tot 2 ^ 15-1 (32.767)
bigintWordt gebruikt om gehele getallen op te slaan-2 ^ 63 (-9.223.372.036.854.775.808) tot 2 ^ 63-1 (9.223.372.036.854.775.807)
intWordt gebruikt om gehele getallen op te slaan-2 ^ 31 (-2.147.483.648) tot 2 ^ 31-1 (2.147.483.647)
beetjeSlaat een integer datatype op met een waarde van 0, 1 of NULL0, 1 of NULL
decimaleWordt gebruikt om numerieke waarden op te slaan en heeft een vaste precisie en schaalnummers- 10 ^ 38 +1 tot 10 ^ 38-1.
klein geldWordt gebruikt om geld op te slaanof valutawaarden.- 214.748,3648 tot 214.748,3647
geldWordt gebruikt om geld op te slaanof valutawaarden.-922.337.203.685.477,5808 tot 922.337.203.685.477,5807 (-922.337.203.685.477,58
tot 922.337.203.685.477,58 voor Informatica.
Cijfers bij benadering vlotterWordt gebruikt om numerieke gegevens met drijvende komma op te slaan- 1.79E + 308 tot -2.23E-308, 0 en 2.23E-308 tot 1.79E + 308
echtWordt gebruikt om numerieke gegevens met drijvende komma op te slaan- 3.40E + 38 tot -1.18E - 38, 0 en 1.18E - 38 tot 3.40E + 38
Datum en tijd datumWordt gebruikt om een ​​datum in SQL Server te definiëren.Syntaxis: datum
smalldatetimeWordt gebruikt om een ​​datum te definiëren die wordt gecombineerd met een tijd van de dag waarbij de tijd is gebaseerd op een dag van 24 uur, met seconden altijd nul (: 00) en zonder fractionele seconden.Syntaxis: smalldatetime
datum TijdWordt gebruikt om een ​​datum te definiëren die wordt gecombineerd met een tijd van de dag met fracties van seconden op basis van een 24-uurs klok.Syntaxis: datetime
datetime2 datetime2 is als een verlengstuk van het bestaande datum Tijd type dat een grotere standaard fractionele precisie heeft, een groter datumbereik.Syntaxis: datetime2
datetimeoffsetWordt gebruikt om een ​​datum te definiëren die wordt gecombineerd met een tijd van een dag met tijdzonebewustzijn. Het is gebaseerd op een 24-uurs klok.Syntaxis: datetimeoffset
tijdWordt gebruikt om een ​​tijd van een dag te definiëren.Syntaxis: tijd
Tekenreeksen charWordt gebruikt om tekens met een vaste grootte op te slaan.char[( n )] waarbij de waarde van n varieert van 1 - 8.000
varcharWordt gebruikt om tekens met een variabele lengte op te slaan.varchar [( n | max. hoogte)] waarbij de waarde n varieert van 1-8000 en de maximaal toegestane opslag 2 GB is.
tekstWordt gebruikt om vniet-Unicode-gegevens met een areable lengteMaximaal toegestane stringlengte - 2 ^ 31-1 (2.147.483.647)
Unicode-tekenreeksen ncharWordt gebruikt om tekens met een vaste grootte op te slaan.nchar[(n)] waarbij de n-waarde varieert van 1-4000
nvarcharWordt gebruikt om tekens met een variabele lengte op te slaan.varchar [( n | max. hoogte)] waarbij de waarde n varieert van 1-4000 en de maximaal toegestane opslag 2 GB is.
ntextWordt gebruikt om Unicode-gegevens met variabele lengte op te slaanMaximaal toegestane stringlengte - 2 ^ 30-1 (2.147.483.647)
Binaire snaren binairWordt gebruikt om binaire gegevenstypen met een vaste lengte op te slaanbinair[( n )] waarbij de waarde van n varieert van 1 - 8.000
varbinaryWordt gebruikt om binaire gegevenstypen met een vaste lengte op te slaanvarbinary[( n )] waarbij de waarde varieert van 1-8000 en de maximaal toegestane opslag 2 ^ 31-1 bytes is.
beeldWordt gebruikt om binaire gegevens van variabele lengte op te slaan0 - 2 ^ 31-1 (2.147.483.647) bytes
Andere gegevenstypen Het is een gegevenstype voor opgeslagen procedure of variabelen OUTPUT-parameters die een verwijzing naar een cursor bevatten.-
rijversieWordt gebruikt om automatisch gegenereerde, unieke binaire getallen in een database weer te geven.-
hierarchyidWordt gebruikt om positie in een hiërarchie weer te geven.-
unieke identificatieIs een GUID van 16 bytes.Syntaxis:unieke identificatie
sql_variantWordt gebruikt om de waarden van verschillende door SQL Server ondersteunde gegevenstypen op te slaanSyntaxis: sql_variant
xmlWordt gebruikt om het gegevenstype XML op te slaan.

xml ([CONTENT | DOCUMENT] xml_schemacollection)

Ruimtelijke geometrietypesWordt gebruikt om gegevens in een Euclidisch (plat) coördinatensysteem weer te geven.-
Soorten ruimtelijke geografieWordt gebruikt om ellipsvormige (ronde aarde) gegevens op te slaan, zoals GPS-lengte- en breedtegraadcoördinaten.-
tafelWordt gebruikt om een ​​resultatenset op te slaan voor verwerking op een later tijdstip-

Laten we vervolgens in dit artikel de verschillende soorten sleutels en beperkingen in de database begrijpen.

Verschillende soorten sleutels in de database

Hieronder volgen de verschillende soorten sleutels die in de database worden gebruikt:

  • Kandidaatsleutel - Candidate Key is een set attributen waarmee een tabel op unieke wijze kan worden geïdentificeerd. Een tabel kan meer dan één kandidaatsleutel hebben en uit de gekozen kandidaatsleutels wordt één sleutel gekozen als de primaire sleutel.
  • Supersleutel - De set attributen kan een tupel op unieke wijze identificeren. Kandidaatsleutels, unieke sleutels en primaire sleutels zijn dus supersleutels, maar het omgekeerde is niet waar.
  • Hoofdsleutel - Primaire sleutels worden gebruikt om elk tupel uniek te identificeren.
  • Alternatieve sleutel - Alternatieve sleutels zijn die kandidaatsleutels die niet als primaire sleutel zijn gekozen.
  • Unieke sleutel- Unieke sleutels zijn vergelijkbaar met de primaire sleutel, maar staan ​​een enkele NULL-waarde in de kolom toe.
  • Vreemde sleutel - Een attribuut dat alleen de waarden kan aannemen die aanwezig zijn als de waarden van een ander attribuut, is de vreemde sleutel naar het attribuut waarnaar het verwijst.
  • Samengestelde sleutel- Samengestelde sleutels zijn een combinatie van twee of meer kolommen die elk tupel uniek identificeren.

Beperkingen die in de database worden gebruikt

Beperkingen worden in een database gebruikt om de regels te specificeren voor gegevens die in een tabel zijn opgeslagen. De verschillende soorten beperkingen in SQL zijn als volgt:

NIET NUL

De NOT NULL-beperking zorgt ervoor dat een kolom geen NULL-waarde kan hebben.

Voorbeeld

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

UNIEK

Deze beperking zorgt ervoor dat alle waarden in een kolom uniek zijn.

Voorbeeld

--UNIEK bij aanmaken tabel 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)) --UNIEK in meerdere kolommen 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 op ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) --Een UNIEKE beperking verwijderen ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info

CONTROLEREN

De CHECK-beperking zorgt ervoor dat alle waarden in een kolom aan een specifieke voorwaarde voldoen.

Voorbeeld

--CHECK Beperking op 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 (Country = 'India')) --CHECK Beperking op meerdere kolommen CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Plaats varchar (8000), Land varchar (8000) CONTROLEER (Land = 'India' EN Stad = 'Hyderabad')) --CHECK Beperking op ALTER TABLE ALTER TABLE StudentsInfo VOEG CONTROLE TOE (Land = 'India') --Om een naam aan de CHECK beperking ALTER TABLE StudentsInfo ADD CONSTRAINT CheckConstraintName CHECK (Country = 'India') --Om een ​​CHECK beperking te verwijderen ALTER TABLE StudentsInfo DROP CONSTRAINT CheckConstraintName

STANDAARD

De DEFAULT-beperking bestaat uit een set standaardwaarden voor een kolom wanneer er geen waarde is opgegeven.

Voorbeeld

--DEFAULT Beperking op 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) STANDAARD 'India') - STANDAARD Beperking op ALTER TABLE ALTER TABLE StudentsInfo ADD CONSTRAINT defau_Country STANDAARD 'India' FOR Country --De standaardbeperking verwijderen ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country

INHOUDSOPGAVE

De INDEX-beperking wordt gebruikt om indexen in de tabel te maken, waarmee u zeer snel gegevens uit de database kunt maken en ophalen.

Syntaxis

--Maak een index waarin dubbele waarden zijn toegestaan ​​CREATE INDEX Indexnaam op tabelnaam (kolom1, kolom2, ... kolomN) --Maak een index waarin dubbele waarden niet zijn toegestaan ​​CREATE UNIQUE INDEX indexnaam op tabelnaam (kolom1, kolom2, ... KolomN)

Voorbeeld

CREATE INDEX idex_StudentName ON StudentsInfo (StudentName) - Om een ​​index in een tabel te verwijderen DROP INDEX StudentsInfo.idex_StudentName

Laten we verder gaan in dit artikel over SQL Server-zelfstudie en laten we nu de verschillende opdrachten voor gegevensmanipulatie-taal begrijpen die worden gebruikt in Microsoft SQL Server.

Gegevensmanipulatie Taalopdrachten

Dit gedeelte van het artikel behandelt al die opdrachten waarmee u de database kunt manipuleren. De commando's zijn als volgt:

Afgezien van deze commando's zijn er ook andere manipulatieve operatoren / functies zoals:

GEBRUIK

Deze instructie wordt gebruikt om de database te selecteren om er verschillende bewerkingen op uit te voeren.

Syntaxis

GEBRUIK DatabaseName

Voorbeeld

GEBRUIK Studenten

INVOEGEN

De INSERT INTO statement wordt gebruikt om nieuwe records in een bestaande tabel in te voegen.

Syntaxis

INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (value1, value2, value3, ...) - Als je de kolomnamen niet wilt noemen, gebruik dan de onderstaande syntaxis INSERT INTO TableName VALUES (Waarde1, Waarde2, Waarde3, ...)

Voorbeeld

INVOEGEN IN StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) WAARDEN ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India ') INVOEGEN IN StudentsInfo WAARDEN (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' India ')

BIJWERKEN

De UPDATE-instructie wordt gebruikt om de records die al in de tabel staan, te wijzigen of bij te werken.

Syntaxis

UPDATE Tabelnaam SET Column1 = Value1, Column2 = Value2, ... WHERE Condition

Voorbeeld

UPDATE StudentsInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WAAR StudentID = 1

VERWIJDEREN

De DELETE-instructie wordt gebruikt om de bestaande records in een tabel te verwijderen.

Syntaxis

VERWIJDEREN UIT Tabelnaam WAAR Voorwaarde

Voorbeeld

VERWIJDEREN UIT StudentsInfo WAAR StudentName = 'Aahana'

GAAN

De MERGE-instructie wordt gebruikt om de INSERT-, UPDATE- en DELETE-bewerkingen uit te voeren op een specifieke tabel, waar de brontabel wordt verstrekt. Zie hieronder.

Syntaxis

SAMENVOEGEN TagretTableName GEBRUIKEN SourceTableName ON MergeCondition WANNEER KOMENDE DAN Update_Statement WANNEER NIET OVEREENSTEMMING DAN Insert_Statement WANNEER NIET KOPPELING DOOR BRON EN VERWIJDEREN

Voorbeeld

Beschouw de volgende tabellen als de brontabel en de doeltabel om de MERGE-instructie te begrijpen.

Brontabel:

StudentID Studenten naam Merktekens
eenIk haat87
2Manasa92
4Anay74

Doeltafel:

StudentID Studenten naam Merktekens
eenIk haat87
2Manasa67
3Saurabh55
SAMENVOEGEN SampleTargetTable TARGET MET BEHULP VAN SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) WANNEER GECERTIFICEERD EN TARGET.StudentName SOURCE.StudentName OF TARGET.Marks SOURCE.Marks DAN UPDATE SET TARGET.StudentName = SOURCE.StudentName = SOURCE. WANNEER NIET AAN HET DOEL WORDT GEKOPPELD, VOEG DAN (StudentID, Studentnaam, Cijfers) WAARDEN IN (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) WANNEER DE BRON NIET KOPT, DAN VERWIJDEREN

Uitvoer

StudentID Studenten naam Merktekens
eenIk haat87
2Manasa92
4Anay74

SELECTEER

De SELECT-instructie wordt gebruikt om gegevens uit een database, tabel of weergave te selecteren. De geretourneerde gegevens worden opgeslagen in een resultaattabel, de result-set .

Syntaxis

SELECT Column1, Column2, ... ColumN FROM TableName - (*) wordt gebruikt om alles uit de tabel te selecteren SELECT * FROM table_name - Om het aantal records te selecteren dat moet worden geretourneerd, gebruik je: SELECT TOP 3 * FROM TableName

Voorbeeld

- Om enkele kolommen te selecteren SELECT StudentID, StudentName FROM StudentsInfo - (*) wordt gebruikt om alles uit de tabel te selecteren SELECT * FROM StudentsInfo - Gebruik om het aantal terug te geven records te selecteren: SELECT TOP 3 * FROM StudentsInfo

We kunnen ook de volgende sleutelwoorden gebruiken met de SELECT-instructie:

DISTINCT

Het sleutelwoord DISTINCT wordt gebruikt met de instructie SELECT om alleen verschillende waarden te retourneren.

Syntaxis

SELECTEER DISTINCT Kolom1, Kolom2, ... KolomN UIT Tabelnaam

Voorbeeld

SELECTEER DISTINCT PhoneNumber VAN StudentsInfo

BESTEL DOOR

Deze instructie wordt gebruikt om de vereiste resultaten in oplopende of aflopende volgorde te sorteren. Standaard worden de resultaten in oplopende volgorde opgeslagen. Maar als u de resultaten in aflopende volgorde wilt krijgen, moet u de DESC trefwoord.

Syntaxis

SELECTEER Column1, Column2, ... ColumnN FROM TableName ORDER BY Column1, Column2, ... ASC | DESC

Voorbeeld

- Selecteer alle studenten uit de tabel 'StudentsInfo' gesorteerd op ParentName: SELECT * FROM StudentsInfo ORDER BY ParentName - Selecteer alle studenten uit de tabel 'StudentsInfo' gesorteerd op ParentName in aflopende volgorde: SELECT * FROM StudentsInfo ORDER BY ParentName DESC - Selecteer alle studenten uit de tabel 'StudentsInfo' gesorteerd op ParentName en StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Selecteer alle studenten uit de tabel 'StudentsInfo' gesorteerd op ParentName in aflopende volgorde en StudentName in oplopende volgorde: * / SELECT * FROM StudentsInfo ORDER BY ParentName ASC, StudentName DESC

GROEP OP

Deze verklaring wordt gebruikt met de geaggregeerde functies om de resultatenset te groeperen op een of meer kolommen.

Syntaxis

SELECTEER Column1, Column2, ..., ColumnN FROM TableName WHERE Condition GROUP BY ColumnName (s) ORDER BY ColumnName (s)

Voorbeeld

- Om het aantal studenten uit elke stad te vermelden. SELECTEER AANTAL (StudentID), Stad UIT StudentsInfo GROEP OP Stad

GROEPSETS

GROUPING SETS zijn geïntroduceerd in SQL Server 2008, gebruikt om een ​​resultaatset te genereren die kan worden gegenereerd door een UNIE ALLEN van de meerdere eenvoudige GROUP BY-clausules.

Syntaxis

SELECTEER ColumnNames (s) UIT TableName GROUP DOOR GROEPSETS (ColumnName (s))

Voorbeeld

SELECTEER StudentID, StudentName, COUNT (City) van StudentsInfo Group DOOR GROEPSETS ((StudentID, StudentName, City), (StudentID), (StudentName), (City))

HEBBEN

Deze clausule wordt gebruikt in het scenario waarin de WAAR sleutelwoord kan niet worden gebruikt.

Syntaxis

SELECTEER ColumnName (s) FROM TableName WHERE Condition GROUP BY ColumnName (s) HAVING Condition ORDER BY ColumnName (s)

Voorbeeld

SELECTEER AANTAL (StudentID), Stad VAN StudentsInfo GROEP BY City MET AANTAL (StudentID)> 2 BESTEL OP AANTAL (StudentID) DESC

IN

Het INTO-trefwoord kan worden gebruikt met de SELECT-instructie om gegevens van de ene tabel naar de andere te kopiëren. U kunt begrijpen dat deze tabellen tijdelijke tabellen zijn. De tijdelijke tabellen worden over het algemeen gebruikt om manipulaties uit te voeren op gegevens in de tabel, zonder de oorspronkelijke tabel te verstoren.

Syntaxis

SELECTEER * IN NewTable [IN ExternalDB] UIT OldTable WAAR voorwaarde

Voorbeeld

- Om een ​​back-up te maken van de tabel 'StudentsInfo' SELECTEER * IN StudentsBackup FROM StudentsInfo - Om slechts enkele kolommen te selecteren uit StudentsInfo SELECT StudentName, PhoneNumber IN StudentsDetails FROM StudentsInfo SELECT * IN PuneStudents FROM StudentsInfo WHERE City = 'Pune'

KUBUS

CUBE is een uitbreiding van de GROUP BY-clausule . Hiermee kunt u de subtotalen genereren voor alle combinaties van de groeperingskolommen die zijn gespecificeerd in de GROUP BY-clausule.

Syntaxis

SELECTEER ColumnName (s) VAN TableName GROUP BY CUBE (ColumnName1, ColumnName2, ....., ColumnNameN)

Voorbeeld

SELECTEER StudentID, AANTAL (Stad) UIT StudentsInfo GROEP PER KUBUS (StudentID) BESTEL OP StudentID

OPROLLEN

ROLLUP is een uitbreiding van de GROUP BY-clausule. Hierdoor kunt u de extra rijen opnemen die de subtotalen vertegenwoordigen. Dit worden supergeaggregeerde rijen genoemd, samen met de rij met het eindtotaal.

Syntaxis

SELECTEER ColumnName (s) UIT TableName GROUP BY ROLLUP (ColumnName1, ColumnName2, ....., ColumnNameN)

Voorbeeld

SELECTEER StudentID, COUNT (Stad) UIT StudentsInfo GROUP OP ROLLUP (StudentID)

OFFSET

De OFFSET-clausule wordt gebruikt met de SELECT en ORDER BY verklaring om een ​​reeks records op te halen. Het moet worden gebruikt met de ORDER BY-clausule, aangezien het niet afzonderlijk kan worden gebruikt. Ook moet het bereik dat u noemt gelijk zijn aan of groter zijn dan 0. Als u een negatieve waarde noemt, wordt er een fout weergegeven.

Syntaxis

SELECTEER ColumnNames) FROM TableName WHERE Condition ORDER BY ColumnName (s) OFFSET RowsToSkip ROWS

Voorbeeld

Overweeg een nieuwe kolom Merktekens in de Studenteninfo tafel.

SELECTEER StudentName, ParentName FROM StudentsInfo ORDER BY Markeert OFFSET 1 ROWS

FETCH

De FETCH-clausule wordt gebruikt om een ​​set van een aantal rijen te retourneren. Het moet worden gebruikt in combinatie met de OFFSET-clausule.

Syntaxis

SELECTEER ColumnNames) UIT Tabelnaam WAAR Voorwaarde ORDER BY ColumnName (s) OFFSET RowsToSkip FETCH VOLGENDE NumberOfRows ROWS ONLY

Voorbeeld

SELECTEER StudentName, ParentName FROM StudentsInfo ORDER BY Marks OFFSET 1 RIJEN FETCH ALLEEN VOLGENDE 1 RIJEN

TOP

De TOP-clausule wordt gebruikt met de SELECT-instructie om het aantal te retourneren records te vermelden.

Syntaxis

SELECTEER TOP-nummer ColumnName (s) VAN TableName WHERE Conditie

Voorbeeld

SELECTEER TOP 3 * VAN StudentsInfo

DRAAIEN

PIVOT wordt gebruikt om de rijen naar kolomwaarden te roteren en voert indien nodig aggregaties uit op de resterende kolomwaarden.

Syntaxis

SELECT Niet-gedraaide kolomnaam, [Eerste gedraaide kolomnaam] AS Kolomnaam, [Tweede gedraaide kolomnaam] AS Kolomnaam, [Derde gedraaide kolomnaam] AS Kolomnaam, ... [Laatste gedraaide kolomnaam] AS Kolomnaam FROM (SELECTEER query die de gegevens produceert) AS [alias voor de eerste zoekopdracht] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName van de kolom waarvan de waarden kolomkoppen worden] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last draaikolom])) AS [alias voor de draaitabel]

Voorbeeld

Voor een gedetailleerd voorbeeld kunt u verwijzen naar mijn artikel over SQL PIVOT en UNPIVOT . Laten we vervolgens in deze SQL Server Tutorial kijken naar de verschillende operators die worden ondersteund door Microsoft SQL Server.

Operatoren

De verschillende soorten operators ondersteund door SQL Server zijn als volgt:

Laten we ze allemaal een voor een bespreken.

Rekenkundige operatoren

Operator Betekenis Syntaxis

+

Toevoeging

uitdrukking + uitdrukking

-

Aftrekken

expressie - expressie

*

Vermenigvuldiging

uitdrukking * uitdrukking

/

Divison

uitdrukking / uitdrukking

%

Modieus

expressie% expressie

Toewijzingsoperatoren

Operator Betekenis Syntaxis

=

Wijs een waarde toe aan een variabele

variabele = ‘waarde’

Bitwise-operators

Operator Betekenis Syntaxis

& (Bitwise AND)

Wordt gebruikt om een ​​bitsgewijze logische EN-bewerking uit te voeren tussen twee gehele getallen.

expressie & expressie

& = (Bitwise AND Assignment)

Wordt gebruikt om een ​​bitsgewijze logische EN-bewerking uit te voeren tussen twee gehele getallen. Het stelt ook een waarde in voor de uitvoer van de bewerking.

expressie & = expressie

| (Bitsgewijs OF)

Wordt gebruikt om een ​​bitsgewijze logische OR-bewerking uit te voeren tussen twee gehele getallen, zoals vertaald naar binaire uitdrukkingen binnen Transact-SQL-instructies.

uitdrukking | uitdrukking

| = (Bitgewijze OR-toewijzing)

Wordt gebruikt om een ​​bitsgewijze logische OR-bewerking uit te voeren tussen twee gehele getallen, zoals vertaald naar binaire uitdrukkingen binnen Transact-SQL-instructies. Het stelt ook een waarde in voor de uitvoer van de bewerking.

uitdrukking | = uitdrukking

^ (Bitwise Exclusief OF)

Wordt gebruikt om een ​​bitsgewijze exclusieve OF-bewerking uit te voeren tussen twee gehele getallen.

uitdrukking ^ uitdrukking

^ = (Bitwise Exclusief OF Toewijzing)

Wordt gebruikt om een ​​bitsgewijze exclusieve OF-bewerking uit te voeren tussen twee gehele getallen. Het stelt ook een waarde in voor de uitvoer van de bewerking.

uitdrukking ^ = uitdrukking

~ (Bitwise NIET)

Wordt gebruikt om een ​​bitsgewijze logische NOT-bewerking uit te voeren op een geheel getal.

~ uitdrukking

Vergelijkingsoperatoren

Operator Betekenis Syntaxis

=

Gelijk aan

expression = uitdrukking

>

Groter dan

uitdrukking> uitdrukking

<

Minder dan

uitdrukking

> =

Groter dan of gelijk aan

uitdrukking> = uitdrukking

<=

Minder dan of gelijk aan

uitdrukking<= expression

Niet gelijk aan

expressie expressie

! =

Niet gelijk aan

expressie! = expressie

!<

Niet minder dan

uitdrukking !

!>

Niet groter dan

expressie!> expressie

Samengestelde operators

Operator Betekenis Syntaxis

+ =

Wordt gebruikt om waarde toe te voegen aan de oorspronkelijke waarde en de oorspronkelijke waarde in te stellen op het resultaat.

uitdrukking + = uitdrukking

- =

Wordt gebruikt om een ​​waarde van de oorspronkelijke waarde af te trekken en de oorspronkelijke waarde in te stellen op het resultaat.

uitdrukking - = uitdrukking

* =

Wordt gebruikt om de waarde te vermenigvuldigen met de oorspronkelijke waarde en de oorspronkelijke waarde in te stellen op het resultaat.

uitdrukking * = uitdrukking

/ =

Wordt gebruikt om een ​​waarde te delen van de originele waarde en de originele waarde in te stellen op het resultaat.

uitdrukking / = uitdrukking

% =

Wordt gebruikt om een ​​waarde te delen van de originele waarde en de originele waarde in te stellen op het resultaat.

expression% = expression

& =

Wordt gebruikt om een ​​bitsgewijze EN-bewerking uit te voeren en de oorspronkelijke waarde in te stellen op het resultaat.

expressie & = expressie

^ =

Wordt gebruikt om een ​​bitsgewijze exclusieve OF-bewerking uit te voeren en de oorspronkelijke waarde in te stellen op het resultaat.

uitdrukking ^ = uitdrukking

| =

Wordt gebruikt om een ​​bitsgewijze OR-bewerking uit te voeren en de oorspronkelijke waarde in te stellen op het resultaat.

uitdrukking | = uitdrukking

Logische operators

Operator Betekenis Syntaxis

ALLE

Geeft als resultaat WAAR als alle sets vergelijkingen WAAR zijn.

scalar_expression! = ALL (subquery)

EN

Geeft als resultaat WAAR als beide uitdrukkingen WAAR zijn.

booleaanse_expressie EN booleaanse_expressie

IEDER

Geeft als resultaat WAAR als een van de vergelijkingen in een reeks WAAR is.

scalaire_expressie! = {ANY} (subquery)

TUSSEN

Geeft als resultaat TRUE als een operand binnen een bereik valt.

monsterexpressie [NIET] TUSSEN beginexpressie EN endexpressie

BESTAAT

Geeft als resultaat WAAR als een subquery rijen bevat.

BESTAAT (subquery)

IN

Geeft WAAR terug als een operand gelijk is aan een van een lijst met uitdrukkingen.

test_expressie [NOT] IN (subquery | expressie [,… n])

LEUK VINDEN

Geeft TRUE terug als een operand overeenkomt met een patroon.

match_expression [NOT] LIKE pattern [ESCAPE escape_character]

NIET

Keert de waarde van een booleaanse operator om.

[NOT] booleaanse_expressie

OF

Geeft als resultaat WAAR als een van de booleaanse uitdrukkingen WAAR is.

booleaanse_expressie OF booleaanse_expressie

SOMMIGE

Geeft als resultaat WAAR als een aantal vergelijkingen waar is.

scalaire_expressie<= { SOME} ( subquery )

Scope Resolution Operators

Operator Betekenis Voorbeeld

::

Biedt toegang tot statische leden van een samengesteld gegevenstype. Samengestelde gegevenstypen zijn die gegevenstypen die meerdere methoden en eenvoudige gegevenstypen bevatten. Samengestelde gegevenstypen Dit zijn onder meer de ingebouwde CLR-typen en aangepaste SQLCLR User-Defined Types (UDT's).

DECLARE @hid hierarchyid SELECTEER @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString ()

Stel operators in

Er zijn hoofdzakelijk drie vaste bewerkingen:UNIE,SNIJDEN,MINUS. U kunt de onderstaande afbeelding raadplegen om de set-bewerkingen in SQL te begrijpen. Raadpleeg de onderstaande afbeelding:

Operator Betekenis Syntaxis

UNIE

De UNION-operator wordt gebruikt om de resultaatset van twee of meer SELECT-instructies te combineren.

SELECTEER ColumnName (s) UIT Table1
UNIE
SELECTEER ColumnName (s) UIT Tabel2

SNIJDEN

De INTERSECT-clausule wordt gebruikt om twee te combinerenSELECTEERstatements en retourneert het snijpunt van de datasets van beide SELECT-statements.

SELECTEER Kolom1, Kolom2….
VAN TableName
WAAR voorwaarde
SNIJDEN
SELECTEER Kolom1, Kolom2….
VAN TableName
WAAR voorwaarde

BEHALVE

De EXCEPT-operator retourneert die tupels die worden geretourneerd door de eerste SELECT-bewerking en niet worden geretourneerd door de tweede SELECT-bewerking.

SELECTEER ColumnName
VAN TableName
BEHALVE
SELECTEER ColumnName
VAN TableName

Stringoperatoren

Operator Betekenis Syntaxis / voorbeeld

+ (String aaneenschakeling)

Voegt twee of meer binaire tekenreeksen of tekenreeksen, kolommen of een combinatie van tekenreeksen en kolomnamen samen tot één uitdrukking

uitdrukking + uitdrukking

+ = (String aaneenschakeling)

Wordt gebruikt om twee strings samen te voegen en stelt de string in op het resultaat van de bewerking.

uitdrukking + = uitdrukking

% (Overeenkomende jokertekens)

Wordt gebruikt om overeen te komen met een reeks van nul of meer tekens.

Voorbeeld: ‘sample%’

[] (Overeenkomende jokertekens)

Wordt gebruikt om overeen te komen met één teken binnen het opgegeven bereik of de set die tussen haakjes [] is opgegeven.

Voorbeeld: m [n-z]% ’

[^] (Overeenkomende jokertekens)

Wordt gebruikt om een ​​enkel teken te matchen dat niet binnen het bereik of de reeks valt die tussen de vierkante haken is opgegeven.

Voorbeeld: ‘Al [^ a]%’

_ (Overeenkomende jokertekens)

Wordt gebruikt om een ​​enkel teken te matchen in een tekenreeksvergelijking

test_expressie [NOT] IN (subquery | expressie [,… n])

Aggregaat Functies

Het verschil geaggregeerde functies ondersteund door SQL Server zijn als volgt:

Functie Omschrijving Syntaxis Voorbeeld

SOM()

Wordt gebruikt om de som van een groep waarden te retourneren.

SELECTEER SOM (ColumnName) VAN TableName

SELECTEER SOM (Punten) UIT StudentsInfo

AANTAL ()

Retourneert het aantal rijen op basis van een voorwaarde of zonder voorwaarde.

SELECTEER AANTAL (Kolomnaam) UIT Tabelnaam WAAR voorwaarde

SELECTEER AANTAL (StudentID) VAN StudentsInfo

AVG ()

Wordt gebruikt om de gemiddelde waarde van een numerieke kolom te berekenen.

SELECTEER AVG (ColumnName) UIT TableName

SELECTEER AVG (Marks) VAN StudentsInfo

MIN ()

Deze functie retourneert de minimumwaarde van een kolom.

SELECTEER MIN (ColumnName) UIT TableName

SELECTEER MIN (Marks) VAN StudentsInfo

MAX ()

Retourneert een maximale waarde van een kolom.

SELECTEER MAX (ColumnName) UIT TableName

SELECTEER MAX (markeringen) UIT StudentsInfo

EERSTE()

Wordt gebruikt om de eerste waarde van de kolom te retourneren.

SELECTEER EERSTE (ColumnName) UIT TableName

SELECTEER EERST (Marks) VAN StudentsInfo

LAATSTE()

Deze functie retourneert de laatste waarde van de kolom.

SELECTEER LAATSTE (ColumnName) UIT TableName

SELECTEER LAATSTE (punten) UIT StudentsInfo

Door de gebruiker gedefinieerde functies

Met Microsoft SQL Server kunnen gebruikers door de gebruiker gedefinieerde functies creëren die routines zijn. Deze routines accepteren parameters, kunnen eenvoudige tot complexe acties uitvoeren en het resultaat van die specifieke actie als een waarde retourneren. Hier kan de geretourneerde waarde een enkele scalaire waarde of een volledige resultaatset zijn.

U kunt door de gebruiker gedefinieerde functies gebruiken om:

  • Modulaire programmering mogelijk maken
  • Verminder netwerkverkeer
  • Sta snellere uitvoering van queries toe

Er zijn ook verschillende soorten door de gebruiker gedefinieerde functies die u kunt maken. Zij zijn:

  • Scalaire functies: Gewend omretourneert een enkele gegevenswaarde van het type dat is gedefinieerd in de RETURNS-clausule.
  • Tabelwaardige functies: Gewend omretourneer eentafeldata type.
  • Systeemfuncties: De SQL Server biedt een verscheidenheid aan systeemfuncties om verschillende bewerkingen uit te voeren.

Afgezien van de door de gebruiker gedefinieerde functies, zijn er een heleboel ingebouwde functies in SQL Server die kunnen worden gebruikt om een ​​verscheidenheid aan taken uit te voeren. Verderop in dit artikel over SQL Server-zelfstudie, laten we nu begrijpen wat geneste query's zijn.

Geneste zoekopdrachten

Geneste zoekopdrachten zijn die zoekopdrachten met een uiterlijke en innerlijke subquery. De subquery is dus in feite een query die is genest in een andere query, zoals SELECT, INSERT, UPDATE of DELETE. Raadpleeg de onderstaande afbeelding:

Laten we vervolgens in deze SQL Server-zelfstudie de verschillende soorten joins in SQL begrijpen.

Doet mee

worden gebruikt om tupels van twee of meer tabellen te combineren, op basis van een gerelateerde kolom tussen de tabellen. Er zijn vier soorten joins:

  • BINNENKOMEN: Retourneert records met overeenkomende waarden in beide tabellen.
  • LINKER LID WORDEN: Retourneert records uit de linkertabel, en ook die records die voldoen aan de voorwaarde uit de rechtertabel.
  • RECHTS KOMEN: Retourneert records uit de rechtertabel, en ook die records die voldoen aan de voorwaarde uit de linkertabel.
  • VOLLEDIG AANMELDEN: Retourneert records die een overeenkomst hebben in de linker- of rechtertabel.

Bekijk de volgende tabel samen met de StudentsInfo-tabel om de syntaxis van joins te begrijpen.

SubjectID StudentID Onderwerp
1010Wiskunde
2elfFysica
312Chemie

BINNENKOM

Syntaxis

SELECTEER ColumnName (s) VANAF Tabel 1 BINNENKOM BIJ Table2 ON Table1.ColumnName = Table2.ColumnName

Voorbeeld

SELECTEER Subjects.SubjectID, StudentsInfo.StudentName FROM Onderwerpen INNER JOIN StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID

LINKER WORDEN

Syntaxis

SELECTEER ColumnName (s) VANAF Tabel 1 LINKS JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Voorbeeld

SELECTEER StudentsInfo.StudentName, Subjects.SubjectID VAN StudentsInfo LINKS JOIN Onderwerpen OP StudentsInfo.SubjectID = Subjects.SubjectID VOLGORDE DOOR StudentsInfo.StudentName

RECHTS KOMEN

Syntaxis

SELECTEER ColumnName (s) VANAF Tabel 1 RECHTS BIJ Tabel2 AAN Table1.ColumnName = Table2.ColumnName

Voorbeeld

SELECTEER StudentsInfo.StudentName, Subjects.SubjectID VAN StudentsInfo RECHTS JOIN Onderwerpen OP StudentsInfo.SubjectID = Subjects.SubjectID VOLGORDE DOOR StudentsInfo.StudentName

VOLLEDIG AANMELDEN

Syntaxis

SELECTEER ColumnName (s) VANAF Tabel 1 VOLLEDIGE BUITEN BIJ Tabel2 OP Table1.ColumnName = Table2.ColumnName

Voorbeeld

SELECTEER StudentsInfo.StudentName, Subjects.SubjectID VAN StudentsInfo VOLLEDIGE BUITENKOPPELING van onderwerpen op StudentsInfo.SubjectID = Subjects.SubjectID VOLGORDE DOOR StudentsInfo.StudentName

Laten we vervolgens in dit artikel over SQL Server-zelfstudie de verschillende soorten lussen begrijpen die worden ondersteund door de SQL Server.

Loops

De verschillende control-of-flow-opdrachten zijn als volgt:

Laten we ze allemaal een voor een bespreken.

BEGIN..END

Deze sleutelwoorden worden gebruikt om een ​​reeks SQL-instructies te omsluiten. Vervolgens kan deze groep SQL-instructies worden uitgevoerd.

Syntaxis

BEGIN StatementBlock END

BREKEN

Deze instructie wordt gebruikt om de huidige WHILE-lus te verlaten. In het geval dat de huidige WHILE-lus is genest in een andere lus, verlaat de BREAK-instructie alleen de huidige lus en wordt de controle doorgegeven aan de volgende instructie in de huidige lus. De BREAK-instructie wordt over het algemeen gebruikt in een IF-instructie.

Syntaxis

BREKEN

DOORGAAN MET

De CONTINUE-instructie wordt gebruikt om een ​​WHILE-lus opnieuw te starten. Dus alle uitspraken na het CONTINUE-trefwoord worden genegeerd.

Syntaxis

DOORGAAN MET

Hier is Label het punt waarna de verwerking begint als een GOTO op dat specifieke label is gericht.

GA NAAR

Wordt gebruikt om de uitvoeringsstroom naar een label te wijzigen. De uitspraken die na het trefwoord GOTO worden geschreven, worden overgeslagen en de verwerking gaat verder op het label.

Syntaxis

Label definiëren: Label: Uitvoering wijzigen: GOTO Label

Hier is Label het punt waarna de verwerking begint als een GOTO op dat specifieke label is gericht.

ALS..ELSE

Net als elke andere programmeertaal, test de instructie If-else in SQL Server de voorwaarde en als de voorwaarde onwaar is, wordt de instructie 'else' uitgevoerd.

Syntaxis

IF BooleanExpression StatementBlock [ELSE StatementBlock]

TERUGKEER

Wordt gebruikt om onvoorwaardelijk een vraag of procedure te verlaten. De instructies die zijn geschreven na de RETURN-clausule worden dus niet uitgevoerd.

Syntaxis

RETURN [IntegerExpression]

Hier wordt een geheel getal geretourneerd.

WACHTEN OP

De WAITFOR-controlestroom wordt gebruikt om de uitvoering van een opgeslagen procedure, transactie of batch te blokkeren totdat een specifieke instructie wijzigt, ten minste één rij retourneert of een opgegeven tijd of tijdsinterval is verstreken.

Syntaxis

WAITFOR (GetConversionGroupStatement)] [, time-out TIMEOUT]

waar,

  • VERTRAGING - Tijd die moet verstrijken
  • TimeToPass - P.tijd om te wachten
  • TIJD - Detijdstip waarop de opgeslagen procedure, transactie of de batch wordt uitgevoerd.
  • TimeToExecute - Detijdstip waarop de WAITFOR-instructie eindigt.
  • RecieveStatement - NAARgeldige RECEIVE-instructie.
  • GetConversionGroupStatement - NAARgeldige GET CONVERSATION GROUP-instructie.
  • TIMEOUT time-out - Specificeert de tijdsperiode, in milliseconden, om te wachten tot een bericht in de wachtrij arriveert.

TERWIJL

Deze lus wordt gebruikt om een ​​voorwaarde in te stellen voor herhaalde uitvoering van een bepaalde SQL-instructie of een SQL-instructieblok. De instructies worden uitgevoerd zolang de voorwaarde die door de gebruiker wordt genoemd WAAR is. Zodra de conditie mislukt, stopt de lus met uitvoeren.

Syntaxis

WHILE BooleanExpression StatementBlock

Nu jullie de DML-opdrachten kennen, gaan we verder met onze volgende sectiein dit artikel over SQL-zelfstudie, d.w.z. de DCL-opdrachten.

Data Control Language Commands (DCL)

Dit gedeelte van de SQL Server-zelfstudie geeft u een idee over de opdracht waarmee databasebeveiliging wordt afgedwongen in databaseomgevingen met meerdere gebruikers. De commando's zijn als volgt:

VERLENEN

Het GRANT-commando wordt gebruikt om de gebruikers toegang of privileges te geven tot de database en de objecten ervan.

Syntaxis

GRANT PrivilegeName ON ObjectName TO RoleName [WITH GRANT OPTION]

waar,

  • PrivilegeName - Is het voorrecht / recht / toegang verleend aan de gebruiker.
  • Objectnaam - Naam van een databaseobject zoals TABLE / VIEW / STORED PROC.
  • Gebruikersnaam - Naam van de gebruiker die de toegang / rechten / privileges krijgt.
  • OPENBAAR - Om alle gebruikers toegangsrechten te verlenen.
  • Rol naam - De naam van een set privileges die zijn gegroepeerd.
  • MET SUBSIDIE-OPTIE - Om de gebruiker toegang te geven om andere gebruikers rechten te verlenen.

Voorbeeld

- Om SELECT toestemming te verlenen aan de StudentsInfo-tabel aan gebruiker1 GRANT SELECT ON StudentsInfo TO user1

INTREKKEN

Het REVOKE-commando wordt gebruikt om de toegangsrechten van de gebruiker in te trekken die zijn gegeven door het GRANT-commando te gebruiken.

Syntaxis

HERROEPEN PrivilegeName OP ObjectName FROM PUBLIC

Voorbeeld

- Om de verleende toestemming van gebruiker1 in te trekken SELECTEER OP Studenteninfo AAN gebruiker1

Verderop in deze SQL Server-zelfstudie, laten we ons begrijpen hoe u opgeslagen procedures kunt maken en gebruiken.

Opgeslagen procedures

Opgeslagen procedures zijn herbruikbare eenheden die een specifieke bedrijfslogica van de applicatie bevatten. Het is dus een groep SQL-instructies en logica, gecompileerd en samen opgeslagen om een ​​specifieke taak uit te voeren.

Syntaxis

CREATE [OR REPLACE] PROCEDURE procedure_name [(parameternaam [IN | OUT | IN OUT] type [])] IS BEGIN [declaratie_section] executable_section // SQL-instructie gebruikt in de opgeslagen procedure END GO

Voorbeeld

--Maak een procedure die een studentnaam zal retourneren wanneer de StudentId wordt gegeven als de invoerparameter voor de opgeslagen procedure Create PROCEDURE GetStudentName (@StudentId INT, --Input parameter, @StudName VARCHAR (50) OUT --Uitvoerparameter, AS BEGIN SELECTEREN @StudName = StudentName FROM StudentsInfo WAAR StudentID = @ StudentId END

Uit te voeren stappen:

      • Verklaar @StudName als nvarchar (50)
      • EXEC GetStudentName 01, @StudName-uitvoer
      • SELECTEER @StudName

De bovenstaande procedure retourneert de naam van een bepaalde student,over het geven van dat studenten-ID als invoer. Laten we vervolgens in deze SQL Server-zelfstudie de taalopdrachten voor transactiebeheer begrijpen.

Transaction Control Language Commands (TCL)

Deze sectie van SQL Server-tutorial geeft u inzicht in de opdrachten die worden gebruikt om transacties in de database te beheren.De commando's zijn als volgt:

COMMIT

De COMMIT-opdracht wordt gebruikt om de transactie in de database op te slaan.

Syntaxis

COMMIT

TERUGROLLEN

Het ROLLBACK-commando wordt gebruikt om de database te herstellen naar de laatste vastgelegde staat.

Syntaxis

TERUGROLLEN

OPMERKING: Wanneer u ROLLBACK gebruikt met SAVEPOINT, dan kunt u direct naar een opslagpunt springen in een lopende transactie. Syntaxis: ROLLBACK TO SavepointName

SAVEPOINT

Het SAVEPOINT-commando wordt gebruikt om een ​​transactie tijdelijk op te slaan. Dus als u naar een willekeurig punt wilt terugdraaien, kunt u dat punt opslaan als een ‘SAVEPOINT’.

Syntaxis

SAVEPOINT SAVEPOINTNAME

Bekijk de onderstaande tabel om de werking van transacties in de database te begrijpen.

StudentID Studenten naam
eenRohit
2Suhana
3Ashish
4Prerna

Gebruik nu het onderstaande om de transacties in de database te begrijpen.

INVOEGEN IN StudentTable WAARDEN (5, 'Avinash') COMMIT UPDATE StudentTable SET name = 'Akash' WAAR id = '5' SAVEPOINT S1 INVOEGEN IN StudentTable WAARDEN (6, 'Sanjana') SAVEPOINT S2 INVOEGEN IN StudentTable WAARDEN (7, 'Sanjay ') SAVEPOINT S3 INSERT IN StudentTable WAARDEN (8,' Veena ') SAVEPOINT S4 SELECTEER * UIT StudentTable

In dit artikel over SQL Server-zelfstudie laten we ons vervolgens begrijpen hoe we met uitzonderingen in Transact-SQL kunnen omgaan.

Afhandeling van uitzonderingen

Er zijn twee soorten uitzonderingen, namelijk de door het systeem gedefinieerde uitzonderingen en de door de gebruiker gedefinieerde uitzonderingen. Zoals de naam suggereert, is het afhandelen van uitzonderingen een proces waarmee een gebruiker de gegenereerde uitzonderingen kan afhandelen. Om uitzonderingen af ​​te handelen, moet u de volgende controlestroominstructies begrijpen:

GOOI

Deze clausule wordt gebruikt om een ​​uitzondering op te werpen en draagt ​​de uitvoering over naar een CATCH-blok van een TRY… CATCH-constructie.

Syntaxis

THROW [ErrorNumber, @localvariable, State] []

waar,

  • Foutnummer - NAARconstante of variabele die de uitzondering vertegenwoordigt.
  • Bericht - NAARvariabele of tekenreeks die de uitzondering beschrijft.
  • Staat -Een constante of variabele tussen 0 en 255 die de staat aangeeft die aan het bericht moet worden gekoppeld.
THROW 51000, 'Record bestaat niet.', 1

PROBEREN TE VANGEN

Wordt gebruikt om de afhandeling van uitzonderingen in Transact-SQL te implementeren. Een groep uitspraken kan worden ingesloten in het TRY-blok. In het geval dat er een fout optreedt in het TRY-blok, wordt de controle doorgegeven aan een andere groep instructies die zijn ingesloten in een CATCH-blok.

Syntaxis

BEGIN TRY StatementBlock END TRY BEGIN CATCH [StatementBlock] END CATCH []
BEGIN PROBEER SELECTEREN * UIT StudentsInfo END TRY BEGIN CATCH SELECT ERROR_NUMBER () AS ErNum, ERROR_MESSAGE () AS ErMsg END CATCH

IN e dit komen we aan het einde van dit artikel over SQL Server Tutorial. Ik hoop dat je het leuk vond om dit artikel over SQL Server Tutorial For Beginners te lezen.ik Als je een gestructureerde training over MySQL wilt, kijk dan op onze die wordt geleverd met live training onder leiding van een instructeur en real-life projectervaring. Deze training zal je helpen MySQL diepgaand te begrijpen en je te helpen het onderwerp onder de knie te krijgen. Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van ' SQL Server-zelfstudie ”En ik neem contact met je op.