Esercitazione su SQL Server: tutto ciò di cui hai bisogno per padroneggiare Transact-SQL



Questo articolo su SQL Server Tutorial è una guida completa sui vari concetti, sintassi e comandi utilizzati in MS SQL Server.

Nel mercato di oggi, dove ogni giorno viene generata un'enorme quantità di dati, è molto importante capire come gestire i dati. SQL Server è un ambiente integrato sviluppato da Microsoft per gestire i dati.In questo articolo sul tutorial di SQL Server imparerai tutte le operazioni ei comandi necessari per esplorare i tuoi database.

Per una tua migliore comprensione, ho suddiviso il blog nelle seguenti categorie:





Comandi Descrizione

Comandi DDL (Data Definition Language)

Questo insieme di comandi viene utilizzato per definire un database.

Comandi Data Manipulation Language (DML)



I comandi di manipolazione vengono utilizzati per manipolare i dati presenti nel database.

Comandi Data Control Language (DCL)

Questa serie di comandi si occupa delle autorizzazioni, dei diritti e di altri controlli dei sistemi di database.

Comandi Transaction Control Language (TCL)

Questi comandi sono utilizzati per occuparsi della transazione del database.

Oltre ai comandi, in questo articolo vengono trattati i seguenti argomenti:



MS SQL Server - Esercitazione su SQL Server - Edureka

  1. Cos'è SQL Server?
  2. Installa SQL Server
  3. Connettiti a SQL Server utilizzando SSMS
  4. Accedi al motore di database
  5. Architettura di SQL Server
  6. Commenti in SQL
  7. Tipi di dati di SQL Server
  8. Chiavi nel database
  9. Vincoli nel database
  10. Operatori
  11. Funzioni aggregate
  12. Funzioni definite dall'utente
  13. Query annidate
  14. Si unisce
  15. Loop
  16. Procedura di archiviazione
  17. La gestione delle eccezioni

***NOTA*** In questo tutorial di SQL Server, considererò il database seguente comeun esempio, per mostrarti come imparare e scriverecomandi.

StudentID Nome dello studente Nome del genitore Numero di telefono Indirizzo Città Nazione
unoio odioAkriti mehra9955339966Brigade Road Block 9HyderabadIndia
2ManasaShourya Sharma9234568762Mayo Road 15CalcuttaIndia
3AnaySoumya Mishra9876914261Casa Marathalli n. 101BengaluruIndia
4PreetiRohan Sinha9765432234Queens Road 40DelhiIndia
5ShanayaAbhinay agarwal9878969068Oberoi Street 21MumbaiIndia

Prima di iniziare a comprendere i diversi comandi utilizzati in SQL Server, comprendiamo cos'è SQL Server, la sua architettura e come installarlo.

Cos'è SQL Server?

Microsoft SQL Server è un relazionale sistema di gestione database . Supporta il Structured Query Language e viene fornito con la propria implementazione del linguaggio SQL che è il Transact-SQL (T-SQL) . Ha un ambiente integrato per gestire i database SQL, che è il .

I componenti chiave di SQL Server sono i seguenti:

  • Motore di database: Questo componente gestisce l'archiviazione, l'elaborazione rapida delle transazioni e la protezione dei dati.
  • Server SQL - Questo servizio viene utilizzato per avviare, arrestare, sospendere e continuare l'istanza di MS SQL Server.
  • Agente SQL Server - Il servizio Server Agent svolge il ruolo di task scheduler e viene attivato da qualsiasi evento o secondo il requisito.
  • Browser SQL Server - Questo servizio viene utilizzato per connettere la richiesta in arrivo all'istanza di SQL Server desiderata.
  • Ricerca full-text di SQL Server - Utilizzato per consentire all'utente di eseguire query full-text sui dati dei caratteri nelle tabelle SQL.
  • Writer VSS di SQL Server - Consente il backup e il ripristino dei file di dati quando SQL Server non è in esecuzione.
  • SQL Server Analysis Services (SSAS) - Questo servizio viene utilizzato per fornire analisi dei dati, data mining e capacità. SQL Server è anche integrato con e R per analisi dati avanzate.
  • SQL Server Reporting Services (SSRS) - Come suggerisce il nome, questo servizio viene utilizzato per fornire funzionalità e capacità decisionali inclusa l'integrazione con .
  • SQL Server Integration Services (SSIS) - Questo servizio viene utilizzato per eseguire le operazioni ETL per diversi tipi di dati da più origini di dati.

Ora che sai cos'è MS SQL Server, andiamo avanti in questo articolo sul tutorial di SQL Server e comprendiamo come installare e configurare SQL Server.

Installa SQL Server

Seguire i passaggi seguenti per installare SQL Server:

Passo 1: Vai alla pagina ufficiale di Download di Microsoft SQL Server , dove troverai l'opzione per installare SQL Server in locale o nel cloud.

Passo 2: Ora scorri verso il basso e vedrai due opzioni: Edizione Developer ed Enterprise . Qui, scaricherò il file Edizione per sviluppatori . Per scaricare, devi solo fare clic sul file Scarica ora opzione. Fare riferimento di seguito.

Passaggio 3: Una volta scaricata l'applicazione, fai doppio clic sul file e vedrai la seguente finestra.

Passaggio 4: Ora puoi scegliere una delle 3 opzioni per configurare SQL Server. Qui, sceglierò solo il file Opzione di base . Selezionando l'opzione del tipo di installazione, la schermata successiva sarebbe quella di accettare il contratto di licenza. Per farlo, fai clic su Accettare nella finestra successiva.

Passaggio 5: Successivamente, è necessario specificare il percorso di installazione di SQL Server. Quindi, devi fare clic su Installa.

Dopo aver fatto clic su Installare , vedrai che i pacchetti richiesti vengono scaricati. Ora, al termine dell'installazione, vedrai la seguente schermata:

Qui puoi andare avanti e fare clic su Connetti ora, oppure puoi personalizzare l'installazione. Per una tua migliore comprensione, andrò avanti e sceglierò Personalizzare.

Passaggio 6: Dopo aver fatto clic su personalizzare nella finestra in alto, vedrai aprirsi la seguente procedura guidata. nella finestra successiva, fare clic su Il prossimo.

Passaggio 7: Dopo che le regole sono state installate automaticamente, fare clic su Il prossimo . Fare riferimento di seguito.

Passaggio 8: Successivamente, devi scegliere il tipo di installazione. Quindi, scegli il file Eseguire un file nuova installazione di SQL Server 2017 opzione e quindi fare clic su Il prossimo.

Passaggio 9: Nella procedura guidata che si apre, scegli l'edizione: Sviluppatore. Quindi fare clic su Il prossimo . Fare riferimento di seguito.

Passaggio 10: Ora, leggi e accetta i contratti di licenza facendo il check-in sul pulsante di opzione e quindi fai clic su Il prossimo . Fare riferimento di seguito.

Passaggio 11: Nella procedura guidata di seguito è possibile scegliere le funzionalità che si desidera installare. Inoltre, puoi scegliere la directory root dell'istanza e quindi fare clic su Il prossimo . Qui, sceglierò il file Servizi del motore di database .

Passaggio 12: Successivamente devi assegnare un nome all'istanza e automaticamente verrà creato l'ID dell'istanza. Qui chiamerò l'istanza 'edureka'. Quindi fare clic su Il prossimo.

