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 |
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. |
Deze set opdrachten heeft betrekking op de machtigingen, rechten en andere controles van de databasesystemen. | |
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:
- Wat is SQL Server?
- Installeer SQL Server
- Maak verbinding met SQL Server met behulp van SSMS
- Toegang tot Database Engine
- SQL Server-architectuur
- Opmerkingen in SQL
- SQL Server-gegevenstypen
- Sleutels in database
- Beperkingen in de database
- Operatoren
- Geaggregeerde functies
- Door de gebruiker gedefinieerde functies
- Geneste zoekopdrachten
- Doet mee
- Loops
- Opgeslagen procedures
- 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 |
een | Ik haat | Akriti mehra | 9955339966 | Brigade Road Block 9 | Hyderabad | India |
2 | Manasa | Shourya Sharma | 9234568762 | Mayo Road 15 | Kolkata | India |
3 | Anay | Soumya Mishra | 9876914261 | Marathalli House No 101 | Bengaluru | India |
4 | Preeti | Rohan Sinha | 9765432234 | Queens Road 40 | Delhi | India |
5 | Shanaya | Abhinay agarwal | 9878969068 | Oberoi-straat 21 | Mumbai | India |
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 | numeriek | Wordt gebruikt om numerieke waarden op te slaan en heeft een vaste precisie en schaalnummers | - 10 ^ 38 +1 tot 10 ^ 38-1. |
tinyint | Wordt gebruikt om gehele getallen op te slaan | 0 tot 255 | |
smallint | Wordt gebruikt om gehele getallen op te slaan | -2 ^ 15 (-32.768) tot 2 ^ 15-1 (32.767) | |
bigint | Wordt 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) | |
int | Wordt gebruikt om gehele getallen op te slaan | -2 ^ 31 (-2.147.483.648) tot 2 ^ 31-1 (2.147.483.647) | |
beetje | Slaat een integer datatype op met een waarde van 0, 1 of NULL | 0, 1 of NULL | |
decimale | Wordt gebruikt om numerieke waarden op te slaan en heeft een vaste precisie en schaalnummers | - 10 ^ 38 +1 tot 10 ^ 38-1. | |
klein geld | Wordt gebruikt om geld op te slaanof valutawaarden. | - 214.748,3648 tot 214.748,3647 | |
geld | Wordt 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 | vlotter | Wordt 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 |
echt | Wordt 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 | datum | Wordt gebruikt om een datum in SQL Server te definiëren. | Syntaxis: datum |
smalldatetime | Wordt 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 Tijd | Wordt 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 | |
datetimeoffset | Wordt 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 | |
tijd | Wordt gebruikt om een tijd van een dag te definiëren. | Syntaxis: tijd | |
Tekenreeksen | char | Wordt gebruikt om tekens met een vaste grootte op te slaan. | char[( n )] waarbij de waarde van n varieert van 1 - 8.000 |
varchar | Wordt 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. | |
tekst | Wordt gebruikt om vniet-Unicode-gegevens met een areable lengte | Maximaal toegestane stringlengte - 2 ^ 31-1 (2.147.483.647) | |
Unicode-tekenreeksen | nchar | Wordt gebruikt om tekens met een vaste grootte op te slaan. | nchar[(n)] waarbij de n-waarde varieert van 1-4000 |
nvarchar | Wordt 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. | |
ntext | Wordt gebruikt om Unicode-gegevens met variabele lengte op te slaan | Maximaal toegestane stringlengte - 2 ^ 30-1 (2.147.483.647) | |
Binaire snaren | binair | Wordt gebruikt om binaire gegevenstypen met een vaste lengte op te slaan | binair[( n )] waarbij de waarde van n varieert van 1 - 8.000 |
varbinary | Wordt gebruikt om binaire gegevenstypen met een vaste lengte op te slaan | varbinary[( n )] waarbij de waarde varieert van 1-8000 en de maximaal toegestane opslag 2 ^ 31-1 bytes is. | |
beeld | Wordt gebruikt om binaire gegevens van variabele lengte op te slaan | 0 - 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. | - | |
rijversie | Wordt gebruikt om automatisch gegenereerde, unieke binaire getallen in een database weer te geven. | - | |
hierarchyid | Wordt gebruikt om positie in een hiërarchie weer te geven. | - | |
unieke identificatie | Is een GUID van 16 bytes. | Syntaxis:unieke identificatie | |
sql_variant | Wordt gebruikt om de waarden van verschillende door SQL Server ondersteunde gegevenstypen op te slaan | Syntaxis: sql_variant | |
xml | Wordt gebruikt om het gegevenstype XML op te slaan. | xml ([CONTENT | DOCUMENT] xml_schemacollection) | |
Ruimtelijke geometrietypes | Wordt gebruikt om gegevens in een Euclidisch (plat) coördinatensysteem weer te geven. | - | |
Soorten ruimtelijke geografie | Wordt gebruikt om ellipsvormige (ronde aarde) gegevens op te slaan, zoals GPS-lengte- en breedtegraadcoördinaten. | - | |
tafel | Wordt 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 |
een | Ik haat | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Doeltafel:
StudentID | Studenten naam | Merktekens |
een | Ik haat | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
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 |
een | Ik haat | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
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:
- Rekenkundige operatoren
- Toewijzingsoperatoren
- Bitwise-operators
- Vergelijkingsoperatoren
- Samengestelde operators
- Logische operators
- Scope Resolution Operators
- Stel operators in
- Operatoren voor aaneenschakeling van tekenreeksen
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]) |
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 |
10 | 10 | Wiskunde |
2 | elf | Fysica |
3 | 12 | Chemie |
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 |
een | Rohit |
2 | Suhana |
3 | Ashish |
4 | Prerna |
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.