Tutorial de SQL Server: tot el que necessiteu per dominar Transact-SQL



Aquest article sobre Tutorial de SQL Server és una guia completa sobre els diversos conceptes, sintaxi i ordres utilitzats a MS SQL Server.

Al mercat actual, on es genera una gran quantitat de dades cada dia, és molt important entendre com gestionar les dades. SQL Server és un entorn integrat desenvolupat per Microsoft per gestionar les dades.En aquest article del tutorial de SQL Server, aprendreu totes les operacions i ordres que necessiteu per explorar les vostres bases de dades.

Per a una millor comprensió, he dividit el bloc en les següents categories:





Ordres Descripció

Ordres de llenguatge de definició de dades (DDL)

Aquest conjunt d’ordres s’utilitzen per definir una base de dades.

Ordres de llenguatge de manipulació de dades (DML)



Les ordres de manipulació s’utilitzen per manipular les dades presents a la base de dades.

Ordres de control de dades (DCL)

Aquest conjunt d’ordres tracta dels permisos, drets i altres controls dels sistemes de bases de dades.

Ordres de control de transaccions (TCL)

Aquestes ordres s'utilitzen tractar amb la transacció de la base de dades.

A part de les ordres, en aquest article es tracten els temes següents:



MS SQL Server - Tutorial de SQL Server - Edureka

  1. Què és SQL Server?
  2. Instal·leu SQL Server
  3. Connecteu-vos a SQL Server mitjançant SSMS
  4. Accediu al motor de base de dades
  5. Arquitectura de SQL Server
  6. Comentaris a SQL
  7. Tipus de dades de SQL Server
  8. Claus de la base de dades
  9. Restriccions a la base de dades
  10. Operadors
  11. Funcions agregades
  12. Funcions definides per l'usuari
  13. Consultes imbricades
  14. S'uneix
  15. Bucles
  16. Procediments emmagatzemats
  17. Manipulació d’excepcions

***NOTA*** En aquest tutorial de SQL Server, consideraré la base de dades següent com aun exemple, per mostrar-vos com aprendre i escriureordres.

ID estudiant Nom de l'estudiant NomParent Número de telèfon adreça ciutat País
1OdioAkriti mehra9955339966Bloc 9 de la BrigadaHyderabadÍndia
2ManasaShourya Sharma9234568762Maig Road 15CalcutaÍndia
3AnaySoumya Mishra9876914261Casa Marathalli no 101BengaluruÍndia
4PreetiRohan Sinha9765432234Queens Road 40DelhiÍndia
5ShanayaAbhinay agarwal9878969068Carrer Oberoi 21BombaiÍndia

Abans de començar a entendre les diferents ordres utilitzades a SQL Server, entenem què és SQL Server, la seva arquitectura i com instal·lar-lo.

Què és SQL Server?

Microsoft SQL Server és una relació sistema de gestió de bases de dades . Admet el fitxer Llenguatge de consulta estructurada i ve amb la seva pròpia implementació del llenguatge SQL que és Transact-SQL (T-SQL) . Té un entorn integrat per gestionar bases de dades SQL, que és el .

Els components clau de SQL Server són els següents:

  • Motor de base de dades: Aquest component gestiona l’emmagatzematge, el processament ràpid de transaccions i la seguretat de dades.
  • SQL Server: Aquest servei s’utilitza per iniciar, aturar, posar en pausa i continuar la instància de MS SQL Server.
  • Agent SQL Server: El servei Agent de servidors té el paper de planificador de tasques i es desencadena per qualsevol esdeveniment o segons el requisit.
  • Navegador SQL Server - Aquest servei s’utilitza per connectar la sol·licitud entrant a la instància de SQL Server desitjada.
  • Cerca de text complet de SQL Server - S'utilitza per permetre a l'usuari executar consultes de text complet sobre les dades de caràcters de les taules SQL.
  • SQL Server VSS Writer - Permet fer còpies de seguretat i restaurar fitxers de dades quan SQL Server no s'executa.
  • SQL Server Analysis Services (SSAS): Aquest servei s'utilitza per proporcionar anàlisi de dades, mineria de dades i capacitats. El SQL Server també està integrat amb i R per a anàlisis de dades avançades.
  • SQL Server Reporting Services (SSRS) - Com el seu nom indica, aquest servei s’utilitza per proporcionar funcions i capacitats de presa de decisions, inclosa la integració amb .
  • Serveis d’integració de SQL Server (SSIS) - Aquest servei s’utilitza per realitzar les operacions ETL per a diferents tipus de dades de múltiples fonts de dades.

Ara, que ja sabeu què és MS SQL Server, anem a avançar en aquest article del tutorial de SQL Server i entenem com instal·lar i configurar SQL Server.

Instal·leu SQL Server

Seguiu els passos següents per instal·lar SQL Server:

Pas 1: Aneu a la pàgina oficial de Descàrrega de Microsoft SQL Server , on trobareu l'opció d'instal·lar SQL Server local o al núvol.

Pas 2: Ara, desplaceu-vos cap avall i veureu dues opcions: Edició per a desenvolupadors i empreses . Aquí descarregaré el fitxer Edició per a desenvolupadors . Per descarregar-lo, només cal que feu clic a Descarrega ara opció. Consulteu a continuació.

Pas 3: Un cop descarregada l’aplicació, feu doble clic al fitxer i veureu la finestra següent.

Pas 4: Ara podeu triar qualsevol de les tres opcions per configurar SQL Server. Aquí, només escolliré el Opció bàsica . En seleccionar l'opció del tipus d'instal·lació, la següent pantalla seria acceptar l'acord de llicència. Per fer-ho, feu clic a Accepta a la finestra següent.

Pas 5: A continuació, heu d'especificar la ubicació d'instal·lació de SQL Server. Després, heu de fer clic a Instal·la.

Un cop feu clic a Instal·la , veureu que es descarreguen els paquets necessaris. Ara, un cop finalitzada la instal·lació, veureu la pantalla següent:

Aquí podeu anar endavant i fer clic a Connecta ara o personalitzar la instal·lació. Per a una millor comprensió, seguiré endavant i escolliré Personalitzar.

Pas 6: Un cop feu clic a Personalitzar a la finestra superior, veureu l'obertura de l'assistent següent. a la finestra següent, feu clic a Pròxim.

Pas 7: Un cop instal·lades les regles automàticament, feu clic a Pròxim . Consulteu a continuació.

Pas 8: A continuació, heu de triar el tipus d'instal·lació. Per tant, trieu el Realitzeu un nova instal·lació de SQL Server 2017 i feu clic a Pròxim.

Pas 9: A l'assistent que s'obre, trieu l'edició: Desenvolupador. A continuació, feu clic a Pròxim . Consulteu a continuació.

Pas 10: Ara, llegiu i accepteu els acords de llicència si feu clic al botó d’opció i feu clic a Pròxim . Consulteu a continuació.

Pas 11: A l'assistent següent podeu triar les funcions que voleu instal·lar. També podeu triar el directori arrel de la instància i després fer clic a Pròxim . Aquí, triaré el Serveis de motors de base de dades .

Pas 12: A continuació, heu de posar nom a la instància i, automàticament, es crearà l'identificador de la instància. Aquí, anomenaré la instància 'edureka'. A continuació, feu clic a Pròxim.