Passaggio 13: Nella procedura guidata di configurazione del server, fare clic su Il prossimo .

Passaggio 14: Ora devi abilitare le modalità di autenticazione. Qui vedrai il file Modalità di autenticazione di Windows e Modalita `mista . Sceglierò la modalità mista. Quindi, menziona la password e quindi aggiungerò l'utente corrente come Admin scegliendo il Aggiungi utente corrente opzione.

Passaggio 15: Quindi, scegli il percorso del file di configurazione e fai clic su Installare .

Al termine dell'installazione, vedrai la seguente schermata:

Connettiti a SQL Server utilizzando SSMS

Dopo aver installato SQL Server, il passaggio successivo consiste nel connettere SQL Server a SQL Server Management Studio. Per farlo segui i passaggi seguenti:

Passo 1: Torna indietro, alla finestra successiva e fai clic su installa SSMS opzione.

Passo 2: Dopo aver fatto clic su tale opzione, verrai reindirizzato al file pagina seguente , dove devi scegliere Scarica SSMS.

Passaggio 3: Dopo aver scaricato l'installazione, fai doppio clic sull'applicazione e vedrai aprirsi la seguente procedura guidata.

Passaggio 4: Clicca su Opzione di installazione , nella finestra sopra e vedrai che l'installazione inizierà.

Passaggio 5: Al termine dell'installazione verrà visualizzata una finestra di dialogo come mostrato di seguito.

Dopo aver installato SSMS, il passaggio successivo è accedere a Motore di database .

Accesso al Motore di database

Quando apri il file Studio di gestione del server SQL dal menu iniziale , si aprirà una finestra simile a quella mostrata nell'immagine sottostante.

Qui, menziona il nome del server, la modalità di autenticazione e fai clic su Collegare.

Dopo aver fatto clic su Collegare , vedrai la seguente schermata.

Bene gente, è così che installi e configuri SQL Server. Ora, andando avanti in questo tutorial di SQL Server, comprendiamo i diversi componenti dell'architettura di SQL Server.

Architettura di SQL Server

L'architettura di SQL Server è la seguente:

  • server & meno Qui è dove vengono installati i servizi SQL e risiede il database
  • Motore relazionale & meno Contiene il parser di query, l'ottimizzatore e l'esecutore e l'esecuzione avviene nel motore relazionale.
  • Command Parser & meno Controlla la sintassi della query e converte la query in linguaggio macchina.
  • Optimizer & meno Prepara il piano di esecuzione come output prendendo come input statistiche, query e albero Algebrator.
  • Query Executor & meno Questo è il punto in cui le query vengono eseguite passo dopo passo
  • Storage Engine & minus È responsabile della memorizzazione e del recupero dei dati sul sistema di archiviazione, della manipolazione dei dati, della gestione e del blocco delle transazioni.

Ora che sai come configurare e installare SQL Server e i suoi vari componenti, iniziamo con la scrittura Server. Ma prima di questo lasciatemi spiegare come scrivere commenti in SQL Server.

Commenti in SQL Server

Esistono due modi in cui è possibile commentare in SQL, ovvero utilizzare l'estensione S commenti su una riga o il m commenti su più righe .

Commenti su una sola riga

I commenti su una riga iniziano con due trattini (-). Quindi, il testo menzionato dopo (-), fino alla fine di una singola riga verrà ignorato dal compilatore.

Esempio:

- Esempio di commenti su una sola riga

Commenti su più righe

I commenti su più righe iniziano con / * e finiscono con * / . Quindi, il testo menzionato tra / * e * / verrà ignorato dal compilatore.

Esempio:

/ * Esempio per commenti su più righe * /

In questo articolo sul tutorial di SQL Server, iniziamo con il primo set di comandi, ovvero i comandi del linguaggio di definizione dei dati.

Comandi del linguaggio di definizione dei dati

Questa sezione dell'articolo ti darà un'idea dei comandi con l'aiuto dei quali puoi definire il tuo database. I comandi sono i seguenti:

CREARE

Questa istruzione viene utilizzata per creare una tabella, un database o una vista.

L'istruzione 'CREATE DATABASE'

Questa istruzione viene utilizzata per creare un database.

Sintassi

CREA DATABASE DatabaseName

Esempio

CREA DATABASE Studenti

Il ' CREA TABELLA 'Dichiarazione

Come suggerisce il nome, questa istruzione viene utilizzata per creare una tabella.

Sintassi

CREATE TABLE TableName (tipo di dati Column1, tipo di dati Column2, tipo di dati Column3, .... tipo di dati ColumnN)

Esempio

CREATE TABLE StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))

FAR CADERE

Questa istruzione viene utilizzata per eliminare una tabella, un database o una vista esistente.

L'istruzione 'DROP DATABASE'

Questa istruzione viene utilizzata per eliminare un database esistente. Le informazioni complete presenti nel database andranno perse non appena si esegue il comando seguente.

Sintassi

DROP DATABASE DatabaseName

Esempio

DROP DATABASE Studenti

La dichiarazione 'DROP TABLE'

Questa istruzione viene utilizzata per eliminare una tabella esistente. Le informazioni complete presenti nella tabella andranno perse non appena si esegue il comando seguente.

Sintassi

DROP TABLE TableName

Esempio

TABELLA DROP StudentInfo

ETÀ

Il comando ALTER viene utilizzato per aggiungere, eliminare o modificare colonne o vincoli in una tabella esistente.

Il ' ALTER TABLE 'Dichiarazione

Questa istruzione viene utilizzata per aggiungere, eliminare, modificare colonne in una tabella preesistente.

L'istruzione 'ALTER TABLE' con ADD / DROP COLUMN

L'istruzione ALTER TABLE viene utilizzata con il comando ADD / DROP Column per aggiungere ed eliminare una colonna.

Sintassi

ALTER TABLE TableName ADD ColumnName Tipo di dati ALTER TABLE TableName DROP COLUMN ColumnName

Esempio

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

L'istruzione 'ALTER TABLE' con ALTER COLUMN

L'istruzione ALTER TABLE può essere utilizzata con la colonna ALTER per modificare il tipo di dati di una colonna esistente in una tabella.

Sintassi

ALTER TABLE TableName ALTER COLUMN ColumnName Tipo di dati

Esempio

--Aggiungere una colonna DOB e modificare il tipo di dati da data a datetime. ALTER TABLE StudentInfo AGGIUNGI data DOB ALTER TABLE StudentInfo ALTER COLUMN DOB datetime

TRONCARE

Questo comando SQL viene utilizzato per eliminare le informazioni presenti nella tabella ma non elimina la tabella stessa. Quindi, se vuoi cancellare le informazioni presenti nella tabella, e non cancellare la tabella stessa, devi usare il comando TRUNCATE. Altrimenti, usa il comando DROP.

Sintassi

TRUNCATE TABLE TableName

Esempio

TABELLA TRONCA StudentInfo

RINOMINARE

Questa istruzione viene utilizzata per rinominare una o più tabelle.

Sintassi

sp_rename 'OldTableName', 'NewTableName'

Esempio

sp_rename 'StudentInfo', 'Infostudents'

Andando avanti in questo articolo sul tutorial di SQL Server, comprendiamo i diversi tipi di dati supportati da SQL Server.

Tipi di dati di SQL Server

Categoria del tipo di dati Nome tipo di dati Descrizione Intervallo / sintassi
Numeri esatti numericoUtilizzato per memorizzare valori numerici e avere numeri di scala e precisione fissi- da 10 ^ 38 +1 a 10 ^ 38 - 1.
tinyintUtilizzato per memorizzare valori interiDa 0 a 255
smallintUtilizzato per memorizzare valori interiDa -2 ^ 15 (-32.768) a 2 ^ 15-1 (32.767)
bigintUtilizzato per memorizzare valori interi-2 ^ 63 (-9.223.372.036.854.775.808) a 2 ^ 63-1 (9.223.372.036.854.775.807)
intUtilizzato per memorizzare valori interiDa -2 ^ 31 (-2.147.483.648) a 2 ^ 31-1 (2.147.483.647)
poMemorizza un tipo di dati intero che riporta un valore di 0, 1 o NULL0, 1 o NULL
decimaleUtilizzato per memorizzare valori numerici e avere numeri di scala e precisione fissi- da 10 ^ 38 +1 a 10 ^ 38 - 1.
smallmoneyUtilizzato per memorizzare denaroo valori di valuta.- da 214,748,3648 a 214,748,3647
i soldiUtilizzato per memorizzare denaroo valori di valuta.-922.337.203.685.477.5808 a 922.337.203.685.477.5807 (-922.337.203.685.477,58
a 922.337.203.685.477,58 per Informatica.
Numeri approssimativi galleggianteUtilizzato per memorizzare dati numerici in virgola mobile- 1.79E + 308 a -2.23E-308, 0 e 2.23E-308 a 1.79E + 308
veroUtilizzato per memorizzare dati numerici in virgola mobile- 3.40E + 38 a -1.18E - 38, 0 e 1.18E - 38 a 3.40E + 38
Data e ora DataUtilizzato per definire una data in SQL Server.Sintassi: data
smalldatetimeUtilizzato per definire una data combinata con un'ora del giorno in cui l'ora è basata su un giorno di 24 ore, con secondi sempre zero (: 00) e senza frazioni di secondo.Sintassi: smalldatetime
appuntamentoUtilizzato per definire una data combinata con un'ora del giorno con frazioni di secondo in base a un orologio a 24 ore.Sintassi: datetime
datetime2 datetime2 è come un'estensione dell'esistente appuntamento tipo con una precisione frazionaria predefinita maggiore e un intervallo di date più ampio.Sintassi: datetime2
datetimeoffsetUtilizzato per definire una data che è combinata con un'ora di un giorno con riconoscimento del fuso orario. Si basa su un orologio a 24 ore.Sintassi: datetimeoffset
tempoUtilizzato per definire un'ora di una giornata.Sintassi: tempo
Stringhe di caratteri charUtilizzato per memorizzare caratteri di dimensione fissa.char[( n )] dove il valore n varia da 1 a 8.000
varcharUtilizzato per memorizzare caratteri di lunghezza variabile.varchar [( n | max)] dove il valore n varia da 1 a 8000 e lo spazio di archiviazione massimo consentito è 2 GB.
testoUtilizzato per memorizzare vdati non Unicode a lunghezza variabileLunghezza massima della stringa consentita - 2 ^ 31-1 (2.147.483.647)
Stringhe di caratteri Unicode ncharUtilizzato per memorizzare caratteri di dimensione fissa.nchar[(n)] dove il valore n varia da 1 a 4.000
nvarcharUtilizzato per memorizzare caratteri di lunghezza variabile.varchar [( n | max)] dove il valore n varia da 1 a 4000 e lo spazio di archiviazione massimo consentito è 2 GB.
ntextUtilizzato per memorizzare dati Unicode a lunghezza variabileLunghezza massima della stringa consentita - 2 ^ 30-1 (2.147.483.647)
Stringhe binarie binarioUtilizzato per memorizzare i tipi di dati binari di una lunghezza fissabinario[( n )] dove il valore n varia da 1 a 8.000
varbinaryUtilizzato per memorizzare i tipi di dati binari di una lunghezza fissavarbinary[( n )] dove il valore n varia da 1 a 8000 e la memoria massima consentita è 2 ^ 31-1 byte.
ImmagineUtilizzato per memorizzare dati binari a lunghezza variabile0-2 ^ 31-1 (2.147.483.647) byte
Altri tipi di dati È un tipo di dati per stored procedure o variabili OUTPUT parametri che contengono un riferimento a un cursore.-
rowversionUtilizzato per esporre numeri binari univoci generati automaticamente all'interno di un database.-
hierarchyidUtilizzato per rappresentare la posizione in una gerarchia.-
identificativo unicoÈ un GUID a 16 byte.Sintassi:identificativo unico
sql_variantUtilizzato per archiviare i valori di vari tipi di dati supportati da SQL ServerSintassi: sql_variant
xmlUtilizzato per memorizzare il tipo di dati XML.

xml ([CONTENT | DOCUMENT] xml_schemacollection)

Tipi di geometria spazialeUtilizzato per rappresentare i dati in un sistema di coordinate euclidee (piatte).-
Tipi di geografia spazialeUtilizzato per memorizzare dati ellissoidali (round-earth), come le coordinate di latitudine e longitudine GPS.-
tavoloUtilizzato per memorizzare un set di risultati per l'elaborazione in un secondo momento-

Successivamente, in questo articolo, comprendiamo i diversi tipi di chiavi e vincoli nel database.

Diversi tipi di chiavi nel database

Di seguito sono riportati i diversi tipi di chiavi utilizzate nel database:

  • Chiave candidata - Candidate Key è un insieme di attributi che possono identificare in modo univoco una tabella. Una tabella può avere più di una singola chiave candidata e, tra le chiavi candidate scelte, una chiave viene scelta come chiave primaria.
  • Super Key - L'insieme di attributi può identificare in modo univoco una tupla. Quindi, le chiavi candidate, le chiavi univoche e le chiavi primarie sono super chiavi, ma il viceversa non è vero.
  • Chiave primaria - Chiavi primarie sono usati per identificare in modo univoco ogni tupla.
  • Chiave alternativa - Le chiavi alternative sono quelle chiavi candidate che non vengono scelte come chiave primaria.
  • Chiave unica- Le chiavi univoche sono simili alla chiave primaria, ma consentono un singolo valore NULL nella colonna.
  • Chiave esterna - Un attributo che può assumere solo i valori presenti come valori di qualche altro attributo, è il chiave esterna all'attributo a cui si riferisce.
  • Chiave composita- Le chiavi composite sono una combinazione di due o più colonne che identificano ciascuna tupla in modo univoco.

Vincoli utilizzati nel database

I vincoli vengono utilizzati in un database per specificare le regole per i dati archiviati in una tabella. I diversi tipi di file vincoli in SQL sono come segue:

NON NULLO

Il vincolo NOT NULL garantisce che una colonna non possa avere un valore NULL.

Esempio

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

UNICO

Questo vincolo garantisce che tutti i valori in una colonna siano univoci.

Esempio

--UNIQUE su Crea tabella 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)) --UNIQUE su più colonne 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 su ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) --Per eliminare un vincolo UNIQUE ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info

DAI UN'OCCHIATA

Il vincolo CHECK garantisce che tutti i valori in una colonna soddisfino una condizione specifica.

Esempio

--CHECK Constraint on 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 Vincolo su più colonne CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Città varchar (8000), Paese varchar (8000) CHECK (Country = 'India' AND City = 'Hyderabad')) --CHECK Vincolo su ALTER TABLE ALTER TABLE StudentsInfo ADD CHECK (Country = 'India') --Per dare un nome al vincolo CHECK ALTER TABLE StudentsInfo ADD CONSTRAINT CheckConstraintName CHECK (Country = 'India') --Per eliminare un vincolo CHECK ALTER TABLE StudentsInfo DROP CONSTRAINT CheckConstraintName

PREDEFINITO

Il vincolo DEFAULT consiste in un insieme di valori predefiniti per una colonna quando non viene specificato alcun valore.

Esempio

- Vincolo DEFAULT su CREATE TABLE CREATE TABLE StudentsInfo (StudentID int, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) DEFAULT 'India') - Vincolo DEFAULT su ALTER TABLE ALTER TABLE StudentsInfo AGGIUNGI VINCOLO defau_Country DEFAULT 'India' FOR Country --Per eliminare il vincolo predefinito ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country

INDICE

Il Vincolo INDICE serve per creare indici nella tabella, attraverso i quali è possibile creare e recuperare dati dal database molto velocemente.

Sintassi

--Crea un indice in cui sono consentiti valori duplicati CREATE INDEX IndexName ON TableName (Column1, Column2, ... ColumnN) --Crea un indice in cui non sono consentiti valori duplicati CREATE UNIQUE INDEX IndexName ON TableName (Column1, Column2, ... ColonnaN)

Esempio

CREATE INDEX idex_StudentName ON StudentsInfo (StudentName) --Per eliminare un indice in una tabella DROP INDEX StudentsInfo.idex_StudentName

Andando avanti in questo articolo sul tutorial di SQL Server, comprendiamo ora i diversi comandi di Data Manipulation Language utilizzati in Microsoft SQL Server.

Comandi del linguaggio di manipolazione dei dati

Questa sezione dell'articolo tratterà tutti quei comandi attraverso i quali è possibile manipolare il database. I comandi sono i seguenti:

Oltre a questi comandi, ci sono anche altri operatori / funzioni di manipolazione come:

USO

Questa istruzione viene utilizzata per selezionare il database per iniziare a eseguire varie operazioni su di esso.

Sintassi

USA DatabaseName

Esempio

USA Studenti

INSERIRE

Il Istruzione INSERT INTO viene utilizzato per inserire nuovi record in una tabella esistente.

Sintassi

INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (value1, value2, value3, ...) - Se non si desidera menzionare i nomi delle colonne, utilizzare la sintassi seguente INSERT INTO TableName VALUES (Valore1, Valore2, Valore3, ...)

Esempio

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

AGGIORNARE

L'istruzione UPDATE viene utilizzata per modificare o aggiornare i record già presenti nella tabella.

Sintassi

UPDATE TableName SET Colonna1 = Valore1, Colonna2 = Valore2, ... WHERE Condizione

Esempio

argomenti della riga di comando nel codice di esempio java
UPDATE StudentsInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WHERE StudentID = 1

ELIMINA

L'istruzione DELETE viene utilizzata per eliminare i record esistenti in una tabella.

Sintassi

DELETE FROM TableName WHERE Condizione

Esempio

ELIMINA DA StudentsInfo WHERE StudentName = 'Aahana'

PARTIRE

L'istruzione MERGE viene utilizzata per eseguire le operazioni INSERT, UPDATE e DELETE su una tabella specifica, in cui viene fornita la tabella di origine. Fare riferimento di seguito.

Sintassi

MERGE TagretTableName USANDO SourceTableName ON MergeCondition WHEN MATCHED THEN Update_Statement WHEN NOT MATCHED THEN Insert_Statement WHEN NOT MATCHED BY SOURCE THEN DELETE

Esempio

Per comprendere l'istruzione MERGE, considerare le seguenti tabelle come tabella di origine e tabella di destinazione.

Tabella di origine:

StudentID Nome dello studente Marks
unoio odio87
2Manasa92
4Anay74

Tabella di destinazione:

StudentID Nome dello studente Marks
unoio odio87
2Manasa67
3Saurabh55
MERGE SampleTargetTable TARGET UTILIZZANDO SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) QUANDO MATCHED AND TARGET.StudentName SOURCE.StudentName OR TARGET.Marks SOURCE.Marks THEN UPDATE SET TARGET.StudentName = TARGET.StudentName = SOURCE.StudentName = SOURCE. QUANDO NON ABBINATO DA TARGET, ALLORA INSERIRE (StudentID, StudentName, Marks) VALUES (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) QUANDO NON ABBINATO DA SOURCE THEN DELETE

Produzione

StudentID Nome dello studente Marks
unoio odio87
2Manasa92
4Anay74

SELEZIONARE

Il Istruzione SELECT viene utilizzato per selezionare i dati da un database, una tabella o una vista. I dati restituiti vengono archiviati in una tabella dei risultati, denominata set di risultati .

Sintassi

SELECT Column1, Column2, ... ColumN FROM TableName - (*) viene utilizzato per selezionare tutto dalla tabella SELECT * FROM table_name - Per selezionare il numero di record da restituire utilizzare: SELECT TOP 3 * FROM TableName

Esempio

- Per selezionare poche colonne SELECT StudentID, StudentName FROM StudentsInfo - (*) viene utilizzato per selezionare tutto dalla tabella SELECT * FROM StudentsInfo - Per selezionare il numero di record da restituire utilizzare: SELECT TOP 3 * FROM StudentsInfo

Possiamo anche utilizzare le seguenti parole chiave con l'istruzione SELECT:

DISTINTO

La parola chiave DISTINCT viene utilizzata con l'istruzione SELECT per restituire solo valori diversi.

Sintassi

SELEZIONA DISTINCT Column1, Column2, ... ColumnN FROM TableName

Esempio

SELEZIONA DISTINCT PhoneNumber FROM StudentsInfo

ORDINATO DA

Questa istruzione viene utilizzata per ordinare i risultati richiesti in ordine crescente o decrescente. Per impostazione predefinita, i risultati vengono archiviati in ordine crescente. Tuttavia, se desideri ottenere i risultati in ordine decrescente, devi usare il DESC parola chiave.

Sintassi

SELEZIONA Colonna1, Colonna2, ... ColonnaN DA TableName ORDINA PER Colonna1, Colonna2, ... ASC | DESC

Esempio

- Seleziona tutti gli studenti dalla tabella 'StudentsInfo' ordinata per ParentName: SELECT * FROM StudentsInfo ORDER BY ParentName - Seleziona tutti gli studenti dalla tabella 'StudentsInfo' ordinati per ParentName in ordine decrescente: SELECT * FROM StudentsInfo ORDER BY ParentName DESC - Seleziona tutti gli studenti dalla tabella 'StudentsInfo' ordinata per ParentName e StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Seleziona tutti gli studenti dalla tabella 'StudentsInfo' ordinati per ParentName in ordine decrescente e StudentName in ordine ascendente: * / SELEZIONA * DA StudentsInfo ORDINA PER ParentName ASC, StudentName DESC

RAGGRUPPA PER

Questa istruzione viene utilizzata con funzioni aggregate per raggruppare il set di risultati per una o più colonne.

Sintassi

SELEZIONA Colonna1, Colonna2, ..., ColonnaN DA TableName WHERE Condizione GROUP BY ColumnName (s) ORDER BY ColumnName (s)

Esempio

- Per elencare il numero di studenti di ogni città. SELEZIONA COUNT (StudentID), Città FROM StudentsInfo GROUP BY City

SET DI RAGGRUPPAMENTO

I GROUPING SET sono stati introdotti in SQL Server 2008, utilizzati per generare un set di risultati che può essere generato da un file UNION ALL delle molteplici clausole GROUP BY semplici.

Sintassi

SELEZIONA COLONNAME DA GRUPPO TableName PER GRUPPI DI GRUPPI (ColumnName)

Esempio

SELEZIONA StudentID, StudentName, COUNT (City) da StudentsInfo Group PER GRUPPI INSIEME ((StudentID, StudentName, City), (StudentID), (StudentName), (City))

AVERE

Questa clausola viene utilizzata nello scenario in cui il WHERE parola chiave non può essere usato.

Sintassi

SELEZIONA ColumnName (s) DA TableName WHERE Condizione GROUP BY ColumnName (s) HAVING Condition ORDER BY ColumnName (s)

Esempio

SELEZIONA COUNT (StudentID), Città FROM StudentsInfo GRUPPO PER Città HAVING COUNT (StudentID)> 2 ORDER BY COUNT (StudentID) DESC

IN

La parola chiave INTO può essere utilizzata con Istruzione SELECT per copiare i dati da una tabella a un'altra. Bene, puoi capire che queste tabelle sono tabelle temporanee. Le tabelle temporanee sono generalmente utilizzate per eseguire manipolazioni sui dati presenti nella tabella, senza disturbare la tabella originale.

Sintassi

SELECT * INTO NewTable [IN ExternalDB] FROM OldTable WHERE Condizione

Esempio

- Per creare un backup della tabella 'StudentsInfo' SELEZIONA * INTO StudentsBackup DA StudentsInfo --Per selezionare solo poche colonne da StudentsInfo SELEZIONA StudentName, PhoneNumber INTO StudentsDetails DA StudentsInfo SELEZIONA * IN PuneStudents DA StudentsInfo WHERE City = 'Pune'

CUBO

CUBE è un'estensione di Clausola GROUP BY . Consente di generare i totali parziali per tutte le combinazioni delle colonne di raggruppamento specificate nella clausola GROUP BY.

Sintassi

SELEZIONA ColumnName (s) DA TableName GROUP BY CUBE (ColumnName1, ColumnName2, ....., ColumnNameN)

Esempio

SELEZIONA StudentID, COUNT (Città) DA StudentsInfo GRUPPO PER CUBO (StudentID) ORDINA PER StudentID

ROLLUP

ROLLUP è un'estensione della clausola GROUP BY. Ciò consente di includere le righe aggiuntive che rappresentano i totali parziali. Queste sono indicate come righe super-aggregate insieme alla riga del totale generale.

Sintassi

SELEZIONA ColumnName (s) FROM TableName GROUP BY ROLLUP (ColumnName1, ColumnName2, ....., ColumnNameN)

Esempio

SELEZIONA StudentID, COUNT (City) FROM StudentsInfo GROUP BY ROLLUP (StudentID)

COMPENSARE

La clausola OFFSET viene utilizzata con SELECT e Istruzione ORDER BY per recuperare una serie di record. Deve essere utilizzato con la clausola ORDER BY poiché non può essere utilizzato da solo. Inoltre, l'intervallo menzionato deve essere uguale o maggiore di 0. Se si menziona un valore negativo, viene visualizzato un errore.

Sintassi

SELECT ColumnNames) FROM TableName WHERE Condizione ORDER BY ColumnName OFFSET RowsToSkip ROWS

Esempio

Considera una nuova colonna Marks nel StudentsInfo tavolo.

SELEZIONA StudentName, ParentName DA StudentsInfo ORDINA PER Marks OFFSET 1 ROWS

FETCH

La clausola FETCH viene utilizzata per restituire un insieme di un numero di righe. Deve essere utilizzato insieme alla clausola OFFSET.

Sintassi

SELECT ColumnNames) FROM TableName WHERE Condizione ORDER BY ColumnName OFFSET RowsToSkip FETCH NEXT NumberOfRows ROWS ONLY

Esempio

SELEZIONA StudentName, ParentName DA StudentsInfo ORDINA PER Marks OFFSET 1 ROWS FETCH NEXT 1 ROWS ONLY

SUPERIORE

La clausola TOP viene utilizzata con l'istruzione SELECT per menzionare il numero di record da restituire.

Sintassi

SELEZIONA TOP Number ColumnName (s) FROM TableName WHERE Condizione

Esempio

SELEZIONA I TOP 3 * DA StudentsInfo

PERNO

PIVOT viene utilizzato per ruotare le righe in valori di colonna ed esegue aggregazioni quando richiesto sui valori di colonna rimanenti.

Sintassi

SELECT NonPivoted ColumnName, [First Pivoted ColumnName] AS ColumnName, [Second Pivoted ColumnName] AS ColumnName, [Third Pivoted ColumnName] AS ColumnName, ... [Ultimo Pivoted ColumnName] AS ColumnName DA (SELEZIONA query che produce i dati) AS [alias per la query iniziale] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName della colonna i cui valori diventeranno intestazioni di colonna] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [ultimo colonna pivot])) AS [alias per la tabella pivot]

Esempio

Per ottenere un esempio dettagliato, puoi fare riferimento a il mio articolo su SQL PIVOT e UNPIVOT . Successivamente, in questo tutorial di SQL Server, esaminiamo i diversi operatori supportati da Microsoft SQL Server.

Operatori

Il diversi tipi di operatori supportati da SQL Server sono i seguenti:

Parliamo di ciascuno di essi uno per uno.

Operatori aritmetici

Operatore Senso Sintassi

+

Aggiunta

espressione + espressione

-

Sottrazione

espressione - espressione

*

Moltiplicazione

espressione * espressione

/

Divisione

espressione / espressione

%

Modulare

espressione% espressione

Operatori di assegnazione

Operatore Senso Sintassi

=

Assegna un valore a una variabile

variabile = 'valore'

Operatori bit per bit

Operatore Senso Sintassi

& (AND bit per bit)

Utilizzato per eseguire un'operazione AND logica bit per bit tra due valori interi.

espressione ed espressione

& = (Assegnazione AND bit per bit)

Utilizzato per eseguire un'operazione AND logica bit per bit tra due valori interi. Inoltre imposta un valore per l'output dell'operazione.

espressione & = espressione

| (OR bit per bit)

Utilizzato per eseguire un'operazione OR logico bit per bit tra due valori interi tradotti in espressioni binarie all'interno di istruzioni Transact-SQL.

espressione | espressione

| = (Assegnazione OR bit per bit)

Utilizzato per eseguire un'operazione OR logico bit per bit tra due valori interi tradotti in espressioni binarie all'interno di istruzioni Transact-SQL. Inoltre imposta un valore per l'output dell'operazione.

array di oggetti di classe java

espressione | = espressione

^ (OR esclusivo bit per bit)

Utilizzato per eseguire un'operazione OR esclusivo bit per bit tra due valori interi.

espressione ^ espressione

^ = (Assegnazione OR esclusiva bit per bit)

Utilizzato per eseguire un'operazione OR esclusivo bit per bit tra due valori interi. Inoltre imposta un valore per l'output dell'operazione.

espressione ^ = espressione

~ (Bitwise NOT)

Utilizzato per eseguire un'operazione NOT logica bit per bit su un valore intero.

~ espressione

Operatori di confronto

Operatore Senso Sintassi

=

Uguale a

espressione = espressione

>

Più grande di

espressione> espressione

<

Meno di

espressione

> =

Maggiore o uguale a

espressione> = espressione

<=

Minore o uguale a

espressione<= expression

Non uguale a

espressione espressione

! =

Non uguale a

espressione! = espressione

!<

Non meno di

espressione!

!>

Non maggiore di

espressione!> espressione

Operatori composti

Operatore Senso Sintassi

+ =

Utilizzato per aggiungere valore al valore originale e impostare il valore originale sul risultato.

espressione + = espressione

- =

Utilizzato per sottrarre un valore dal valore originale e impostare il valore originale sul risultato.

espressione - = espressione

* =

Utilizzato per moltiplicare il valore al valore originale e impostare il valore originale sul risultato.

espressione * = espressione

/ =

Utilizzato per dividere un valore dal valore originale e impostare il valore originale sul risultato.

espressione / = espressione

% =

Utilizzato per dividere un valore dal valore originale e impostare il valore originale sul risultato.

espressione% = espressione

& =

Utilizzato per eseguire un'operazione AND bit per bit e impostare il valore originale sul risultato.

espressione & = espressione

^ =

Utilizzato per eseguire un'operazione OR esclusivo bit per bit e impostare il valore originale sul risultato.

espressione ^ = espressione

| =

Utilizzato per eseguire un'operazione OR bit per bit e impostare il valore originale sul risultato.

espressione | = espressione

Operatori logici

Operatore Senso Sintassi

TUTTI

Restituisce TRUE se tutti i set di confronti sono TRUE.

scalar_expression! = ALL (sottoquery)

E

Restituisce TRUE se entrambe le espressioni sono TRUE.

boolean_expression AND boolean_expression

QUALUNQUE

Restituisce VERO se uno qualsiasi di un insieme di confronti è VERO.

scalar_expression! = {ANY} (sottoquery)

FRA

Restituisce TRUE se un operando è compreso in un intervallo.

sampleexpression [NON] TRA beginexpression E endexpression

ESISTE

Restituisce TRUE se una sottoquery contiene righe.

EXISTS (sottoquery)

NEL

Restituisce TRUE se un operando è uguale a uno di un elenco di espressioni.

test_expression [NOT] IN (sottoquery | espressione [,… n])

PIACE

Restituisce TRUE se un operando corrisponde a un modello.

match_expression [NOT] LIKE pattern [ESCAPE escape_character]

NON

Inverte il valore di qualsiasi operatore booleano.

[NOT] boolean_expression

O

Restituisce TRUE se una delle espressioni booleane è TRUE.

boolean_expression OR boolean_expression

ALCUNI

Restituisce VERO se alcuni di un insieme di confronti sono VERO.

scalar_expression<= { SOME} ( subquery )

Operatori di risoluzione dell'ambito

Operatore Senso Esempio

::

Fornisce accesso ai membri statici di un tipo di dati composto. I tipi di dati composti sono quei tipi di dati che contengono più metodi e tipi di dati semplici. Tipi di dati composti Includono i tipi CLR incorporati e i tipi definiti dall'utente SQLCLR personalizzati (UDT).

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

Imposta operatori

Esistono principalmente tre operazioni di set:UNIONE,INTERSECT,MENO. È possibile fare riferimento all'immagine seguente per comprendere le operazioni sugli insiemi in SQL. Fare riferimento all'immagine sottostante:

Operatore Senso Sintassi

UNIONE

L'operatore UNION viene utilizzato per combinare il set di risultati di due o più istruzioni SELECT.

SELEZIONA ColumnName (s) FROM Table1
UNIONE
SELEZIONA ColumnName (s) FROM Table2

INTERSECT

La clausola INTERSECT viene utilizzata per combinare dueSELEZIONAREe restituisce l'intersezione dei set di dati di entrambe le istruzioni SELECT.

SELEZIONA Colonna1, Colonna2….
FROM TableName
WHERE Condizione
INTERSECT
SELEZIONA Colonna1, Colonna2….
FROM TableName
WHERE Condizione

TRANNE

L'operatore EXCEPT restituisce quelle tuple che vengono restituite dalla prima operazione SELECT e non vengono restituite dalla seconda operazione SELECT.

SELEZIONA ColumnName
FROM TableName
TRANNE
SELEZIONA ColumnName
FROM TableName

Operatori di stringa

Operatore Senso Sintassi / Esempio

+ (Concatenazione di stringhe)

Concatena due o più stringhe binarie o di caratteri, colonne o una combinazione di stringhe e nomi di colonna in una singola espressione

espressione + espressione

+ = (Concatenazione di stringhe)

Utilizzato per concatenare due stringhe e imposta la stringa sul risultato dell'operazione.

espressione + = espressione

% (Caratteri jolly da abbinare)

Utilizzato per trovare qualsiasi stringa di zero o più caratteri.

Esempio: 'sample%'

[] (Caratteri jolly da abbinare)

Utilizzato per trovare una corrispondenza con un singolo carattere all'interno dell'intervallo o insieme specificato specificato tra parentesi [].

Esempio: m [n-z]% ’

[^] (Caratteri jolly da abbinare)

Utilizzato per abbinare un singolo carattere che non è compreso nell'intervallo o nel set specificato tra le parentesi quadre.

Esempio: 'Al [^ a]%'

_ (Caratteri jolly da abbinare)

Utilizzato per trovare una corrispondenza con un singolo carattere in un'operazione di confronto di stringhe

test_expression [NOT] IN (sottoquery | espressione [,… n])

Aggregato Funzioni

Il diverso funzioni aggregate supportati da SQL Server sono i seguenti:

Funzione Descrizione Sintassi Esempio

SOMMA()

Utilizzato per restituire la somma di un gruppo di valori.

SELEZIONA SUM (ColumnName) DA TableName

SELEZIONA SOMMA (voti) DA StudentsInfo

CONTARE()

Restituisce il numero di righe in base a una condizione o senza una condizione.

SELEZIONA COUNT (ColumnName) DA TableName WHERE Condizione

SELEZIONA COUNT (StudentID) DA StudentsInfo

AVG ()

Utilizzato per calcolare il valore medio di una colonna numerica.

SELEZIONA AVG (ColumnName) DA TableName

SELEZIONA AVG (Marks) FROM StudentsInfo

MIN ()

Questa funzione restituisce il valore minimo di una colonna.

SELEZIONA MIN (ColumnName) DA TableName

SELEZIONA MIN (voti) da StudentsInfo

MAX ()

Restituisce un valore massimo di una colonna.

SELEZIONA MAX (ColumnName) DA TableName

SELEZIONA MAX (Marks) FROM StudentsInfo

PRIMO()

Utilizzato per restituire il primo valore della colonna.

SELEZIONA PRIMO (ColumnName) DA TableName

SELEZIONA PRIMA (voti) da StudentsInfo

ULTIMO()

Questa funzione restituisce l'ultimo valore della colonna.

SELEZIONA LAST (ColumnName) DA TableName

SELEZIONA LAST (Marks) FROM StudentsInfo

Funzioni definite dall'utente

Microsoft SQL Server consente agli utenti di creare funzioni definite dall'utente che sono routine. Queste routine accettano parametri, possono eseguire azioni da semplici a complesse e restituire il risultato di quella particolare azione come valore. In questo caso, il valore restituito può essere un singolo valore scalare o un set di risultati completo.

È possibile utilizzare funzioni definite dall'utente per:

  • Consenti la programmazione modulare
  • Riduci il traffico di rete
  • Consenti un'esecuzione più rapida delle query

Inoltre, è possibile creare diversi tipi di funzioni definite dall'utente. Sono:

  • Funzioni scalari: Abituato arestituisce un singolo valore di dati del tipo definito nella clausola RETURNS.
  • Funzioni con valori di tabella: Abituato arestituire atavolotipo di dati.
  • Funzioni di sistema: Una varietà di funzioni di sistema sono fornite da SQL Server per eseguire diverse operazioni.

Bene, a parte le funzioni definite dall'utente, c'è un sacco di funzioni integrate in SQL Server che possono essere utilizzate per eseguire una varietà di attività. Andando avanti in questo articolo sul tutorial di SQL Server, vediamo ora cosa sono le query annidate.

Query annidate

Query annidate sono quelle query che hanno una query esterna e una sottoquery interna. Quindi, fondamentalmente, la sottoquery è una query annidata all'interno di un'altra query come SELECT, INSERT, UPDATE o DELETE. Fare riferimento all'immagine sottostante:

Successivamente in questo tutorial di SQL Server, comprendiamo i diversi tipi di join in SQL.

Si unisce

vengono utilizzati per combinare tuple di due o più tabelle, in base a una colonna correlata tra le tabelle. Esistono quattro tipi di join:

  • INNER JOIN: Restituisce i record che hanno valori corrispondenti in entrambe le tabelle.
  • PARTECIPA A SINISTRA: Restituisce i record dalla tabella di sinistra e anche quei record che soddisfano la condizione dalla tabella di destra.
  • PARTECIPAZIONE DESTRA: Restituisce i record dalla tabella di destra e anche quei record che soddisfano la condizione dalla tabella di sinistra.
  • PARTECIPAZIONE COMPLETA: Restituisce i record che hanno una corrispondenza nella tabella sinistra o destra.

Considera la tabella seguente insieme alla tabella StudentsInfo, per comprendere la sintassi dei join.

SubjectID StudentID SubjectName
1010Matematica
2undiciFisica
312Chimica

INNER JOIN

Sintassi

SELEZIONA ColumnName (s) FROM Table1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Esempio

SELEZIONA Subject.SubjectID, StudentsInfo.StudentName FROM Subject INNER JOIN StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID

SINISTRA UNISCITI

Sintassi

SELEZIONA ColumnName (s) FROM Table1 SINISTRA JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Esempio

SELEZIONA StudentsInfo.StudentName, Soggetti.SubjectID DA StudentsInfo SINISTRA UNISCI Soggetti su StudentsInfo.SubjectID = Subject.SubjectID ORDINA PER StudentsInfo.StudentName

PARTECIPA A DESTRA

Sintassi

SELEZIONA ColumnName (s) FROM Table1 RIGHT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Esempio

SELEZIONA StudentsInfo.StudentName, Soggetti.SubjectID DA StudentsInfo DESTRA UNISCITI A OGGETTI SU StudentsInfo.SubjectID = Soggetti.SubjectID ORDINA PER StudentsInfo.StudentName

FULL JOIN

Sintassi

SELEZIONA ColumnName (s) FROM Table1 FULL OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Esempio

SELEZIONA StudentsInfo.StudentName, Soggetti.SubjectID DA StudentsInfo COMPLETO ESTERNO UNISCITI A OGGETTI SU StudentsInfo.SubjectID = Soggetti.SubjectID ORDINA PER StudentsInfo.StudentName

Successivamente, in questo articolo sul tutorial di SQL Server, comprendiamo i diversi tipi di loop supportati da SQL Server.

Loop

I diversi comandi di controllo del flusso sono i seguenti:

Parliamo di ciascuno di essi uno per uno.

BEGIN..END

Queste parole chiave vengono utilizzate per racchiudere una serie di istruzioni SQL. Quindi, questo gruppo di istruzioni SQL può essere eseguito.

Sintassi

BEGIN StatementBlock END

ROMPERE

Questa istruzione viene utilizzata per uscire dal ciclo WHILE corrente. Nel caso in cui il ciclo WHILE corrente sia annidato all'interno di un altro ciclo, l'istruzione BREAK esce solo dal ciclo corrente e il controllo viene passato all'istruzione successiva nel ciclo corrente. L'istruzione BREAK viene generalmente utilizzata all'interno di un'istruzione IF.

Sintassi

ROMPERE

CONTINUA

L'istruzione CONTINUE viene utilizzata per riavviare un ciclo WHILE. Quindi, qualsiasi istruzione dopo la parola chiave CONTINUE verrà ignorata.

Sintassi

CONTINUA

In questo caso, Etichetta è il punto dopo il quale viene avviata l'elaborazione se un GOTO è indirizzato a quella particolare etichetta.

VAI A

Utilizzato per modificare il flusso di esecuzione in un'etichetta. Le istruzioni scritte dopo la parola chiave GOTO vengono ignorate e l'elaborazione continua sull'etichetta.

Sintassi

Definisci etichetta: Etichetta: Modifica esecuzione: Etichetta GOTO

In questo caso, Etichetta è il punto dopo il quale viene avviata l'elaborazione se un GOTO è indirizzato a quella particolare etichetta.

SE ALTRO

Come qualsiasi altro linguaggio di programmazione, l'istruzione If-else in SQL Server verifica la condizione e, se la condizione è falsa, viene eseguita l'istruzione 'else'.

Sintassi

IF BooleanExpression StatementBlock [ELSE StatementBlock]

RITORNO

Utilizzato per uscire incondizionatamente da una query o da una procedura. Quindi, le istruzioni scritte dopo la clausola RETURN non vengono eseguite.

Sintassi

RETURN [IntegerExpression]

Qui viene restituito un valore intero.

ASPETTARE

Il flusso di controllo WAITFOR viene utilizzato per bloccare l'esecuzione di una procedura memorizzata, una transazione o un batch fino a quando un'istruzione specifica non viene modificata, restituisce almeno una riga o un tempo o un intervallo di tempo specificato.

Sintassi

WAITFOR (GetConversionGroupStatement)] [, TIMEOUT timeout]

dove,

  • RITARDO - Periodo di tempo che deve trascorrere
  • TimeToPass - Ptempo di attesa
  • TEMPO - Ilora in cui viene eseguita la procedura memorizzata, la transazione o il batch.
  • TimeToExecute - Ilora in cui termina l'istruzione WAITFOR.
  • RecieveStatement - PERdichiarazione RECEIVE valida.
  • GetConversionGroupStatement - PERistruzione GET CONVERSATION GROUP valida.
  • TIMEOUT timeout - Specifica il periodo di tempo, in millisecondi, di attesa per l'arrivo di un messaggio sulla coda.

MENTRE

Questo ciclo viene utilizzato per impostare una condizione per l'esecuzione ripetuta di una particolare istruzione SQL o di un blocco di istruzioni SQL. Le istruzioni vengono eseguite fintanto che la condizione menzionata dall'utente è TRUE. Non appena la condizione fallisce, il ciclo interrompe l'esecuzione.

Sintassi

come implementare una hashmap
WHILE BooleanExpression StatementBlock

Ora che conoscete i comandi DML, passiamo alla nostra prossima sezionein questo articolo su SQL Tutorial, ovvero i comandi DCL.

Comandi del linguaggio di controllo dati (DCL)

Questa sezione del tutorial di SQL Server ti darà un'idea del comando attraverso il quale vengono utilizzati per applicare la sicurezza del database in più ambienti di database utente. I comandi sono i seguenti:

CONCEDERE

Il comando GRANT viene utilizzato per fornire agli utenti accesso o privilegi sul database e sui suoi oggetti.

Sintassi

GRANT PrivilegeName ON ObjectName TO RoleName [WITH GRANT OPTION]

dove,

  • PrivilegeName - Il privilegio / diritto / accesso concesso all'utente.
  • ObjectName - Nome di un oggetto database come TABLE / VIEW / STORED PROC.
  • Nome utente - Nome dell'utente a cui vengono forniti l'accesso / i diritti / i privilegi.
  • PUBBLICO - Per concedere i diritti di accesso a tutti gli utenti.
  • RoleName - Il nome di un insieme di privilegi raggruppati.
  • CON GRANT OPTION - Per consentire all'utente l'accesso per concedere ad altri utenti i diritti.

Esempio

- Per concedere l'autorizzazione SELECT per la tabella StudentsInfo all'utente1 CONCEDERE SELEZIONA SU StudentsInfo A utente1

REVOCARE

Il comando REVOKE viene utilizzato per revocare i privilegi di accesso dell'utente concessi utilizzando il comando GRANT.

Sintassi

REVOKE PrivilegeName ON ObjectName DA PUBBLICO

Esempio

- Per revocare l'autorizzazione concessa all'utente1 REVOKE SELECT ON StudentsInfo TO user1

Andando avanti in questo tutorial di SQL Server, cerchiamo di capire come creare e utilizzare le stored procedure.

Procedura di archiviazione

Procedura di archiviazione sono unità riutilizzabili che incapsulano una logica di business specifica dell'applicazione. Quindi, è un gruppo di istruzioni e logica SQL, compilate e memorizzate insieme per eseguire un'attività specifica.

Sintassi

CREATE [OR REPLACE] PROCEDURE nome_procedura [(nome_parametro [IN | OUT | IN OUT] tipo [])] IS BEGIN [sezione_dichiarazione] sezione_eseguibile // Istruzione SQL utilizzata nella procedura memorizzata END GO

Esempio

--Crea una procedura che restituirà il nome di uno studente quando StudentId viene fornito come parametro di input per la procedura memorizzata Crea PROCEDURA GetStudentName (@StudentId INT, --Input parameter, @StudName VARCHAR (50) OUT --Output parameter, AS BEGIN SELECT @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END

Passaggi da eseguire:

      • Dichiara @StudName come nvarchar (50)
      • EXEC GetStudentName 01, output @StudName
      • SELEZIONA @StudName

La procedura di cui sopra restituisce il nome di un particolare studente,nel fornire l'ID dello studente come input. Successivamente in questo tutorial di SQL Server, comprendiamo i comandi del linguaggio di controllo delle transazioni.

Comandi del linguaggio di controllo delle transazioni (TCL)

Questa sezione dell'esercitazione su SQL Server fornirà una panoramica dei comandi utilizzati per gestire le transazioni nel database.I comandi sono i seguenti:

COMMETTERE

Il comando COMMIT viene utilizzato per salvare la transazione nel database.

Sintassi

COMMETTERE

ROLLBACK

Il comando ROLLBACK viene utilizzato per ripristinare il database all'ultimo stato di commit.

Sintassi

ROLLBACK

NOTA: Quando si utilizza ROLLBACK con SAVEPOINT, è possibile passare direttamente a un punto di salvataggio in una transazione in corso. Sintassi: ROLLBACK TO SavepointName

SAVEPOINT

Il comando SAVEPOINT viene utilizzato per salvare temporaneamente una transazione. Quindi, se desideri eseguire il rollback a qualsiasi punto, puoi salvare quel punto come 'SAVEPOINT'.

Sintassi

SAVEPOINT SAVEPOINTNAME

Considera la tabella seguente per comprendere il funzionamento delle transazioni nel database.

StudentID Nome dello studente
unoRohit
2Suhana
3Ashish
4Prerna

Ora usa quanto segue per comprendere le transazioni nel database.

INSERT INTO StudentTable VALUES (5, 'Avinash') COMMIT UPDATE StudentTable SET name = 'Akash' WHERE id = '5' SAVEPOINT S1 INSERT INTO StudentTable VALUES (6, 'Sanjana') SAVEPOINT S2 INSERT INTO StudentTable VALUES (7, 'Sanjay ') SAVEPOINT S3 INSERT INTO StudentTable VALUES (8,' Veena ') SAVEPOINT S4 SELECT * FROM StudentTable

Successivamente, in questo articolo sull'esercitazione di SQL Server, viene illustrato come gestire le eccezioni in Transact-SQL.

La gestione delle eccezioni

Esistono due tipi di eccezioni, ovvero le eccezioni definite dal sistema e le eccezioni definite dall'utente. Come suggerisce il nome, la gestione delle eccezioni è un processo attraverso il quale un utente può gestire le eccezioni generate. Per gestire le eccezioni è necessario comprendere le seguenti istruzioni del flusso di controllo:

GETTARE

Questa clausola viene utilizzata per sollevare un'eccezione e trasferisce l'esecuzione a un blocco CATCH di un costrutto TRY… CATCH.

Sintassi

THROW [ErrorNumber, @localvariable, State] []

dove,

  • ErrorNumber - PERcostante o variabile che rappresenta l'eccezione.
  • Messaggio - PERvariabile o stringa che descrive l'eccezione.
  • Stato -Una costante o variabile compresa tra 0 e 255 che indica lo stato da associare al messaggio.
THROW 51000, 'Il record non esiste.', 1

PROVA A PRENDERE

Utilizzato per implementare la gestione delle eccezioni in Transact-SQL. Un gruppo di istruzioni può essere racchiuso nel blocco TRY. Nel caso in cui si verifichi un errore nel blocco TRY, il controllo viene passato a un altro gruppo di istruzioni racchiuse in un blocco CATCH.

Sintassi

BEGIN TRY StatementBlock END TRY BEGIN CATCH [StatementBlock] END CATCH []
BEGIN TRY SELECT * FROM StudentsInfo END TRY BEGIN CATCH SELEZIONA ERROR_NUMBER () AS ErNum, ERROR_MESSAGE () AS ErMsg END CATCH

NEL Con questo, arriviamo alla fine di questo articolo su SQL Server Tutorial. Spero che ti sia piaciuto leggere questo articolo sul tutorial di SQL Server per principianti.io Se desideri ricevere una formazione strutturata su MySQL, dai un'occhiata al nostro che viene fornito con formazione dal vivo con istruttore e esperienza di progetto nella vita reale. Questa formazione ti aiuterà a comprendere in profondità MySQL e a raggiungere la padronanza dell'argomento. Hai domande per noi? Si prega di menzionarlo nella sezione commenti di ' Esercitazione su SQL Server 'E ti ricontatterò.