Pas 13: A l’assistent de configuració del servidor, feu clic a Pròxim .

Pas 14: Ara heu d’habilitar els modes d’autenticació. Aquí, veureu el Mode d'autenticació de Windows i Mode mixt . Triaré el mode mixt. A continuació, mencioneu la contrasenya i afegiré l’usuari actual com a Administrador escollint el fitxer Afegeix un usuari actual opció.

Pas 15: A continuació, trieu la ruta del fitxer de configuració i feu clic a Instal·la .

Un cop finalitzada la instal·lació, veureu la pantalla següent:

Connecteu-vos a SQL Server mitjançant SSMS

Després d’instal·lar SQL Server, el següent pas és connectar SQL Server a SQL Server Management Studio. Per fer-ho, seguiu els passos següents:

Pas 1: Torneu enrere a la finestra següent i feu clic a instal·lar SSMS opció.

Pas 2: Un cop feu clic a aquesta opció, se us redirigirà al fitxer pàgina següent , on heu de triar Descarregueu SSMS.

Pas 3: Després de descarregar la configuració, feu doble clic a l'aplicació i veureu l'obertura de l'assistent següent.

Pas 4: Fer clic a Opció d'instal·lació , a la finestra anterior i veureu que començarà la instal·lació.

Pas 5: Un cop finalitzada la instal·lació, obtindreu un quadre de diàleg com es mostra a continuació.

Després d’instal·lar l’SMSS, el següent pas és accedir al fitxer Motor de base de dades .

Accés al motor de base de dades

Quan obriu el fitxer Estudi de gestió de servidors SQL des del menú d'inici , s'obrirà una finestra similar a la finestra que es mostra a la imatge següent.

Aquí, mencioneu el nom del servidor, el mode d’autenticació i feu clic a Connecteu-vos.

Després de fer clic a Connecteu-vos , veureu la següent pantalla.

Bé, gent, així és com instal·leu i configureu SQL Server. Ara, avançant en aquest tutorial de SQL Server, entenem els diferents components de l'arquitectura de SQL Server.

Arquitectura de SQL Server

L'arquitectura de SQL Server és la següent:

  • Servidor & menys Aquí és on s'instal·len els serveis SQL i resideix la base de dades
  • Motor relacional & menys Conté l'analitzador de consultes, l'optimitzador i l'executor i l'execució es produeix al motor relacional.
  • Analitzador d'ordres & menys Comprova la sintaxi de la consulta i converteix la consulta en llenguatge de màquina.
  • Optimitzador & menys Prepara el pla d'execució com a sortida prenent estadístiques, consulta i arbre d'algebrador com a entrada.
  • Executor de consultes & menys Aquest és el lloc on les consultes s'executen pas a pas
  • Motor d'emmagatzematge & minus S'encarrega de l'emmagatzematge i recuperació de dades al sistema d'emmagatzematge, manipulació de dades, gestió i bloqueig de transaccions.

Ara, que ja sabeu com configurar i instal·lar SQL Server i els seus diversos components, comencem a escriure Servidor. Abans, però, deixeu-me explicar com escriure comentaris a SQL Server.

Comentaris a SQL Server

Hi ha dues maneres en què podeu comentar a SQL, és a dir, bé utilitzeu el fitxer s comentaris ingle-line o el m comentaris d’ultima línia .

Comentaris d’una sola línia

Els comentaris d'una sola línia comencen per dos guions (-). Per tant, el compilador ignorarà el text esmentat després de (-), fins al final d'una sola línia.

Exemple:

--Exemple de comentaris d'una sola línia

Comentaris de diverses línies

Els comentaris de diverses línies comencen per / * i acaben amb * / . Per tant, el text esmentat entre / * i * / serà ignorat pel compilador.

Exemple:

/ * Exemple de comentaris de diverses línies * /

Ara, en aquest article del tutorial de SQL Server, comencem amb el primer conjunt d’ordres, és a dir, ordres de llenguatge de definició de dades.

Ordres del llenguatge de definició de dades

Aquesta secció de l'article us donarà una idea sobre les ordres amb les quals podeu definir la vostra base de dades. Les ordres són les següents:

CREAR

Aquesta afirmació s’utilitza per crear una taula, una base de dades o una vista.

La declaració 'CREA LA BASE DE DADES'

Aquesta afirmació s’utilitza per crear una base de dades.

Sintaxi

CREA BASE DE DADES Nom de la base de dades

Exemple

CREA BASES DE DADES Estudiants

El ‘ CREA TAULA ’Declaració

Com el seu nom indica, aquesta afirmació s’utilitza per crear una taula.

Sintaxi

CREA LA TAULA Nom de la taula (tipus de dades Columna1, tipus de dades Columna2, tipus de dades Columna3, ... tipus de dades ColumnaN)

Exemple

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

TIRAR

Aquesta declaració s'utilitza per deixar caure una taula, base de dades o vista existents.

La declaració 'DROP DATABASE'

Aquesta declaració s’utilitza per deixar caure una base de dades existent. La informació completa present a la base de dades es perdrà tan bon punt executeu l'ordre següent.

Sintaxi

DROP DATABASE DatabaseName

Exemple

DROP DATABASE BASE DE DADES Estudiants

La declaració 'TAULA DE GOTA'

Aquesta afirmació s’utilitza per deixar caure una taula existent. La informació completa present a la taula es perdrà tan bon punt executeu l'ordre següent.

Sintaxi

TAULA DE GOTA Nom de la taula

Exemple

TAULA DE GOTES StudentInfo

EDAT

L'ordre ALTER s'utilitza per afegir, suprimir o modificar columnes o restriccions d'una taula existent.

El ‘ ALTER TAULA ’Declaració

Aquesta declaració s’utilitza per afegir, suprimir i modificar columnes d’una taula preexistent.

La declaració 'ALTER TAULA' amb COLUMNA AFEGIR / GOTAR

La sentència ALTER TABLE s'utilitza amb l'ordre ADD / DROP Column per afegir i eliminar una columna.

Sintaxi

ALTER TABLE Nom de la taula ADD ColumnName Tipus de dades ALTER TABLE Nom de la taula DROP COLUMN ColumnName

Exemple

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

La declaració 'ALTER TABLE' amb ALTER COLUMN

La sentència ALTER TABLE es pot utilitzar amb la columna ALTER per canviar el tipus de dades d'una columna existent en una taula.

Sintaxi

ALTER TABLE Nom de la taula ALTER COLUMN ColumnName Tipus de dades

Exemple

--Afegiu una columna DOB i canvieu el tipus de dades de data a data i hora. ALTER TABLE StudentInfo ADD DOB data ALTER TABLE StudentInfo ALTER COLUMN DOB datetime

TRONCAR

Aquesta ordre SQL s'utilitza per suprimir la informació present a la taula, però no suprimeix la mateixa taula. Per tant, si voleu suprimir la informació present a la taula i no suprimir la mateixa taula, heu d’utilitzar l’ordre TRUNCATE. Altrament, utilitzeu l'ordre DROP.

Sintaxi

TAULA TRONCAT Nom de la taula

Exemple

TRUNCATE TAULA StudentInfo

RENOMINA

Aquesta sentència s'utilitza per canviar el nom d'una o més taules.

Sintaxi

sp_rename 'OldTableName', 'NewTableName'

Exemple

sp_rename 'StudentInfo', 'Infostudents'

Seguint aquest article sobre el tutorial de SQL Server, entenem els diferents tipus de dades admesos per SQL Server.

Tipus de dades de SQL Server

Categoria de tipus de dades Nom del tipus de dades Descripció Rang / sintaxi
Numèrics exactes numèricS’utilitza per emmagatzemar valors numèrics i tenir números de precisió i escala fixos- 10 ^ 38 +1 a 10 ^ 38 - 1.
tinyintS’utilitza per emmagatzemar valors enters0 a 255
smallintS’utilitza per emmagatzemar valors enters-2 ^ 15 (-32.768) a 2 ^ 15-1 (32.767)
bigintS’utilitza per emmagatzemar valors enters-2 ^ 63 (-9.223.372.036.854.775.808) a 2 ^ 63-1 (9.223.372.036.854.775.807)
intS’utilitza per emmagatzemar valors enters-2 ^ 31 (-2.147.483.648) a 2 ^ 31-1 (2.147.483.647)
micaEmmagatzema un tipus de dades enter que indica un valor de 0, 1 o NULL0, 1 o NUL
decimalS’utilitza per emmagatzemar valors numèrics i tenir números de precisió i escala fixos- 10 ^ 38 +1 a 10 ^ 38 - 1.
diners petitsS’utilitza per emmagatzemar dinerso valors de divises.- 214.748,3648 a 214.748,3647
dinersS’utilitza per emmagatzemar dinerso valors de divises.-922.337.203.685.477,5808 a 922.337.203.685.477,5807 (-922.337.203.685.477,58
fins a 922.337.203.685.477,58 per a Informatica.
Numèrics aproximats surarS’utilitza per emmagatzemar dades numèriques de coma flotant- 1,79E + 308 a -2,23E-308, 0 i 2,23E-308 a 1,79E + 308
realS’utilitza per emmagatzemar dades numèriques de coma flotant- 3.40E + 38 a -1.18E - 38, 0 i 1.18E - 38 a 3.40E + 38
Data i hora dataS'utilitza per definir una data a SQL Server.Sintaxi: data
smalldatetimeS'utilitza per definir una data que es combina amb una hora del dia en què l'hora es basa en un dia de 24 hores, amb segons sempre nuls (: 00) i sense segons fraccionats.Sintaxi: smalldatetime
datetimeS'utilitza per definir una data que es combina amb una hora del dia amb segons fraccionats en funció d'un rellotge de 24 hores.Sintaxi: datetime
datetime2 datetime2 és com una extensió de l'existent datetime tipus que té una precisió fraccionària per defecte més gran, un interval de dates més gran.Sintaxi: datetime2
datetimeoffsetS’utilitza per definir una data que es combina amb una hora d’un dia que té coneixement de la zona horària. Es basa en un rellotge de 24 hores.Sintaxi: datetimeoffset
tempsS'utilitza per definir una hora del dia.Sintaxi: temps
Cordes de caràcters charS’utilitza per emmagatzemar caràcters de mida fixa.char[( n )] on el valor de n varia d’1 a 8.000
varcharS’utilitza per emmagatzemar caràcters de longitud variable.varchar [( n | màx)] on el valor n varia d’1-8000 i l’emmagatzematge màxim permès és de 2 GB.
textS'utilitza per emmagatzemar vdades no Unicode de longitud ariableLongitud màxima de corda permesa: 2 ^ 31-1 (2.147.483.647)
Cadenes de caràcters Unicode ncharS’utilitza per emmagatzemar caràcters de mida fixa.nchar[(n)] on el valor de n varia d’1 a 4.000
nvarcharS’utilitza per emmagatzemar caràcters de longitud variable.varchar [( n | màx)] on el valor n varia d’1-4000 i l’emmagatzematge màxim permès és de 2 GB.
ntextS’utilitza per emmagatzemar dades Unicode de longitud variableLongitud màxima de corda permesa: 2 ^ 30-1 (2.147.483.647)
Cordes binàries binariS'utilitza per emmagatzemar tipus de dades binàries de longitud fixabinari[( n )] on el valor de n varia d’1 a 8.000
varbinarS'utilitza per emmagatzemar tipus de dades binàries de longitud fixavarbinar[( n )] on la vàlua n varia d’1-8000 i l’emmagatzematge màxim permès és de 2 ^ 31-1 bytes.
imatgeS’utilitza per emmagatzemar dades binàries de longitud variable0-2 ^ 31-1 (2,147,483,647) bytes
Altres tipus de dades És un tipus de dades per a paràmetres OUTPUT o variables emmagatzemades que contenen una referència a un cursor.-
rowversionS’utilitza per exposar números binaris únics generats automàticament dins d’una base de dades.-
jerarquitzatS’utilitza per representar la posició en una jerarquia.-
identificador únicÉs un GUID de 16 bytes.Sintaxi:identificador únic
sql_variantS’utilitza per emmagatzemar els valors de diversos tipus de dades compatibles amb SQL ServerSintaxi: sql_variant
xmlS’utilitza per emmagatzemar tipus de dades XML.

xml ([CONTINGUT | DOCUMENT] xml_schemacollection)

Tipus de Geometria EspacialS’utilitza per representar dades en un sistema de coordenades euclidianes (pla).-
Tipus de geografia espacialS’utilitza per emmagatzemar dades el·lipsoïdals (terra rodona), com ara coordenades de latitud i longitud GPS.-
taulaS'utilitza per emmagatzemar un conjunt de resultats per processar-los posteriorment-

A continuació, en aquest article ens permetrà entendre els diferents tipus de claus i restriccions de la base de dades.

Diferents tipus de claus a la base de dades

A continuació es detallen els diferents tipus de claus que s’utilitzen a la base de dades:

  • Clau del candidat - La clau candidata és un conjunt d’atributs que poden identificar de manera única una taula. Una taula pot tenir més d’una clau de candidat i, entre les claus de candidat escollides, es tria una clau com a clau principal.
  • Super Key: El conjunt d’atributs pot identificar de manera única una tupla. Per tant, les claus de candidat, les claus úniques i les claus primàries són super claus, però viceversa no és cert.
  • Clau primària - Claus primàries s’utilitzen per identificar de manera única cada tupla.
  • Tecla alternativa: Les claus alternatives són aquelles claus candidates que no s’escullen com a clau primària.
  • Clau única- Les claus úniques són similars a la clau principal, però permeten un únic valor NULL a la columna.
  • Clau estrangera - Un atribut que només pot prendre els valors presents com a valors d'algun altre atribut és el clau estrangera a l'atribut al qual fa referència.
  • Tecla composta- Les tecles compostes són una combinació de dues o més columnes que identifiquen cada tupla de manera única.

Restriccions utilitzades a la base de dades

Les restriccions s’utilitzen en una base de dades per especificar les regles de les dades emmagatzemades en una taula. Els diferents tipus de restriccions a SQL són els següents:

NO NUL

La restricció NOT NULL garanteix que una columna no pugui tenir un valor NULL.

Exemple

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

ÚNIC

Aquesta restricció garanteix que tots els valors d'una columna siguin únics.

Exemple

--UNIQUE on Create Table CREATE TABLE StudentsInfo (StudentID int NOT NULL UNIQUE, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000)) - ÚNIC a diverses columnes CREA TABLA StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), País varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) --UNIQUE on ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) - Per deixar caure una restricció ÚNICA ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info

COMPROVAR

La restricció CHECK assegura que tots els valors d'una columna compleixen una condició específica.

Exemple

--CONTROL·LACIÓ DE COMPROVACIÓ a CREA TAULA CREA TAULA 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 (País = 'Índia')) - CHECK Restricció en diverses columnes CREA TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) CHECK (Country = 'India' AND City = 'Hyderabad')) --CHECK Restricció a ALTER TABLE ALTER TABLE StudentsInfo ADD CHECK (Country = 'India') --Per donar un nom a la TAULA ALTERNA de la restricció CHECK StudentsInfo AFEGEIX CONSTRAINT CheckConstraintName CHECK (País = 'Índia') - Per deixar anar una restricció CHECK ALTER TABLE StudentsInfo DROP CONSTRAINT CheckConstraintName

DEFAULT

La restricció DEFAULT consisteix en un conjunt de valors predeterminats per a una columna quan no s'especifica cap valor.

Exemple

- Restricció DEFAULT a CREAR TABLA CREAR TABLA 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 'Índia') - Restricció DEFAULT a ALTER TABLE ALTER TABLE StudentsInfo AFEGIR CONSTRAINT defau_Country DEFAULT 'India' PER País - Per deixar anar la restricció predeterminada ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country

ÍNDEX

El Restricció INDEX s’utilitza per crear índexs a la taula, a través dels quals podeu crear i recuperar dades de la base de dades molt ràpidament.

Sintaxi

--Crear un índex on es permetin valors duplicats CREAR INDEX IndexName ON TableName (Columna1, Columna2, ... ColumnaN) - Crear un índex on no es permetin valors duplicats CREAR INDEX UNIQUE IndexName ON TableName (Columna1, Columna2, ... Columna N)

Exemple

CREA INDEX idex_StudentName ON StudentsInfo (StudentName): per suprimir un índex en una taula DROP INDEX StudentsInfo.idex_StudentName

Per continuar endavant en aquest article sobre el tutorial de SQL Server, comprenem ara les diferents ordres del llenguatge de manipulació de dades utilitzades a Microsoft SQL Server.

Ordres del llenguatge de manipulació de dades

Aquesta secció de l'article tractarà totes aquelles ordres mitjançant les quals podeu manipular la base de dades. Les ordres són les següents:

A part d’aquestes ordres, també hi ha altres operadors / funcions manipulatives com:

ÚS

Aquesta declaració s’utilitza per seleccionar la base de dades per començar a realitzar-hi diverses operacions.

Sintaxi

USE DatabaseName

Exemple

Estudiants d’ÚS

INSERTAR A

El Instrucció INSERT INTO s'utilitza per inserir nous registres en una taula existent.

Sintaxi

INSERT INTO TableName (Columna1, Columna2, Columna3, ..., ColumnaN) VALORS (valor1, valor2, valor3, ...) - Si no voleu esmentar els noms de les columnes, utilitzeu la sintaxi següent INSERTI A VALORS del nom de la taula (Valor1, Valor2, Valor3, ...)

Exemple

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

ACTUALITZACIÓ

La sentència UPDATE s’utilitza per modificar o actualitzar els registres ja presents a la taula.

Sintaxi

ACTUALITZACIÓ Nom de la taula SET Columna1 = Valor1, Columna2 = Valor2, ... WHERE Condició

Exemple

ACTUALITZACIÓ StudentsInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WHERE StudentID = 1

ESBORRAR

La sentència DELETE s'utilitza per suprimir els registres existents en una taula.

Sintaxi

ELIMINA DE TableName WHERE Condició

Exemple

ELIMINA DE StudentsInfo WHERE StudentName = 'Aahana'

VA

La sentència MERGE s'utilitza per realitzar les operacions INSERT, UPDATE i DELETE en una taula específica, on es proporciona la taula d'origen. Consulteu a continuació.

Sintaxi

FUSIONAR TagretTableName UTILITZANT SourceTableName ON MergeCondition QUAN ENCORRAT ALeshores Update_Statement QUAN NO ES COPLEGA ALeshores Insert_Statement QUAN NO ES COPLETA DE FONTS ALeshores ELIMINA

Exemple

Per entendre la sentència MERGE, tingueu en compte les taules següents com a taula Font i taula de destinació.

Taula de fonts:

ID estudiant Nom de l'estudiant Marques
1Odio87
2Manasa92
4Anay74

Taula objectiu:

ID estudiant Nom de l'estudiant Marques
1Odio87
2Manasa67
3Saurabh55
FUSIONAR SampleTargetTable TARGET USANT SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) QUAN ENCONJUNTA I TARGET.StudentName SOURCE.StudentName O TARGET.Marks SOURCE.Marks THEN UPDATE SET TARGET.SURENTSTARES. QUAN NO ES COPARTEIX AMB OBJECTIU ALeshores INSERIU (StudentID, StudentName, Marques) VALORS (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) QUAN NO ES COPARTEIX AMB LA FONTS ALeshores ELIMINEU

Sortida

ID estudiant Nom de l'estudiant Marques
1Odio87
2Manasa92
4Anay74

SELECCIONA

El Instrucció SELECT s'utilitza per seleccionar dades d'una base de dades, taula o vista. Les dades retornades s’emmagatzemen en una taula de resultats, anomenada conjunt de resultats .

Sintaxi

SELECCIONA Columna1, Columna2, ... ColumN FROM TableName - (*) s'utilitza per seleccionar-ho tot de la taula SELECT * FROM table_name - Per seleccionar el nombre de registres que voleu utilitzar: SELECT TOP 3 * FROM TableName

Exemple

- Per seleccionar poques columnes SELECT StudentID, StudentName FROM StudentsInfo - (*) s'utilitza per seleccionar-ho tot de la taula SELECT * FROM StudentsInfo - Per seleccionar el nombre de registres que voleu utilitzar: SELECCIONAR EL TOP 3 * FROM StudentsInfo

També podem utilitzar les paraules clau següents amb la sentència SELECT:

DISTINGUT

La paraula clau DISTINCT s’utilitza amb la sentència SELECT per retornar només valors diferents.

Sintaxi

SELECCIONA DISTINCIÓ Columna1, Columna2, ... ColumnaN DE TableName

Exemple

SELECCIÓ DISTINCT PhoneNumber FROM StudentsInfo

DEMANAT PER

Aquesta sentència s'utilitza per ordenar els resultats necessaris, ja sigui en ordre ascendent o descendent. Per defecte, els resultats s’emmagatzemen en ordre ascendent. Tot i així, si voleu obtenir els resultats en ordre descendent, heu d'utilitzar el fitxer DESC paraula clau.

Sintaxi

SELECCIONA Columna1, Columna2, ... ColumnaN DE TableName ORDRE PER Columna1, Columna2, ... ASC | DESC

Exemple

- Seleccioneu tots els estudiants de la taula 'StudentsInfo' ordenats per NomParent: SELECCIÓ * DE StudentsInfo ORDRE PER NomParent - Seleccioneu tots els estudiants de la taula 'StudentsInfo' ordenats per ParentName en ordre descendent: SELECCIÓ * DE StudentsInfo ORDRE PER ParentName DESC - Seleccioneu tots els estudiants de la taula 'StudentsInfo' ordenats per ParentName i StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Seleccioneu tots els estudiants de la taula 'StudentsInfo' ordenats per ParentName en ordre descendent i StudentName en ordre ascendent: * / SELECT * DE StudentsInfo ORDRE PER ParentName ASC, StudentName DESC

AGRUPAR PER

Aquesta afirmació s'utilitza amb el fitxer funcions agregades per agrupar el conjunt de resultats per una o més columnes.

Sintaxi

SELECCIONA Columna1, Columna2, ..., ColumnaN DE TableName WHERE Condició GRUPAR PER Nom (s) de columna ORDENAR PER Nom (s) de columna

Exemple

- Enumerar el nombre d'estudiants de cada ciutat. SELECCIONA EL COMPTE (StudentID), ciutat DE StudentsInfo GRUP PER CIUTAT

CONJUNTS D'AGRUPAMENT

Els CONJUNTS D'AGRUPAMENT es van introduir a SQL Server 2008, que s'utilitza per generar un conjunt de resultats que pot generar un UNIÓ TOTS de les múltiples clàusules simples GROUP BY.

Sintaxi

SELECCIONA Noms de columna DE NOM DE TAULA GRUPAR PER CONJUNTS D'AGRUPAMENT (Noms de columna)

Exemple

SELECCIÓ StudentID, StudentName, COUNT (City) del grup StudentsInfo PER CONJUNTS D'AGRUPAMENT ((StudentID, StudentName, City), (StudentID), (StudentName), (City))

TENIR

Aquesta clàusula s'utilitza en l'escenari on es troba el fitxer Paraula clau WHERE no es pot utilitzar.

què és una restricció de clau principal

Sintaxi

SELECCIONA Nom (s) de columna DE Nom de taula WHERE Condició AGRUPA PER Nom (s) de columna QUE TÉ condició ORDRE PER Nom (s) de columna

Exemple

SELECCIONA EL COMPTE (StudentID), Ciutat DE StudentsInfo GRUP PER CIUTAT QUE TÉ COMTE (StudentID)> 2 ORDRE PER COMPTE (StudentID) DESC

EN

La paraula clau INTO es pot utilitzar amb el fitxer Instrucció SELECT per copiar dades d'una taula a una altra. Bé, podeu entendre que aquestes taules són taules temporals. Les taules temporals s’utilitzen generalment per realitzar manipulacions de dades presents a la taula, sense pertorbar la taula original.

Sintaxi

SELECCIONA * A NewTable [IN ExternalDB] DE OldTable WHERE Condició

Exemple

- Per crear una còpia de seguretat de la taula 'StudentsInfo' SELECT * INTO StudentsBackup FROM StudentsInfo - Per seleccionar només algunes columnes de StudentsInfo SELECT StudentName, PhoneNumber INTO StudentsDetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'

CUB

CUBE és una extensió del fitxer Clàusula GROUP BY . Us permet generar els subtotals de totes les combinacions de les columnes d’agrupació especificades a la clàusula GROUP BY.

Sintaxi

SELECCIONA Nom (s) de columna DE Nom de taula GRUP PER CUB (Nom de columna1, Nom de columna2, ....., Nom de columnaN)

Exemple

SELECCIÓ StudentID, COMPTE (ciutat) DE StudentsInfo GRUP PER CUB (StudentID) ORDRE BY StudentID

DESENVOLUPAR

ROLLUP és una extensió de la clàusula GROUP BY. Això us permet incloure les files addicionals que representen els subtotals. Es coneixen com a files superagregades junt amb la fila total total.

Sintaxi

SELECCIONA Nom (s) de columna DE TableName GRUP PER ROLLUP (ColumnName1, ColumnName2, ....., ColumnNameN)

Exemple

SELECCIÓ StudentID, COUNT (ciutat) DE StudentsInfo GRUP PER COMPLEMENT (StudentID)

COMPENSACIÓ

La clàusula OFFSET s’utilitza amb SELECT i Instrucció ORDER BY per recuperar diversos registres. S'ha d'utilitzar amb la clàusula ORDER BY ja que no es pot utilitzar per si sola. A més, l’interval que esmenta ha de ser igual o superior a 0. Si esmenta un valor negatiu, es mostrarà un error.

Sintaxi

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

Exemple

Penseu en una nova columna Marques al StudentsInfo taula.

SELECCIÓ StudentName, ParentName FROM StudentsInfo ORDRE PER MARQUES COMPETEIX 1 FILA

FETCH

La clàusula FETCH s’utilitza per retornar un conjunt de diverses files. S'ha d'utilitzar conjuntament amb la clàusula OFFSET.

Sintaxi

SELECCIONA ColumnNames) FROM TableName ON Condició ORDRE PER ColumnName (s) OFFSET RowsToSkip FETCH NEXT NumberOfRows SOLAMENT FILES

Exemple

SELECCIONA StudentName, ParentName FROM StudentsInfo ORDRE PER MARQUES OFFSET 1 FILES FETCH SEGÜENT 1 FILES

SUPERIOR

La clàusula TOP s’utilitza amb la sentència SELECT per esmentar el nombre de registres que s’ha de retornar.

Sintaxi

SELECCIONA el número superior Nombre de columna de Nom de taula WHERE Condició

Exemple

SELECCIONA ELS TOP 3 * DE StudentsInfo

PIVOT

PIVOT s'utilitza per girar les files a valors de columna i executa agregacions quan es requereix als valors de columna restants.

Sintaxi

SELECT Nom de columna no pivotat, [Primer nom de columna pivotat] AS Nom de columna, [Segon nom de columna pivotat] AS Nom de columna, [Tercer nom de columna pivotat] AS Nom de columna, ... [Últim nom de columna pivotat] AS Nom de columna FROM (consulta SELECT que produeix les dades) COM [àlies per a la consulta inicial] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName de la columna els valors de la qual es convertiran en capçaleres de columna] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last columna pivotada])) AS [àlies de la taula dinàmica]

Exemple

Per obtenir un exemple detallat, podeu consultar el meu article sobre SQL PIVOT i UNPIVOT . A continuació, en aquest tutorial de SQL Server, analitzem els diferents operadors compatibles amb Microsoft SQL Server.

Operadors

El diferents tipus d’operadors compatibles amb SQL Server són les següents:

Analitzem cadascun d'ells un per un.

Operadors aritmètics

Operador Significat Sintaxi

+

Addició

expressió + expressió

-

Resta

expressió - expressió

*

Multiplicació

expressió * expressió

/

Divisió

expressió / expressió

%

Modulous

expressió% expressió

Operadors de tasques

Operador Significat Sintaxi

=

Assigneu un valor a una variable

variable = 'valor'

Operadors bitwise

Operador Significat Sintaxi

& (Bitwise AND)

S'utilitza per realitzar una operació AND lògica a bits entre dos valors enters.

expressió i expressió

& = (Assignació de bits i bits)

S'utilitza per realitzar una operació AND lògica a bits entre dos valors enters. També estableix un valor a la sortida de l'operació.

expressió & = expressió

| (OR a bits)

S'utilitza per realitzar una operació Lògica a bits lògica entre dos valors enters tal com es tradueix a expressions binàries dins de sentències Transact-SQL.

expressió | expressió

| = (Assignació de bits o bits)

S'utilitza per realitzar una operació Lògica a bits lògica entre dos valors enters tal com es tradueix a expressions binàries dins de sentències Transact-SQL. També estableix un valor a la sortida de l'operació.

expressió | = expressió

^ (OR exclusiu per bits)

S'utilitza per realitzar una operació OR exclusiva a nivell de bits entre dos valors enters.

expressió ^ expressió

^ = (Tasca O Tasca exclusiva de bits)

S'utilitza per realitzar una operació OR exclusiva a nivell de bits entre dos valors enters. També estableix un valor a la sortida de l'operació.

expressió ^ = expressió

~ (Bit a bit NO)

S’utilitza per realitzar una operació lògica de bits NO en un valor enter.

~ expressió

Operadors de comparació

Operador Significat Sintaxi

=

Igual a

expressió = expressió

>

Més gran que

expressió> expressió

<

Menys que

expressió

> =

Superior o igual a

expressió> = expressió

<=

Menys o igual a

expressió<= expression

No és igual a

expressió expressió

! =

No és igual a

expressió! = expressió

!<

No menys de

expressió!

!>

No superior a

expressió!> expressió

Operadors compostos

Operador Significat Sintaxi

+ =

S'utilitza per afegir valor al valor original i definir el valor original al resultat.

expressió + = expressió

- =

S'utilitza per restar un valor del valor original i establir el valor original en el resultat.

expressió - = expressió

* =

S'utilitza per multiplicar el valor pel valor original i establir el valor original pel resultat.

expressió * = expressió

/ =

S'utilitza per dividir un valor del valor original i establir el valor original al resultat.

expressió / = expressió

% =

S'utilitza per dividir un valor del valor original i establir el valor original al resultat.

expressió% = expressió

& =

S'utilitza per realitzar una operació AND de bits i establir el valor original al resultat.

expressió & = expressió

^ =

S'utilitza per realitzar una operació OR exclusiva a nivell de bits i establir el valor original al resultat.

expressió ^ = expressió

| =

S’utilitza per realitzar una operació OR a bit i establir el valor original al resultat.

expressió | = expressió

Operadors lògics

Operador Significat Sintaxi

TOTS

Retorna TRUE si tot el conjunt de comparacions són TRUE.

expressió_escalar! = TOTS (subconsulta)

I

Retorna TRUE si ambdues expressions són TRUE.

boolean_expression I boolean_expression

CAP

Retorna TRUE si algun d'un conjunt de comparacions és TRUE.

expressió_escalar! = {QUALSEVOL} (subconsulta)

ENTRE

què és la subcadena a Java

Retorna TRUE si un operand es troba dins d'un interval.

sampleexpression [NO] ENTRE beginexpression I endexpression

EXISTEIX

Retorna TRUE si una subconsulta conté files.

EXISTS (subconsulta)

IN

Retorna TRUE si un operand és igual a una llista d'expressions.

test_expression [NOT] IN (subconsulta | expressió [, ... n])

M'AGRADA

Retorna TRUE si un operand coincideix amb un patró.

match_expression [NOT] LIKE pattern [ESCAPE escape_character]

NO

Inverteix el valor de qualsevol operador booleà.

[NO] expressió_booleana

O

Retorna TRUE si alguna de les expressions booleanes és TRUE.

boolean_expression O boolean_expression

ALGUNES

Retorna TRUE si algunes de les comparacions són TRUE.

expressió_escalar<= { SOME} ( subquery )

Operadors de resolució d'abast

Operador Significat Exemple

::

Proporciona accés a membres estàtics d'un tipus de dades compost. Els tipus de dades compostes són aquells tipus de dades que contenen diversos mètodes i tipus de dades simples. Tipus de dades compostos Inclouen els tipus CLR integrats i els tipus definits per l'usuari (UDT) SQLCLR personalitzats.

DECLARA @hid hierarchyid SELECT @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString ()

Operadors de conjunt

Hi ha principalment tres operacions de conjunt:UNIÓ,INTERSECTA,MENYS. Podeu consultar la imatge següent per entendre les operacions establertes a SQL. Consulteu la imatge següent:

Operador Significat Sintaxi

UNIÓ

L'operador UNION s'utilitza per combinar el conjunt de resultats de dues o més sentències SELECT.

SELECCIONA els noms de columna de la taula1
UNIÓ
SELECCIONA els noms de columna de la taula 2

INTERSECTA

La clàusula INTERSECT s’utilitza per combinar-ne duesSELECCIONAdeclaracions i retorna la intersecció dels conjunts de dades de les dues sentències SELECT.

SELECCIONA Columna1, Columna2….
FROM TableName
ON Condició
INTERSECTA
SELECCIONA Columna1, Columna2….
FROM TableName
ON Condició

EXCEPTE

L'operador EXCEPTE retorna aquelles tuples que es retornen amb la primera operació SELECT i que no són retornades per la segona operació SELECT.

SELECCIONA el nom de la columna
FROM TableName
EXCEPTE
SELECCIONA el nom de la columna
FROM TableName

Operadors de cadena

Operador Significat Sintaxi / Exemple

+ (Concatenació de cadenes)

Concatena dues o més cadenes binàries o de caràcters, columnes o una combinació de cadenes i noms de columnes en una sola expressió

expressió + expressió

+ = (Concatenació de cadenes)

S'utilitza per concatenar dues cadenes i estableix la cadena al resultat de l'operació.

expressió + = expressió

% (Caràcters comodins per coincidir)

S'utilitza per fer coincidir qualsevol cadena de zero o més caràcters.

Exemple: 'mostra%'

[] (Caràcters comodins per coincidir)

S’utilitza per fer coincidir un sol caràcter dins de l’interval o conjunt especificat que s’especifica entre claudàtors [].

Exemple: m [n-z]% '

[^] (Caràcters comodins que coincideixen)

S'utilitza per fer coincidir un sol caràcter que no està dins de l'interval o del conjunt especificat entre claudàtors.

Exemple: 'Al [^ a]%'

_ (Caracteres comodí per coincidir)

S’utilitza per fer coincidir un sol caràcter en una operació de comparació de cadenes

test_expression [NOT] IN (subconsulta | expressió [, ... n])

Agregat Funcions

El diferent funcions agregades compatibles amb SQL Server són les següents:

Funció Descripció Sintaxi Exemple

SUMA()

S'utilitza per retornar la suma d'un grup de valors.

SELECCIONA SUMA (ColumnName) FROM TableName

SELECCIONA SUMA (Marques) DE StudentsInfo

COUNT ()

Retorna el nombre de files segons una condició o sense una condició.

SELECCIONA EL COMPTE (ColumnName) FROM TableName WHERE Condició

SELECCIONA EL COMPTE (StudentID) DE StudentsInfo

AVG ()

S’utilitza per calcular el valor mitjà d’una columna numèrica.

SELECCIONA AVG (ColumnName) FROM TableName

SELECCIONA AVG (marques) DE StudentsInfo

MIN ()

Aquesta funció retorna el valor mínim d'una columna.

SELECCIONA MIN (ColumnName) FROM TableName

SELECCIONA MIN (punts) DE StudentsInfo

MÀX. ()

Retorna un valor màxim d'una columna.

SELECCIÓ MAX (ColumnName) FROM TableName

SELECCIÓ MÀXIMA (Marques) DE StudentsInfo

PRIMER()

S'utilitza per retornar el primer valor de la columna.

SELECCIONA PRIMER (ColumnName) FROM TableName

SELECCIONA PRIMER (Marques) DE StudentsInfo

ÚLTIMA ()

Aquesta funció retorna l'últim valor de la columna.

SELECCIÓ DARRER (Nom de columna) DE Nom de taula

SELECCIONA L'ÚLTIMA (Marques) DE StudentsInfo

Funcions definides per l'usuari

Microsoft SQL Server permet als usuaris crear funcions definides per l'usuari que són rutines. Aquestes rutines accepten paràmetres, poden realitzar accions simples a complexes i retornar el resultat d’aquesta acció en particular com a valor. Aquí, el valor retornat pot ser un valor escalar únic o un conjunt de resultats complet.

Podeu utilitzar funcions definides per l'usuari per:

  • Permet la programació modular
  • Reduir el trànsit de la xarxa
  • Permetre una execució més ràpida de les consultes

A més, hi ha diferents tipus de funcions definides per l'usuari que podeu crear. Ells són:

  • Funcions escalars: Abansretorna un valor de dades únic del tipus definit a la clàusula RETURNS.
  • Funcions valorades per taules: Abanstornar ataulatipus de dades.
  • Funcions del sistema: SQL Server proporciona diverses funcions del sistema per realitzar diferents operacions.

Bé, a part de les funcions definides per l'usuari, hi ha un munt de funcions integrades a SQL Server que es poden utilitzar per realitzar diverses tasques. Seguint aquest article sobre el tutorial de SQL Server, entenem ara què són les consultes imbricades.

Consultes imbricades

Consultes imbricades són aquelles consultes que tenen una consulta externa i una subconsulta interna. Per tant, bàsicament, la subconsulta és una consulta que s’anida dins d’una altra consulta com ara SELECT, INSERT, UPDATE o DELETE. Consulteu la imatge següent:

A continuació, en aquest tutorial de SQL Server, entenem els diferents tipus d'unions a SQL.

S'uneix

s’utilitzen per combinar tuples de dues o més taules, basades en una columna relacionada entre les taules. Hi ha quatre tipus d'unions:

  • COMBINACIÓ INTERNA: Retorna registres que tenen valors coincidents a les dues taules.
  • UNIÓ ESQUERRA: Retorna els registres de la taula esquerra i també aquells registres que compleixen la condició de la taula dreta.
  • UNEIX DRET: Retorna els registres de la taula dreta i també aquells registres que compleixen la condició de la taula esquerra.
  • UNIÓ COMPLETA: Retorna els registres que tenen una coincidència a la taula esquerra o dreta.

Penseu en la taula següent juntament amb la taula StudentsInfo per entendre la sintaxi de les combinacions.

ID subjecte ID estudiant SubjectName
1010Matemàtiques
211Física
312Química

COMBINACIÓ INTERNA

Sintaxi

SELECCIONA el nom de la columna DES DE la Taula1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName

Exemple

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

ESQUERRA UNEIX-TE

Sintaxi

SELECCIONA el nom de la columna DES DE la Taula1 ESQUERRA JOIN Taula2 ON Taula1.ColumnName = Taula2.ColumnName

Exemple

SELECCIONAR StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo LEFT JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDRE DE StudentsInfo.StudentName

UNEIX-TE DRET

Sintaxi

SELECCIONA el nom de la columna DES DE la Taula1 RIGHT JOIN Taula2 ON Taula1.ColumnName = Taula2.ColumnName

Exemple

SELECCIONAR StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo RIGHT JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDRE DE StudentsInfo.StudentName

UNEIX-TE COMPLET

Sintaxi

SELECCIONA el nom de la columna DES DE la Taula1 FULL OUTER JOIN Taula2 ON Taula1.ColumnName = Taula2.ColumnName

Exemple

SELECCIONAR StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo FULL OUTER JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDRE DE StudentsInfo.StudentName

A continuació, en aquest article sobre el tutorial de SQL Server, entenem els diferents tipus de bucles admesos per SQL Server.

Bucles

Les diferents ordres de control de flux són les següents:

Analitzem cadascun d'ells un per un.

COMENÇA..END

Aquestes paraules clau s’utilitzen per incloure una sèrie d’instruccions SQL. A continuació, es pot executar aquest grup d’instruccions SQL.

Sintaxi

BEGIN StatementBlock END

TRENCAR

Aquesta sentència s'utilitza per sortir del bucle WHILE actual. En el cas que el bucle WHILE actual estigui imbricat dins d'un altre bucle, la sentència BREAK només surt del bucle actual i el control es transmet a la següent sentència del bucle actual. La sentència BREAK s'utilitza generalment dins d'una sentència IF.

Sintaxi

TRENCAR

CONTINUA

La instrucció CONTINUE s’utilitza per reiniciar un bucle WHILE. Per tant, totes les declaracions posteriors a la paraula clau CONTINUAR seran ignorades.

Sintaxi

CONTINUA

Aquí, Etiqueta és el punt després del qual s’inicia el processament si un GOTO s’orienta a aquesta etiqueta en particular.

ANAR A

S'utilitza per alterar el flux d'execució cap a una etiqueta. Les declaracions escrites després de la paraula clau GOTO s'ometen i el processament continua a l'etiqueta.

Sintaxi

Definir etiqueta: Etiqueta: Alter Execució: Etiqueta GOTO

Aquí, Etiqueta és el punt després del qual s’inicia el processament si un GOTO s’orienta a aquesta etiqueta en particular.

SI UNA ALTRA COSA

Com qualsevol altre llenguatge de programació, la sentència If-else de SQL Server prova la condició i, si la condició és falsa, s’executa la sentència ‘else’.

Sintaxi

IF BooleanExpression StatementBlock [ELSE StatementBlock]

TORNAR

S'utilitza per sortir incondicionalment d'una consulta o procediment. Per tant, les sentències que s’escriuen després de la clàusula RETURN no s’executen.

Sintaxi

TORNAR [IntegerExpression]

Aquí es retorna un valor enter.

ESPERAR

El flux de control WAITFOR s'utilitza per bloquejar l'execució d'un procediment emmagatzemat, una transacció o un lot fins que es modifica una sentència específica, retorna com a mínim una fila o transcorre un temps o un interval de temps especificat.

Sintaxi

WAITFOR (GetConversionGroupStatement)] [, temps d'espera TIMEOUT]

on,

  • RETARD - Període de temps que ha de passar
  • TimeToPass - Pàgperíode de temps per esperar
  • TEMPS - Elmoment en què s’executa el procediment emmagatzemat, la transacció o el lot.
  • TimeToExecute - Elhora en què acaba la sentència WAITFOR.
  • RecieveStatement - Adeclaració vàlida RECEIVE.
  • GetConversionGroupStatement - Adeclaració vàlida de GET CONVERSATION GROUP.
  • Temps d'espera TIMEOUT - Especifica el període de temps, en mil·lisegons, per esperar que arribi un missatge a la cua.

MENTRE

Aquest bucle s’utilitza per establir una condició per a l’execució repetida d’una instrucció SQL particular o d’un bloc d’instruccions SQL. Les sentències s’executen sempre que la condició esmentada per l’usuari sigui CERT. Tan bon punt la condició falla, el bucle deixa d'executar-se.

Sintaxi

WHILE BooleanExpression StatementBlock

Ara, que coneixeu les ordres de DML, anem a la nostra secció següenten aquest article sobre SQL Tutorial, és a dir, les ordres de DCL.

Ordres d'idioma de control de dades (DCL)

Aquesta secció del tutorial de SQL Server us donarà una idea sobre l'ordre mitjançant el qual s'utilitzen per fer complir la seguretat de la base de dades en entorns de base de dades de diversos usuaris. Les ordres són les següents:

SUBVENCIÓ

L'ordre GRANT s'utilitza per proporcionar accés o privilegis a la base de dades i als seus objectes als usuaris.

Sintaxi

GRANT PrivilegeName ON ObjectName TO RoleName [AMB OPCIÓ DE SUBVENCIÓ]

on,

  • PrivilegeName - És el privilegi / dret / accés concedit a l'usuari.
  • ObjectName - Nom d'un objecte de base de dades com ara TABLE / VIEW / STORED PROC.
  • Nom d'usuari - Nom de l'usuari a qui se li dóna l'accés / drets / privilegis.
  • PÚBLIC - Per concedir drets d’accés a tots els usuaris.
  • Nom de rol - El nom d'un conjunt de privilegis agrupats.
  • AMB OPCIÓ DE SUBVENCIÓ - Donar accés a l'usuari per atorgar drets a altres usuaris.

Exemple

- Per concedir permís SELECT a la taula StudentsInfo a l'usuari1 SUBVENCIONAR SELECCIÓ A StudentsInfo TO a l'usuari1

REVOCAR

L’ordre REVOKE s’utilitza per retirar els privilegis d’accés de l’usuari atorgats mitjançant l’ordre GRANT.

Sintaxi

REVOCAR PrivilegeName ON ObjectName DE PUBLIC

Exemple

- Per revocar el permís concedit a l'usuari1 REVOCAR SELECCIÓ A StudentsInfo A l'usuari1

Seguint aquest tutorial de SQL Server, entenem com crear i utilitzar procediments emmagatzemats.

Procediments emmagatzemats

Procediments emmagatzemats són unitats reutilitzables que encapsulen una lògica empresarial específica de l'aplicació. Per tant, és un grup d’instruccions i lògica SQL, compilats i emmagatzemats junts per realitzar una tasca específica.

Sintaxi

PROCEDIMENT DE CREACIÓ [O SUBSTITUCIÓ] nom_procediment [(nom_paràmetre [IN | OUT | IN OUT] tipus [])] IS BEGIN [secció_declaració] secció_executable // Instrucció SQL utilitzada al procediment emmagatzemat

Exemple

--Crear un procediment que retornarà un nom d’estudiant quan es doni el StudentId com a paràmetre d’entrada al procediment emmagatzemat Create PROCEDURE GetStudentName (@StudentId INT, --Input parameter, @StudName VARCHAR (50) OUT --Output parameter, AS BEGIN SELECT @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END

Passos a executar:

      • Declara @StudName com a nvarchar (50)
      • EXEC GetStudentName 01, sortida @StudName
      • SELECCIONA @StudName

El procediment anterior retorna el nom d'un estudiant en particular,en donar als estudiants la identificació com a entrada. A continuació, en aquest tutorial de SQL Server, entenem les ordres del llenguatge de control de transaccions.

Comandaments d'idioma de control de transaccions (TCL)

Aquesta secció del tutorial de SQL Server us proporcionarà una informació sobre les ordres que s’utilitzen per gestionar les transaccions a la base de dades.Les ordres són les següents:

COMPROMETRE’s

L'ordre COMMIT s'utilitza per desar la transacció a la base de dades.

Sintaxi

COMPROMETRE’s

ROLLBACK

L'ordre ROLLBACK s'utilitza per restaurar la base de dades a l'últim estat compromès.

Sintaxi

ROLLBACK

NOTA: Quan utilitzeu ROLLBACK amb SAVEPOINT, podeu saltar directament a un punt de salvament en una transacció en curs. Sintaxi: ROLLBACK TO SavepointName

SAVEPOINT

L'ordre SAVEPOINT s'utilitza per desar temporalment una transacció. Per tant, si voleu tornar enrere a qualsevol punt, podeu desar-lo com a 'SAVEPOINT'.

Sintaxi

SAVEPOINT SAVEPOINTNAME

Considereu la taula següent per entendre el funcionament de les transaccions a la base de dades.

ID estudiant Nom de l'estudiant
1Rohit
2Suhana
3Ashish
4Prerna

Ara, utilitzeu el següent per entendre les transaccions a la base de dades.

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 VALORES (8,' Veena ') SAVEPOINT S4 SELECT * FROM StudentTable

A continuació, en aquest article sobre el tutorial de SQL Server, entenem com gestionar les excepcions a Transact-SQL.

Manipulació d’excepcions

Hi ha dos tipus d’excepcions, és a dir, les excepcions definides pel sistema i les excepcions definides per l’usuari. Com el seu nom indica, el tractament d’excepcions és un procés mitjançant el qual un usuari pot gestionar les excepcions generades. Per gestionar excepcions, heu d'entendre les següents declaracions de flux de control:

LLANÇAR

Aquesta clàusula s'utilitza per generar una excepció i transfereix l'execució a un bloc CATCH d'una construcció TRY ... CATCH.

Sintaxi

TIRAR [ErrorNumber, @localvariable, State] []

on,

  • ErrorNumber - Aconstant o variable que representa l'excepció.
  • Missatge - Avariable o cadena que descriu l'excepció.
  • Estat -Una constant o variable entre 0 i 255 que indica l'estat que cal associar amb el missatge.
THROW 51000, 'El registre no existeix.', 1

PROVEU .. ATRAPA

S’utilitza per implementar el tractament d’excepcions a Transact-SQL. Es pot incloure un grup de declaracions al bloc TRY. En cas que es produeixi un error al bloc TRY, el control es passa a un altre grup d’instruccions incloses en un bloc CATCH.

Sintaxi

BEGIN TRY StatementBlock END TRY BEGIN CATCH [StatementBlock] END CATCH []
COMENÇAR PROVA SELECCIÓ * DE StudentsInfo FINALITAR PROVA COMENÇAR CATCH SELECCIONAR ERROR_NUMBER () AS ErNum, ERROR_MESSAGE () AS ErMsg END CATCH

IN Amb això, arribem al final d’aquest article sobre Tutorial de SQL Server. Espero que us hagi agradat llegir aquest article sobre SQL Server Tutorial for Beginners.Jo Si voleu obtenir una formació estructurada sobre MySQL, consulteu el nostre que inclou formació en directe dirigida per un instructor i experiència en projectes reals. Aquesta formació us ajudarà a entendre en profunditat MySQL i us ajudarà a dominar el tema. Tens alguna pregunta? Esmenteu-lo a la secció de comentaris de ' Tutorial de SQL Server ”I em posaré en contacte amb vosaltres.