Sur le marché actuel, où une énorme quantité de données est générée chaque jour, il est très important de comprendre comment gérer les données. SQL Server est un environnement intégré développé par Microsoft pour gérer les données.Dans cet article sur le didacticiel SQL Server, vous apprendrez toutes les opérations et commandes dont vous avez besoin pour explorer vos bases de données.
Pour votre meilleure compréhension, j'ai divisé le blog dans les catégories suivantes:
Commandes | La description |
Cet ensemble de commandes est utilisé pour définir une base de données. | |
Commandes du langage de manipulation de données (DML) | Les commandes de manipulation permettent de manipuler les données présentes dans la base de données. |
Cet ensemble de commandes traite des autorisations, des droits et d'autres contrôles des systèmes de base de données. | |
Ces commandes sont utilisées pour traiter la transaction de la base de données. |
Outre les commandes, les sujets suivants sont traités dans cet article:
- Qu'est-ce que SQL Server?
- Installez SQL Server
- Connectez-vous à SQL Server à l'aide de SSMS
- Accéder au moteur de base de données
- Architecture SQL Server
- Commentaires en SQL
- Types de données SQL Server
- Clés dans la base de données
- Contraintes dans la base de données
- Les opérateurs
- Fonctions d'agrégation
- Fonctions définies par l'utilisateur
- Requêtes imbriquées
- Rejoint
- Boucles
- Procédures stockées
- Gestion des exceptions
***REMARQUE*** Dans ce didacticiel SQL Server, je vais considérer la base de données ci-dessous commeun exemple, pour vous montrer comment apprendre et écrirecommandes.
Carte d'étudiant | Nom d'étudiant | Nom du parent | Numéro de téléphone | Adresse | Ville | Pays |
un | je déteste | Akriti mehra | 9955339966 | Barrage routier 9 de la brigade | Hyderabad | Inde |
2 | Manasa | Shourya Sharma | 9234568762 | Route Mayo 15 | Calcutta | Inde |
3 | Anay | Soumya Mishra | 9876914261 | Maison Marathalli n ° 101 | Bengaluru | Inde |
4 | Preeti | Rohan Sinha | 9765432234 | Queens Road 40 | Delhi | Inde |
5 | Shanaya | Abhinay agarwal | 9878969068 | 21 rue Oberoi | Bombay | Inde |
Avant de commencer à comprendre les différentes commandes utilisées dans SQL Server, voyons ce qu'est SQL Server, son architecture et comment l'installer.
Qu'est-ce que SQL Server?
Microsoft SQL Server est un outil relationnel système de gestion de base de données . Il prend en charge le Langage de requêtes structurées et est livré avec sa propre implémentation du langage SQL qui est le Transact-SQL (T-SQL) . Il dispose d'un environnement intégré pour gérer les bases de données SQL, qui est le .
Les principaux composants de SQL Server sont les suivants:
- Moteur de base de données: Ce composant gère le stockage, le traitement rapide des transactions et la sécurisation des données.
- Serveur SQL - Ce service est utilisé pour démarrer, arrêter, mettre en pause et continuer l'instance de MS SQL Server.
- Agent SQL Server - Le service Server Agent joue le rôle de planificateur de tâches et est déclenché par tout événement ou selon l'exigence.
- Navigateur SQL Server - Ce service est utilisé pour connecter la demande entrante à l'instance SQL Server souhaitée.
- Recherche en texte intégral SQL Server - Utilisé pour permettre à l'utilisateur d'exécuter des requêtes de texte intégral sur les données de caractères dans les tables SQL.
- Enregistreur VSS SQL Server - Permet les sauvegardes et la restauration des fichiers de données lorsque SQL Server ne s'exécute pas.
- SQL Server Analysis Services (SSAS) - Ce service est utilisé pour fournir l'analyse de données, l'exploration de données et capacités. Le serveur SQL est également intégré à et R pour une analyse avancée des données.
- SQL Server Reporting Services (SSRS) - Comme son nom l'indique, ce service est utilisé pour fournir des fonctionnalités et des capacités de prise de décision, y compris l'intégration avec .
- Services d'intégration SQL Server (SSIS) - Ce service est utilisé pour effectuer les opérations ETL pour différents types de données provenant de plusieurs sources de données.
Maintenant que vous savez ce qu'est MS SQL Server, laissez-nous avancer dans cet article sur le didacticiel SQL Server et comprendre comment installer et configurer SQL Server.
Installez SQL Server
Suivez les étapes ci-dessous pour installer SQL Server:
Étape 1: Accédez à la page officielle de Téléchargement de Microsoft SQL Server , où vous trouverez la possibilité d'installer SQL Server sur site ou sur le cloud.
Étape 2: Maintenant, faites défiler vers le bas et vous verrez deux options: Édition développeur et entreprise . Ici, je vais télécharger le Édition développeur . Pour télécharger, il vous suffit de cliquer sur le Télécharger maintenant option. Reportez-vous ci-dessous.
Étape 3: Une fois l'application téléchargée, double-cliquez sur le fichier et vous verrez la fenêtre suivante.
Étape 4: Maintenant, vous pouvez choisir l'une des 3 options pour configurer SQL Server. Ici, je vais juste choisir le Option de base . En sélectionnant l'option du type d'installation, l'écran suivant serait d'accepter le contrat de licence. Pour ce faire, cliquez sur J'accepte dans la fenêtre suivante.
Étape 5: Ensuite, vous devez spécifier l'emplacement d'installation de SQL Server. Ensuite, vous devez cliquer sur Installer.
Une fois que vous cliquez sur Installer , vous verrez que les packages requis sont téléchargés. Maintenant, une fois l'installation terminée, vous verrez l'écran suivant:
Ici, vous pouvez soit avancer et cliquer sur Se connecter maintenant, soit personnaliser l'installation. Pour votre meilleure compréhension, je vais aller de l'avant et choisir Personnaliser.
Étape 6: Une fois que vous cliquez sur Personnaliser dans la fenêtre ci-dessus, vous verrez l'assistant suivant s'ouvrir. dans la fenêtre suivante, cliquez sur Suivant.
Étape 7: Une fois les règles installées automatiquement, cliquez sur Suivant . Reportez-vous ci-dessous.
Étape 8: Ensuite, vous devez choisir le type d'installation. Alors, choisissez le Effectuer un nouvelle installation de SQL Server 2017 option puis cliquez sur Suivant.
Étape 9: Dans l'assistant qui s'ouvre, choisissez l'édition: Développeur. Ensuite, cliquez sur Suivant . Reportez-vous ci-dessous.
Étape 10: Maintenant, lisez et acceptez les accords de licence en enregistrant le bouton radio, puis en cliquant sur Suivant . Reportez-vous ci-dessous.
Étape 11: Dans l'assistant ci-dessous, vous pouvez choisir les fonctionnalités que vous souhaitez installer. En outre, vous pouvez choisir le répertoire racine de l'instance, puis cliquer sur Suivant . Ici, je vais choisir le Services de moteur de base de données .
Étape 12: Ensuite, vous devez nommer l'instance et automatiquement l'ID d'instance sera créé. Ici, je nommerai l'instance «edureka». Ensuite, cliquez sur Suivant.
Étape 13: Dans l'assistant de configuration du serveur, cliquez sur Suivant .
Étape 14: Maintenant, vous devez activer les modes d'authentification. Ici, vous verrez le Mode d'authentification Windows et Mode mixte . Je vais choisir le mode mixte. Ensuite, mentionnez le mot de passe et j'ajouterai l'utilisateur actuel comme Administrateur en choisissant le Ajouter l'utilisateur actuel option.
Étape 15: Ensuite, choisissez le chemin du fichier de configuration et cliquez sur Installer .
Une fois l'installation terminée, vous verrez l'écran suivant:
Connectez-vous à SQL Server à l'aide de SSMS
Une fois le serveur SQL installé, l'étape suivante consiste à connecter le serveur SQL à SQL Server Management Studio. Pour ce faire, suivez les étapes ci-dessous:
Étape 1: Revenez à la fenêtre suivante et cliquez sur le installer SSMS option.
Étape 2: Une fois que vous avez cliqué sur cette option, vous serez redirigé vers le page suivante , où vous devez choisir Téléchargez SSMS.
Étape 3: Une fois la configuration téléchargée, double-cliquez sur l'application et vous verrez l'assistant suivant s'ouvrir.
Étape 4: Cliquer sur Option d'installation , dans la fenêtre ci-dessus et vous verrez que cette installation commencera.
Étape 5: Une fois l'installation terminée, vous obtiendrez une boîte de dialogue comme indiqué ci-dessous.
Après avoir installé le SSMS, l'étape suivante consiste à accéder au Moteur de base de données .
Accéder au moteur de base de données
Lorsque vous ouvrez le Studio de gestion de serveur SQL du le menu Démarrer , une fenêtre s'ouvrira semblable à la fenêtre montrée dans l'image ci-dessous.
Ici, mentionnez le nom du serveur, le mode d'authentification et cliquez sur Relier.
Après avoir cliqué sur Relier , Vous verrez l'écran suivant.
Eh bien, c'est ainsi que vous installez et configurez SQL Server. Maintenant, dans ce tutoriel SQL Server, laissez-nous comprendre les différents composants de l'architecture de SQL Server.
Architecture SQL Server
L'architecture de SQL Server est la suivante:
- Serveur & moins C'est là que les services SQL sont installés et la base de données réside
- Moteur relationnel & minus Contient l'analyseur de requêtes, l'optimiseur et l'exécuteur et l'exécution se produit dans le moteur relationnel.
- Analyseur de commandes & minus Vérifie la syntaxe de la requête et convertit la requête en langage machine.
- Optimiseur & minus Prépare le plan d'exécution comme sortie en prenant les statistiques, la requête et l'arborescence de l'algèbre comme entrée.
- Exécuteur de requêtes & moins C'est l'endroit où les requêtes sont exécutées étape par étape
- Moteur de stockage & moins Il est responsable du stockage et de la récupération des données sur le système de stockage, de la manipulation des données, de la gestion et du verrouillage des transactions.
Maintenant que vous savez comment configurer et installer SQL Server et ses différents composants, commençons par écrire Serveur. Mais avant cela, permettez-moi de vous expliquer comment écrire des commentaires dans SQL Server.
Commentaires dans SQL Server
Il existe deux façons de commenter en SQL, c'est-à-dire soit d'utiliser s commentaires en ligne ou la m commentaires ulti-line .
Commentaires sur une seule ligne
Les commentaires sur une seule ligne commencent par deux tirets (-). Par conséquent, le texte mentionné après (-), jusqu'à la fin d'une seule ligne sera ignoré par le compilateur.
Exemple:
- Exemple de commentaires sur une seule ligne
Commentaires sur plusieurs lignes
Les commentaires sur plusieurs lignes commencent par / * et se terminent par * / . Par conséquent, le texte mentionné entre / * et * / sera ignoré par le compilateur.
Exemple:
/ * Exemple de commentaires sur plusieurs lignes * /
Maintenant, dans cet article sur le didacticiel SQL Server, commençons par le premier ensemble de commandes, à savoir les commandes du langage de définition de données.
Commandes du langage de définition de données
Cette section de l'article vous donnera une idée des commandes à l'aide desquelles vous pouvez définir votre base de données. Les commandes sont les suivantes:
CRÉER
Cette instruction est utilisée pour créer une table, une base de données ou une vue.
La déclaration «CREATE DATABASE»
Cette instruction est utilisée pour créer une base de données.
Syntaxe
CREATE DATABASE DatabaseName
Exemple
CRÉER DES ÉTUDIANTS DE BASE DE DONNÉES
La ' CRÉER UNE TABLE 'Déclaration
Comme son nom l'indique, cette instruction est utilisée pour créer une table.
Syntaxe
CREATE TABLE TableName (type de données Colonne1, type de données Colonne2, type de données Colonne3, .... type de données ColonneN)
Exemple
CREATE TABLE StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))
LAISSEZ TOMBER
Cette instruction est utilisée pour supprimer une table, une base de données ou une vue existante.
La déclaration «DROP DATABASE»
Cette instruction est utilisée pour supprimer une base de données existante. Les informations complètes présentes dans la base de données seront perdues dès que vous exécuterez la commande ci-dessous.
Syntaxe
DROP DATABASE DatabaseName
Exemple
Élèves DROP DATABASE
La déclaration «DROP TABLE»
Cette instruction est utilisée pour supprimer une table existante. Les informations complètes présentes dans le tableau seront perdues dès que vous exécuterez la commande ci-dessous.
Syntaxe
DROP TABLE TableName
Exemple
DROP TABLE StudentInfo
ÂGE
La commande ALTER est utilisée pour ajouter, supprimer ou modifier des colonnes ou des contraintes dans une table existante.
La ' MODIFIER TABLE 'Déclaration
Cette instruction est utilisée pour ajouter, supprimer, modifier des colonnes dans une table préexistante.
Instruction «ALTER TABLE» avec ADD / DROP COLUMN
L'instruction ALTER TABLE est utilisée avec la commande ADD / DROP Column pour ajouter et supprimer une colonne.
Syntaxe
ALTER TABLE TableName ADD ColumnName Type de données ALTER TABLE TableName DROP COLUMN ColumnName
Exemple
--ADD Column BloodGroup: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) --DROP Column BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup
Instruction «ALTER TABLE» avec ALTER COLUMN
L'instruction ALTER TABLE peut être utilisée avec la colonne ALTER pour modifier le type de données d'une colonne existante dans une table.
java comment l'utiliser
Syntaxe
ALTER TABLE TableName ALTER COLUMN ColumnName Type de données
Exemple
--Ajoutez une colonne DOB et changez le type de données de date à datetime. ALTER TABLE StudentInfo ADD DOB date ALTER TABLE StudentInfo ALTER COLUMN DOB datetime
TRONQUER
Cette commande SQL permet de supprimer les informations présentes dans la table mais ne supprime pas la table elle-même. Ainsi, si vous souhaitez supprimer les informations présentes dans la table, et ne pas supprimer la table elle-même, vous devez utiliser la commande TRUNCATE. Sinon, utilisez la commande DROP.
Syntaxe
TABLEAU TRUNCATE TableName
Exemple
TABLE DES TRONCONS StudentInfo
RENOMMER
Cette instruction est utilisée pour renommer une ou plusieurs tables.
Syntaxe
sp_rename 'OldTableName', 'NewTableName'
Exemple
sp_rename 'StudentInfo', 'Infostudents'
Dans cet article sur le didacticiel SQL Server, laissez-nous comprendre les différents types de données pris en charge par SQL Server.
Types de données SQL Server
Catégorie de type de données | Nom du type de données | La description | Plage / Syntaxe |
Chiffres exacts | numérique | Utilisé pour stocker des valeurs numériques et avoir des nombres de précision et d'échelle fixes | - 10 ^ 38 +1 à 10 ^ 38-1. |
minuscule | Utilisé pour stocker des valeurs entières | 0 à 255 | |
smallint | Utilisé pour stocker des valeurs entières | -2 ^ 15 (-32 768) à 2 ^ 15-1 (32 767) | |
bigint | Utilisé pour stocker des valeurs entières | -2 ^ 63 (-9,223,372,036,854,775,808) à 2 ^ 63-1 (9,223,372,036,854,775,807) | |
int | Utilisé pour stocker des valeurs entières | -2 ^ 31 (-2 147 483 648) à 2 ^ 31-1 (2 147 483 647) | |
bit | Stocke un type de données entier qui contient une valeur de 0, 1 ou NULL | 0, 1 ou NULL | |
décimal | Utilisé pour stocker des valeurs numériques et avoir des nombres de précision et d'échelle fixes | - 10 ^ 38 +1 à 10 ^ 38-1. | |
petit argent | Utilisé pour stocker de l'argentou les valeurs monétaires. | - 214.748.3648 à 214.748.3647 | |
argent | Utilisé pour stocker de l'argentou les valeurs monétaires. | -922.337.203.685.477.5808 à 922.337.203.685.477.5807 (-922.337.203.685.477,58 au 922 337 203 685 477,58 pour Informatica. | |
Chiffres approximatifs | flotte | Utilisé pour stocker des données numériques à virgule flottante | - 1,79E + 308 à -2,23E-308, 0 et 2,23E-308 à 1,79E + 308 |
réel | Utilisé pour stocker des données numériques à virgule flottante | - 3.40E + 38 à -1.18E - 38, 0 et 1.18E - 38 à 3.40E + 38 | |
Date et l'heure | Date | Utilisé pour définir une date dans SQL Server. | Syntaxe: date |
smalldatetime | Utilisé pour définir une date qui est combinée avec une heure de la journée où l'heure est basée sur une journée de 24 heures, avec des secondes toujours nulles (: 00) et sans fraction de seconde. | Syntaxe: smalldatetime | |
datetime | Utilisé pour définir une date combinée à une heure de la journée avec des fractions de seconde basée sur une horloge de 24 heures. | Syntaxe: datetime | |
datetime2 | datetime2 est comme une extension de l'existant datetime type qui a une plus grande précision fractionnaire par défaut, plus grande plage de dates. | Syntaxe: datetime2 | |
datetimeoffset | Utilisé pour définir une date qui est combinée avec une heure d'un jour qui a une reconnaissance de fuseau horaire. Il est basé sur une horloge de 24 heures. | Syntaxe: datetimeoffset | |
temps | Utilisé pour définir une heure de la journée. | Syntaxe: time | |
Chaînes de caractères | carboniser | Utilisé pour stocker des caractères de taille fixe. | carboniser[( n )] où la valeur n varie de 1 à 8 000 |
varchar | Utilisé pour stocker des caractères de longueur variable. | varchar [( n | max)] où la valeur n varie de 1 à 8 000 et le stockage maximal autorisé est de 2 Go. | |
texte | Utilisé pour stocker vdonnées non Unicode de longueur ariable | Longueur de chaîne maximale autorisée - 2 ^ 31-1 (2 147 483 647) | |
Chaînes de caractères Unicode | nchar | Utilisé pour stocker des caractères de taille fixe. | nchar[(n)] où la valeur n varie de 1 à 4 000 |
nvarchar | Utilisé pour stocker des caractères de longueur variable. | varchar [( n | max)] où la valeur n varie de 1 à 4 000 et le stockage maximal autorisé est de 2 Go. | |
ntext | Utilisé pour stocker des données Unicode de longueur variable | Longueur de chaîne maximale autorisée - 2 ^ 30-1 (2 147 483 647) | |
Chaînes binaires | binaire | Utilisé pour stocker des types de données binaires de longueur fixe | binaire[( n )] où la valeur n varie de 1 à 8 000 |
varbinary | Utilisé pour stocker des types de données binaires de longueur fixe | varbinary[( n )] où la valeur n varie de 1 à 8 000 et le stockage maximal autorisé est de 2 ^ 31-1 octets. | |
image | Utilisé pour stocker des données binaires de longueur variable | 0-2 ^ 31-1 (2,147,483,647) octets | |
Autres types de données | Il s'agit d'un type de données pour les paramètres de procédure stockée ou de variables OUTPUT qui contiennent une référence à un curseur. | - | |
rowversion | Utilisé pour exposer des nombres binaires uniques générés automatiquement dans une base de données. | - | |
hierarchyid | Utilisé pour représenter la position dans une hiérarchie. | - | |
identifiant unique | Est un GUID de 16 octets. | Syntaxe:identifiant unique | |
sql_variant | Utilisé pour stocker les valeurs de divers types de données pris en charge par SQL Server | Syntaxe: sql_variant | |
xml | Utilisé pour stocker le type de données XML. | xml ([CONTENU | DOCUMENT] xml_schemacollection) | |
Types de géométrie spatiale | Utilisé pour représenter des données dans un système de coordonnées euclidien (plat). | - | |
Types de géographie spatiale | Utilisé pour stocker des données ellipsoïdales (terre ronde), telles que les coordonnées GPS de latitude et de longitude. | - | |
table | Utilisé pour stocker un jeu de résultats pour un traitement ultérieur | - |
Ensuite, dans cet article, nous allons comprendre les différents types de clés et de contraintes dans la base de données.
Différents types de clés dans la base de données
Voici les différents types de clés utilisées dans la base de données:
- Clé du candidat - La clé candidate est un ensemble d'attributs qui peuvent identifier de manière unique une table. Une table peut avoir plus d'une seule clé candidate et parmi les clés candidates choisies, une clé est choisie comme clé primaire.
- Super clé - L'ensemble d'attributs peut identifier de manière unique un tuple. Ainsi, les clés candidates, les clés uniques et les clés primaires sont des super clés, mais l'inverse n'est pas vrai.
- Clé primaire - Clés primaires sont utilisés pour identifier de manière unique chaque tuple.
- Clé alternative - Les clés alternatives sont les clés candidates qui ne sont pas choisies comme clé primaire.
- Clé unique- Les clés uniques sont similaires à la clé primaire, mais autorisent une seule valeur NULL dans la colonne.
- Clé étrangère - Un attribut qui ne peut prendre que les valeurs présentes comme valeurs d'un autre attribut est le clé étrangère à l'attribut auquel il se réfère.
- Clé composite- Les clés composites sont une combinaison de deux colonnes ou plus qui identifient chaque tuple de manière unique.
Contraintes utilisées dans la base de données
Les contraintes sont utilisées dans une base de données pour spécifier les règles des données stockées dans une table. Les différents types de contraintes en SQL sont les suivants:
PAS NULL
La contrainte NOT NULL garantit qu'une colonne ne peut pas avoir une valeur NULL.
Exemple
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 sur ALTER TABLE ALTER TABLE StudentsInfo ALTER COLUMN PhoneNumber int NOT NULL
UNIQUE
Cette contrainte garantit que toutes les valeurs d'une colonne sont uniques.
Exemple
--UNIQUE sur 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)) --UNIQUE sur plusieurs colonnes 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 sur ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) --Pour supprimer une contrainte UNIQUE ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info
VÉRIFIER
La contrainte CHECK garantit que toutes les valeurs d'une colonne satisfont à une condition spécifique.
Exemple
--CHECK Contrainte sur 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 Contrainte sur plusieurs colonnes CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, Ville varchar (8000), Pays varchar (8000) CHECK (Country = 'India' AND City = 'Hyderabad')) --CHECK Contrainte sur ALTER TABLE ALTER TABLE StudentsInfo ADD CHECK (Country = 'India') --Pour donner un nom à la contrainte CHECK ALTER TABLE StudentsInfo ADD CONSTRAINT CheckConstraintName CHECK (Country = 'India') --Pour supprimer une contrainte CHECK ALTER TABLE StudentsInfo DROP CONSTRAINT CheckConstraintName
DÉFAUT
La contrainte DEFAULT consiste en un ensemble de valeurs par défaut pour une colonne lorsqu'aucune valeur n'est spécifiée.
Exemple
--DEFAULT Contrainte sur 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') --DEFAULT Contrainte sur ALTER TABLE ALTER TABLE StudentsInfo ADD CONSTRAINT defau_Country DEFAULT 'India' FOR Country --Pour supprimer la contrainte par défaut ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country
INDICE
La Contrainte INDEX est utilisé pour créer des index dans la table, grâce auxquels vous pouvez créer et récupérer très rapidement des données de la base de données.
Syntaxe
--Créez un index où les valeurs en double sont autorisées CREATE INDEX IndexName ON TableName (Column1, Column2, ... ColumnN) --Créez un index où les valeurs en double ne sont pas autorisées CREATE UNIQUE INDEX IndexName ON TableName (Column1, Column2, ... ColonneN)
Exemple
CREATE INDEX idex_StudentName ON StudentsInfo (StudentName) --Pour supprimer un index dans une table DROP INDEX StudentsInfo.idex_StudentName
Dans cet article sur le didacticiel SQL Server, nous allons maintenant comprendre les différentes commandes du langage de manipulation de données utilisées dans Microsoft SQL Server.
Commandes du langage de manipulation de données
Cette section de l'article couvrira toutes les commandes par lesquelles vous pouvez manipuler la base de données. Les commandes sont les suivantes:
- UTILISATION
- INSÉRER DANS
- MISE À JOUR
- EFFACER
- ALLER
- SÉLECTIONNER
- CUBE
- ROLLUP
- DÉCALAGE
- FETCH
- HAUT
- PIVOT
Outre ces commandes, il existe également d'autres opérateurs / fonctions de manipulation tels que:
UTILISATION
Cette instruction est utilisée pour sélectionner la base de données pour commencer à effectuer diverses opérations dessus.
Syntaxe
UTILISER DatabaseName
Exemple
UTILISER les étudiants
INSÉRER DANS
La Instruction INSERT INTO est utilisé pour insérer de nouveaux enregistrements dans une table existante.
Syntaxe
INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (value1, value2, value3, ...) --Si vous ne souhaitez pas mentionner les noms de colonne, utilisez la syntaxe ci-dessous INSERT INTO TableName VALUES (Valeur1, Valeur2, Valeur3, ...)
Exemple
INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) VALUES ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India ') INSÉRER DANS LES VALEURS StudentsInfo (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' India ')
MISE À JOUR
L'instruction UPDATE permet de modifier ou de mettre à jour les enregistrements déjà présents dans la table.
Syntaxe
UPDATE TableName SET Colonne1 = Valeur1, Colonne2 = Valeur2, ... WHERE Condition
Exemple
METTRE À JOUR StudentInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WHERE StudentID = 1
EFFACER
L'instruction DELETE est utilisée pour supprimer les enregistrements existants dans une table.
Syntaxe
DELETE FROM TableName WHERE Condition
Exemple
SUPPRIMER DE StudentsInfo WHERE StudentName = 'Aahana'
ALLER
L'instruction MERGE est utilisée pour effectuer les opérations INSERT, UPDATE et DELETE sur une table spécifique, où la table source est fournie. Reportez-vous ci-dessous.
Syntaxe
MERGE TagretTableName USING SourceTableName ON MergeCondition WHEN MATCHED THEN Update_Statement WHEN NOT MATCHED THEN Insert_Statement WHEN NOT MATCHED BY SOURCE THEN DELETE
Exemple
Pour comprendre l'instruction MERGE, considérez les tables suivantes comme la table source et la table cible.
Tableau source:
Carte d'étudiant | Nom d'étudiant | Des marques |
un | je déteste | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Table cible:
Carte d'étudiant | Nom d'étudiant | Des marques |
un | je déteste | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
MERGE SampleTargetTable TARGET UTILISANT SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) WHEN MATCHED AND TARGET. LORSQUE LA CIBLE N'EST PAS ASSOCIÉE ALORS INSÉRER (StudentID, StudentName, Marks) VALEURS (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) LORSQU'IL N'EST PAS ASSORTI PAR LA SOURCE PUIS SUPPRIMER
Production
Carte d'étudiant | Nom d'étudiant | Des marques |
un | je déteste | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
SÉLECTIONNER
La Instruction SELECT est utilisé pour sélectionner des données dans une base de données, une table ou une vue. Les données renvoyées sont stockées dans une table de résultats, appelée ensemble de résultats .
Syntaxe
SELECT Column1, Column2, ... ColumN FROM TableName - (*) est utilisé pour tout sélectionner dans la table SELECT * FROM table_name - Pour sélectionner le nombre d'enregistrements à renvoyer, utilisez: SELECT TOP 3 * FROM TableName
Exemple
- Pour sélectionner quelques colonnes SELECT StudentID, StudentName FROM StudentsInfo - (*) est utilisé pour tout sélectionner dans le tableau SELECT * FROM StudentsInfo - Pour sélectionner le nombre d'enregistrements à renvoyer, utilisez: SELECT TOP 3 * FROM StudentsInfo
Nous pouvons également utiliser les mots-clés suivants avec l'instruction SELECT:
DISTINCT
Le mot clé DISTINCT est utilisé avec l'instruction SELECT pour renvoyer uniquement des valeurs différentes.
Syntaxe
SELECT DISTINCT Colonne1, Colonne2, ... ColonneN FROM NomTable
Exemple
SELECT DISTINCT PhoneNumber FROM StudentsInfo
COMMANDÉ PAR
Cette instruction est utilisée pour trier les résultats requis par ordre croissant ou décroissant. Par défaut, les résultats sont stockés dans l'ordre croissant. Pourtant, si vous souhaitez obtenir les résultats par ordre décroissant, vous devez utiliser le DESC mot-clé.
Syntaxe
SELECT Column1, Column2, ... ColumnN FROM TableName ORDER BY Column1, Column2, ... ASC | DESC
Exemple
- Sélectionnez tous les élèves de la table 'StudentsInfo' triés par ParentName: SELECT * FROM StudentsInfo ORDER BY ParentName - Sélectionnez tous les étudiants de la table 'StudentsInfo' triés par ParentName dans l'ordre décroissant: SELECT * FROM StudentsInfo ORDER BY ParentName DESC - Sélectionnez tous les élèves de la table 'StudentsInfo' triés par ParentName et StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Sélectionnez tous les étudiants de la table 'StudentsInfo' triés par ParentName dans l'ordre décroissant et StudentName dans l'ordre croissant: * / SELECT * FROM StudentsInfo ORDER BY ParentName ASC, StudentName DESC
PAR GROUPE
Cette instruction est utilisée avec le fonctions d'agrégation pour regrouper l'ensemble de résultats par une ou plusieurs colonnes.
Syntaxe
SELECT Column1, Column2, ..., ColumnN FROM TableName WHERE Condition GROUP BY ColumnName (s) ORDER BY ColumnName (s)
Exemple
- Pour lister le nombre d'étudiants de chaque ville. SELECT COUNT (StudentID), Ville FROM StudentsInfo GROUP BY City
GROUPES D'ENSEMBLES
GROUPING SETS a été introduit dans SQL Server 2008, utilisé pour générer un jeu de résultats qui peut être généré par un UNION TOUT des multiples clauses GROUP BY simples.
Syntaxe
SELECT ColumnNames (s) FROM TableName GROUP BY GROUPING SETS (ColumnName (s))
Exemple
SELECT StudentID, StudentName, COUNT (City) dans le groupe StudentsInfo PAR GROUPING SETS ((StudentID, StudentName, City), (StudentID), (StudentName), (City))
AYANT
Cette clause est utilisée dans le scénario où le Mot clé WHERE Ne peut pas être utilisé.
Syntaxe
SELECT ColumnName (s) FROM TableName WHERE Condition GROUP BY ColumnName (s) HAVING Condition ORDER BY ColumnName (s)
Exemple
SELECT COUNT (StudentID), Ville FROM StudentsInfo GROUP BY City HAVING COUNT (StudentID)> 2 ORDER BY COUNT (StudentID) DESC
DANS
Le mot-clé INTO peut être utilisé avec le Instruction SELECT pour copier des données d'une table à une autre. Eh bien, vous pouvez comprendre que ces tables sont des tables temporaires. Les tables temporaires sont généralement utilisées pour effectuer des manipulations sur les données présentes dans la table, sans perturber la table d'origine.
Syntaxe
SELECT * INTO NewTable [IN ExternalDB] FROM OldTable WHERE Condition
Exemple
- Pour créer une sauvegarde de la table 'StudentsInfo' SELECT * INTO StudentsBackup FROM StudentsInfo --Pour ne sélectionner que quelques colonnes de StudentsInfo SELECT StudentName, PhoneNumber INTO StudentsDetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'
CUBE
CUBE est une extension du Clause GROUP BY . Il vous permet de générer les sous-totaux pour toutes les combinaisons des colonnes de regroupement spécifiées dans la clause GROUP BY.
Syntaxe
SELECT ColumnName (s) FROM TableName GROUP BY CUBE (ColumnName1, ColumnName2, ....., ColumnNameN)
Exemple
SELECT StudentID, COUNT (City) FROM StudentsInfo GROUP BY CUBE (StudentID) ORDER BY StudentID
ROLLUP
ROLLUP est une extension de la clause GROUP BY. Cela vous permet d'inclure les lignes supplémentaires qui représentent les sous-totaux. Celles-ci sont appelées lignes super-agrégées avec la ligne de total général.
Syntaxe
SELECT ColumnName (s) FROM TableName GROUP BY ROLLUP (ColumnName1, ColumnName2, ....., ColumnNameN)
Exemple
SELECT StudentID, COUNT (City) FROM StudentsInfo GROUP BY ROLLUP (StudentID)
DÉCALAGE
La clause OFFSET est utilisée avec SELECT et Instruction ORDER BY pour récupérer une plage d'enregistrements. Il doit être utilisé avec la clause ORDER BY car il ne peut pas être utilisé seul. En outre, la plage que vous mentionnez doit être égale ou supérieure à 0. Si vous mentionnez une valeur négative, cela indique une erreur.
Syntaxe
SELECT ColumnNames) FROM TableName WHERE Condition ORDER BY ColumnName (s) OFFSET RowsToSkip ROWS
Exemple
Envisagez une nouvelle colonne Des marques dans le EtudiantsInfo table.
SELECT StudentName, ParentName FROM StudentsInfo ORDER BY Marks OFFSET 1 ROWS
FETCH
La clause FETCH est utilisée pour renvoyer un ensemble d'un certain nombre de lignes. Il doit être utilisé en conjonction avec la clause OFFSET.
Syntaxe
SELECT ColumnNames) FROM TableName WHERE Condition ORDER BY ColumnName (s) OFFSET RowsToSkip FETCH NEXT NumberOfRows ROWS UNIQUEMENT
Exemple
SÉLECTIONNEZ StudentName, ParentName FROM StudentsInfo ORDER BY Marks OFFSET 1 ROWS FETCH Next 1 ROWS UNIQUEMENT
HAUT
La clause TOP est utilisée avec l'instruction SELECT pour mentionner le nombre d'enregistrements à renvoyer.
Syntaxe
SELECT TOP Number ColumnName (s) FROM TableName WHERE Condition
Exemple
SÉLECTIONNEZ TOP 3 * DE StudentsInfo
PIVOT
PIVOT est utilisé pour faire pivoter les lignes en valeurs de colonne et exécute des agrégations si nécessaire sur les valeurs de colonne restantes.
Syntaxe
SELECT NonPivoted ColumnName, [First Pivoted ColumnName] AS ColumnName, [Second Pivoted ColumnName] AS ColumnName, [Third Pivoted ColumnName] AS ColumnName, ... [Last Pivoted ColumnName] AS ColumnName FROM (SELECT requête qui produit les données) AS [alias pour la requête initiale] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName de la colonne dont les valeurs deviendront des en-têtes de colonne] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last colonne pivotée])) AS [alias pour le tableau croisé dynamique]
Exemple
Pour obtenir un exemple détaillé, vous pouvez vous référer à mon article sur SQL PIVOT et UNPIVOT . Ensuite, dans ce didacticiel SQL Server, examinons les différents opérateurs pris en charge par Microsoft SQL Server.
Les opérateurs
La différents types d'opérateurs pris en charge par SQL Server sont les suivants:
- Opérateurs arithmétiques
- Opérateurs d'affectation
- Opérateurs au niveau du bit
- Opérateurs de comparaison
- Opérateurs composés
- Opérateurs logiques
- Opérateurs de résolution de portée
- Définir les opérateurs
- Opérateurs de concaténation de chaînes
Discutons chacun d'eux un par un.
Opérateurs arithmétiques
Opérateur | Sens | Syntaxe |
+ | Une addition | expression + expression |
- | Soustraction | expression - expression |
* | Multiplication | expression * expression |
/ | Division | expression / expression |
% | Moduleux | expression% expression conversion de type en c ++ |
Opérateurs d'affectation
Opérateur | Sens | Syntaxe |
= | Attribuer une valeur à une variable | variable = «valeur» |
Opérateurs au niveau du bit
Opérateur | Sens | Syntaxe |
& (ET au niveau du bit) | Utilisé pour effectuer une opération ET logique au niveau du bit entre deux valeurs entières. | expression et expression |
& = (Affectation ET au niveau du bit) | Utilisé pour effectuer une opération ET logique au niveau du bit entre deux valeurs entières. Il définit également une valeur pour la sortie de l'opération. | expression & = expression |
| (OR au niveau du bit) | Utilisé pour effectuer une opération OR logique au niveau du bit entre deux valeurs entières traduites en expressions binaires dans les instructions Transact-SQL. | expression | expression |
| = (Affectation OR au niveau du bit) | Utilisé pour effectuer une opération OR logique au niveau du bit entre deux valeurs entières traduites en expressions binaires dans les instructions Transact-SQL. Il définit également une valeur pour la sortie de l'opération. | expression | = expression |
^ (OU exclusif au niveau du bit) | Utilisé pour effectuer une opération OU exclusive au niveau du bit entre deux valeurs entières. | expression ^ expression |
^ = (Affectation OU exclusive au niveau du bit) | Utilisé pour effectuer une opération OU exclusive au niveau du bit entre deux valeurs entières. Il définit également une valeur pour la sortie de l'opération. | expression ^ = expression |
~ (PAS au niveau du bit) | Utilisé pour effectuer une opération NOT logique au niveau du bit sur une valeur entière. | ~ expression |
Opérateurs de comparaison
Opérateur | Sens | Syntaxe |
= | Égal à | expression = expression |
> | Plus grand que | expression> expression |
< | Moins que | expression |
> = | Plus grand ou égal à | expression> = expression |
<= | Inférieur ou égal à | expression<= expression |
Pas égal à | expression d'expression | |
! = | Pas égal à | expression! = expression |
!< | Pas moins que | expression ! |
!> | Pas plus grand que | expression!> expression |
Opérateurs composés
Opérateur | Sens | Syntaxe |
+ = | Utilisé pour ajouter de la valeur à la valeur d'origine et définir la valeur d'origine sur le résultat. | expression + = expression |
- = | Utilisé pour soustraire une valeur de la valeur d'origine et définir la valeur d'origine sur le résultat. | expression - = expression |
* = | Utilisé pour multiplier la valeur par la valeur d'origine et définir la valeur d'origine sur le résultat. | expression * = expression |
/ = | Utilisé pour diviser une valeur de la valeur d'origine et définir la valeur d'origine sur le résultat. | expression / = expression |
% = | Utilisé pour diviser une valeur de la valeur d'origine et définir la valeur d'origine sur le résultat. | expression% = expression |
& = | Utilisé pour effectuer une opération AND au niveau du bit et définir la valeur d'origine sur le résultat. | expression & = expression |
^ = | Utilisé pour effectuer une opération OU exclusive au niveau du bit et définir la valeur d'origine sur le résultat. | expression ^ = expression |
| = | Utilisé pour effectuer une opération OR au niveau du bit et définir la valeur d'origine sur le résultat. | expression | = expression |
Opérateurs logiques
Opérateur | Sens | Syntaxe |
TOUT | Renvoie TRUE si tous les ensembles de comparaisons sont TRUE. | expression_calaire! = TOUT (sous-requête) |
ET | Renvoie TRUE si les deux expressions sont TRUE. | expression_booléenne ET expression_booléenne |
TOUT | Renvoie TRUE si l'un des éléments d'un ensemble de comparaisons est VRAI. | expression_calaire! = {ANY} (sous-requête) |
ENTRE | Renvoie TRUE si un opérande est compris dans une plage. | sampleexpression [NOT] BETWEEN beginxpression AND endexpression |
EXISTE | Renvoie TRUE si une sous-requête contient des lignes. | EXISTS (sous-requête) |
DANS | Renvoie TRUE si un opérande est égal à l'une d'une liste d'expressions. | test_expression [NOT] IN (sous-requête | expression [,… n]) |
Renvoie TRUE si un opérande correspond à un modèle. | match_expression [NOT] LIKE pattern [ESCAPE escape_character] | |
NE PAS | Inverse la valeur de tout opérateur booléen. | [NOT] expression_booléenne |
OU | Renvoie TRUE si l'une des expressions booléennes est TRUE. | expression_booléenne OU expression_booléenne |
CERTAINS | Renvoie TRUE si une partie d'un ensemble de comparaisons est TRUE. | expression_calaire<= { SOME} ( subquery ) |
Opérateurs de résolution de portée
Opérateur | Sens | Exemple |
:: | Fournit un accès aux membres statiques d'un type de données composé. Les types de données composés sont les types de données qui contiennent plusieurs méthodes et types de données simples. Types de données composés Ils incluent les types CLR intégrés et les types définis par l'utilisateur (UDT) SQLCLR personnalisés. | DECLARE @hid hierarchyid SELECT @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString () |
Définir les opérateurs
Il existe principalement trois opérations d'ensemble:SYNDICAT,COUPER,MOINS. Vous pouvez vous référer à l'image ci-dessous pour comprendre les opérations définies dans SQL. Reportez-vous à l'image ci-dessous:
Opérateur | Sens | Syntaxe |
SYNDICAT | L'opérateur UNION est utilisé pour combiner le jeu de résultats d'au moins deux instructions SELECT. | SELECT ColumnName (s) FROM Table1 SYNDICAT SELECT ColumnName (s) FROM Table2 |
COUPER | La clause INTERSECT est utilisée pour combiner deuxSÉLECTIONNERet retournent l'intersection des ensembles de données des deux instructions SELECT. | SELECT Colonne1, Colonne2…. FROM TableName WHERE Condition COUPER SELECT Colonne1, Colonne2…. FROM TableName WHERE Condition |
SAUF | L'opérateur EXCEPT renvoie les tuples qui sont retournés par la première opération SELECT et ne sont pas retournés par la deuxième opération SELECT. | SELECT ColumnName FROM TableName SAUF SELECT ColumnName FROM TableName |
Opérateurs de chaîne
Opérateur | Sens | Syntaxe / Exemple |
+ (Concaténation de chaînes) | Concatène au moins deux chaînes binaires ou de caractères, des colonnes ou une combinaison de chaînes et de noms de colonnes en une seule expression | expression + expression |
+ = (Concaténation de chaînes) | Utilisé pour concaténer deux chaînes et définit la chaîne sur le résultat de l'opération. | expression + = expression |
% (Caractères génériques à faire correspondre) | Utilisé pour faire correspondre n'importe quelle chaîne de zéro caractère ou plus. | Exemple: 'sample%' |
[] (Caractères génériques à associer) | Utilisé pour faire correspondre un seul caractère dans la plage spécifiée ou l'ensemble spécifié entre crochets []. | Exemple: m [n-z]% ’ |
[^] (Caractères génériques correspondants) | Utilisé pour faire correspondre un seul caractère qui n'est pas dans la plage ou l'ensemble spécifié entre les crochets. | Exemple: 'Al [^ a]%' |
_ (Caractères génériques à associer) | Utilisé pour faire correspondre un seul caractère dans une opération de comparaison de chaînes | test_expression [NOT] IN (sous-requête | expression [,… n]) |
Agrégat Les fonctions
Le différent fonctions d'agrégation pris en charge par SQL Server sont les suivants:
Fonction | La description | Syntaxe | Exemple |
SOMME() | Utilisé pour renvoyer la somme d'un groupe de valeurs. | SELECT SUM (ColumnName) FROM TableName | SELECT SUM (points) FROM StudentsInfo |
COMPTER() | Renvoie le nombre de lignes basé sur une condition ou sans condition. | SELECT COUNT (ColumnName) FROM TableName WHERE Condition | SELECT COUNT (StudentID) FROM StudentsInfo |
AVG () | Utilisé pour calculer la valeur moyenne d'une colonne numérique. | SELECT AVG (ColumnName) FROM TableName | SÉLECTIONNER MOYENNE (points) DE StudentInfo |
MIN () | Cette fonction renvoie la valeur minimale d'une colonne. | SELECT MIN (ColumnName) FROM TableName | SELECT MIN (points) FROM StudentsInfo |
MAX () | Renvoie une valeur maximale d'une colonne. | SELECT MAX (ColumnName) FROM TableName | SÉLECTIONNEZ MAX (points) dans StudentsInfo |
PREMIER() | Utilisé pour renvoyer la première valeur de la colonne. | SELECT FIRST (ColumnName) FROM TableName | CHOISISSEZ EN PREMIER (points) DE StudentsInfo |
DERNIER() | Cette fonction renvoie la dernière valeur de la colonne. | SELECT LAST (ColumnName) FROM TableName | SÉLECTIONNER LE DERNIER (points) DE StudentsInfo |
Fonctions définies par l'utilisateur
Microsoft SQL Server permet aux utilisateurs de créer des fonctions définies par l'utilisateur qui sont des routines. Ces routines acceptent des paramètres, peuvent effectuer des actions simples à complexes et renvoyer le résultat de cette action particulière sous forme de valeur. Ici, la valeur renvoyée peut être une valeur scalaire unique ou un jeu de résultats complet.
Vous pouvez utiliser des fonctions définies par l'utilisateur pour:
- Autoriser la programmation modulaire
- Réduisez le trafic réseau
- Permettre une exécution plus rapide des requêtes
En outre, vous pouvez créer différents types de fonctions définies par l'utilisateur. Elles sont:
- Fonctions scalaires: Habituérenvoie une seule valeur de données du type défini dans la clause RETURNS.
- Fonctions de table: Habituéretourner untableType de données.
- Fonctions système: Diverses fonctions système sont fournies par SQL Server pour effectuer différentes opérations.
Eh bien, outre les fonctions définies par l'utilisateur, il existe un tas de fonctions intégrées dans SQL Server qui peuvent être utilisées pour effectuer une variété de tâches. En poursuivant cet article sur le didacticiel SQL Server, voyons maintenant ce que sont les requêtes imbriquées.
Requêtes imbriquées
Requêtes imbriquées sont les requêtes qui ont une requête externe et une sous-requête interne. Donc, fondamentalement, la sous-requête est une requête qui est imbriquée dans une autre requête telle que SELECT, INSERT, UPDATE ou DELETE. Reportez-vous à l'image ci-dessous:
Ensuite, dans ce didacticiel SQL Server, laissez-nous comprendre les différents types de jointures dans SQL.
Rejoint
sont utilisés pour combiner des tuples de deux tables ou plus, en fonction d'une colonne liée entre les tables. Il existe quatre types de jointures:
- JOINTURE INTERNE: Renvoie les enregistrements qui ont des valeurs correspondantes dans les deux tables.
- JOINT GAUCHE: Renvoie les enregistrements de la table de gauche, ainsi que les enregistrements qui satisfont à la condition de la table de droite.
- JOINDRE DROIT: Renvoie les enregistrements de la table de droite, ainsi que les enregistrements qui satisfont à la condition de la table de gauche.
- INSCRIPTION COMPLÈTE: Renvoie les enregistrements qui ont une correspondance dans la table de gauche ou de droite.
Considérez le tableau suivant avec le tableau StudentsInfo pour comprendre la syntaxe des jointures.
SubjectID | Carte d'étudiant | Nom du sujet |
dix | dix | Mathématiques |
2 | Onze | La physique |
3 | 12 | Chimie |
JOINTURE INTERNE
Syntaxe
SELECT ColumnName (s) FROM Table1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Exemple
SELECT Subjects.SubjectID, StudentsInfo.StudentName FROM Subjects INNER JOIN StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID
JOINT GAUCHE
Syntaxe
SELECT ColumnName (s) FROM Table1 JOINT GAUCHE Table2 ON Table1.ColumnName = Table2.ColumnName
Exemple
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo LEFT JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
JOINDRE DROIT
Syntaxe
SELECT ColumnName (s) FROM Table1 RIGHT JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Exemple
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo RIGHT JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
REJOINDRE COMPLET
Syntaxe
SELECT ColumnName (s) FROM Table1 FULL OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Exemple
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo FULL OUTER JOIN Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
Ensuite, dans cet article sur le didacticiel SQL Server, laissez-nous comprendre les différents types de boucles pris en charge par SQL Server.
Boucles
Les différentes commandes de contrôle de flux sont les suivantes:
Discutons chacun d'eux un par un.
BEGIN..END
Ces mots clés sont utilisés pour entourer une série d'instructions SQL. Ensuite, ce groupe d'instructions SQL peut être exécuté.
Syntaxe
Instruction BEGINBlock END
PAUSE
Cette instruction est utilisée pour quitter la boucle WHILE actuelle. Dans le cas où la boucle WHILE actuelle est imbriquée dans une autre boucle, l'instruction BREAK quitte uniquement la boucle actuelle et le contrôle est passé à l'instruction suivante dans la boucle actuelle. L'instruction BREAK est généralement utilisée dans une instruction IF.
Syntaxe
PAUSE
CONTINUER
L'instruction CONTINUE est utilisée pour redémarrer une boucle WHILE. Ainsi, toutes les instructions après le mot-clé CONTINUE seront ignorées.
Syntaxe
java comment l'utiliser
CONTINUER
Ici, Label est le point après lequel le traitement commence si un GOTO est ciblé sur cette étiquette particulière.
ALLER À
Utilisé pour modifier le flux d'exécution vers une étiquette. Les instructions écrites après le mot-clé GOTO sont ignorées et le traitement se poursuit au niveau de l'étiquette.
Syntaxe
Définir le libellé: Libellé: Modifier l'exécution: Libellé GOTO
Ici, Label est le point après lequel le traitement commence si un GOTO est ciblé sur cette étiquette particulière.
SINON
Comme tout autre langage de programmation, l'instruction If-else de SQL Server teste la condition et si la condition est fausse, l'instruction «else» est exécutée.
Syntaxe
IF BooleanExpression StatementBlock [ELSE StatementBlock]
REVENIR
Utilisé pour quitter sans condition une requête ou une procédure. Ainsi, les instructions écrites après la clause RETURN ne sont pas exécutées.
Syntaxe
RETURN [IntegerExpression]
Ici, une valeur entière est renvoyée.
ATTENDRE
Le flux de contrôle WAITFOR est utilisé pour bloquer l'exécution d'une procédure stockée, d'une transaction ou d'un lot jusqu'à ce qu'une instruction spécifique soit modifiée, retourne au moins une ligne ou qu'un intervalle de temps ou de temps spécifié s'écoule.
Syntaxe
WAITFOR (GetConversionGroupStatement)] [, timeout TIMEOUT]
où,
- RETARD - Période de temps qui doit s'écouler
- TimeToPass - Ppériode d'attente
- TEMPS - Laheure à laquelle la procédure stockée, la transaction ou le lot s'exécute.
- TimeToExecute - Laheure à laquelle l'instruction WAITFOR se termine.
- RecieveStatement - Àinstruction RECEIVE valide.
- GetConversionGroupStatement - Àinstruction GET CONVERSATION GROUP valide.
- Timeout TIMEOUT - Spécifie la durée, en millisecondes, à attendre qu'un message arrive dans la file d'attente.
TANDIS QUE
Cette boucle est utilisée pour définir une condition pour l'exécution répétée d'une instruction SQL particulière ou d'un bloc d'instructions SQL. Les instructions sont exécutées tant que la condition mentionnée par l'utilisateur est TRUE. Dès que la condition échoue, la boucle s'arrête de s'exécuter.
Syntaxe
WHILE BooleanExpression StatementBlock
Maintenant que vous connaissez les commandes DML, passons à notre section suivantedans cet article sur le didacticiel SQL, c'est-à-dire les commandes DCL.
Commandes du langage de contrôle des données (DCL)
Cette section du didacticiel SQL Server vous donnera une idée de la commande utilisée pour appliquer la sécurité de la base de données dans plusieurs environnements de base de données utilisateur. Les commandes sont les suivantes:
SUBVENTION
La commande GRANT est utilisée pour fournir un accès ou des privilèges sur la base de données et ses objets aux utilisateurs.
Syntaxe
GRANT PrivilegeName ON ObjectName TO RoleName [AVEC GRANT OPTION]
où,
- PrivilegeName - Le privilège / droit / accès est-il accordé à l'utilisateur.
- ObjectName - Nom d'un objet de base de données comme TABLE / VIEW / STORED PROC.
- Nom d'utilisateur - Nom de l'utilisateur qui a accès / droits / privilèges.
- PUBLIQUE - Accorder des droits d'accès à tous les utilisateurs.
- Nom de rôle - Le nom d'un ensemble de privilèges regroupés.
- AVEC OPTION DE SUBVENTION - Donner à l'utilisateur l'accès pour accorder des droits à d'autres utilisateurs.
Exemple
- Pour accorder l'autorisation SELECT à la table StudentsInfo à l'utilisateur1 GRANT SELECT ON StudentsInfo TO user1
RÉVOQUER
La commande REVOKE est utilisée pour retirer les privilèges d'accès de l'utilisateur donnés à l'aide de la commande GRANT.
Syntaxe
REVOKE PrivilegeName ON ObjectName FROM PUBLIC
Exemple
- Pour révoquer l'autorisation accordée à l'utilisateur1 REVOKE SELECT ON StudentsInfo TO user1
Dans ce didacticiel SQL Server, nous allons comprendre comment créer et utiliser des procédures stockées.
Procédures stockées
Procédures stockées sont des unités réutilisables qui encapsulent une logique métier spécifique de l'application. Il s'agit donc d'un groupe d'instructions SQL et de logique, compilés et stockés ensemble pour effectuer une tâche spécifique.
Syntaxe
CREATE [OR REPLACE] PROCEDURE nom_procédure [(nom_paramètre [IN | OUT | IN OUT] type [])] IS BEGIN [section_déclaration] section_exécutable // instruction SQL utilisée dans la procédure stockée END GO
Exemple
--Créez une procédure qui renverra un nom d'étudiant lorsque StudentId est donné comme paramètre d'entrée à la procédure stockée Create PROCEDURE GetStudentName (@StudentId INT, --Input parameter, @StudName VARCHAR (50) OUT --Output parameter, AS BEGIN SELECT @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END
Étapes à exécuter:
- Déclarer @StudName comme nvarchar (50)
- EXEC GetStudentName 01, sortie @StudName
- SÉLECTIONNEZ @StudName
La procédure ci-dessus renvoie le nom d'un élève particulier,en donnant cet identifiant d'étudiant comme entrée. Ensuite, dans ce didacticiel SQL Server, laissez-nous comprendre les commandes du langage de contrôle des transactions.
Commandes de langage de contrôle des transactions (TCL)
Cette section du didacticiel SQL Server vous donnera un aperçu des commandes utilisées pour gérer les transactions dans la base de données.Les commandes sont les suivantes:
COMMETTRE
La commande COMMIT est utilisée pour enregistrer la transaction dans la base de données.
Syntaxe
COMMETTRE
RETOUR EN ARRIERE
La commande ROLLBACK est utilisée pour restaurer la base de données au dernier état validé.
Syntaxe
RETOUR EN ARRIERE
REMARQUE: Lorsque vous utilisez ROLLBACK avec SAVEPOINT, vous pouvez accéder directement à un point de sauvegarde dans une transaction en cours. Syntaxe: ROLLBACK TO SavepointName
SAVEPOINT
La commande SAVEPOINT permet de sauvegarder temporairement une transaction. Donc, si vous souhaitez revenir à un point quelconque, vous pouvez enregistrer ce point en tant que «SAVEPOINT».
Syntaxe
SAVEPOINT SAVEPOINTNAME
Considérez le tableau ci-dessous pour comprendre le fonctionnement des transactions dans la base de données.
Carte d'étudiant | Nom d'étudiant |
un | Rohit |
2 | Suhana |
3 | Ashish |
4 | Prerna |
Maintenant, utilisez le ci-dessous pour comprendre les transactions dans la base de données.
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 * DE StudentTable
Ensuite, dans cet article sur le didacticiel SQL Server, nous allons comprendre comment gérer les exceptions dans Transact-SQL.
Gestion des exceptions
Il existe deux types d'exceptions, à savoir les exceptions définies par le système et les exceptions définies par l'utilisateur. Comme son nom l'indique, la gestion des exceptions est un processus par lequel un utilisateur peut gérer les exceptions générées. Pour gérer les exceptions, vous devez comprendre les instructions de flux de contrôle suivantes:
JETER
Cette clause est utilisée pour lever une exception et transfère l'exécution vers un bloc CATCH d'une construction TRY… CATCH.
Syntaxe
THROW [ErrorNumber, @localvariable, State] []
où,
- ErrorNumber - Àconstante ou variable qui représente l'exception.
- Message - Àvariable ou chaîne décrivant l'exception.
- Etat -Une constante ou une variable entre 0 et 255 qui indique l'état à associer au message.
THROW 51000, 'L'enregistrement n'existe pas.', 1
ESSAYEZ..CATCH
Utilisé pour implémenter la gestion des exceptions dans Transact-SQL. Un groupe d'instructions peut être inclus dans le bloc TRY. En cas d'erreur dans le bloc TRY, le contrôle est passé à un autre groupe d'instructions inclus dans un bloc CATCH.
Syntaxe
BEGIN TRY StatementBlock END TRY BEGIN CATCH [StatementBlock] END CATCH []
BEGIN TRY SELECT * FROM StudentsInfo END TRY BEGIN CATCH SELECT ERROR_NUMBER () AS ErNum, ERROR_MESSAGE () AS ErMsg END CATCH
DANS Avec cela, nous arrivons à la fin de cet article sur le didacticiel SQL Server. J'espère que vous avez apprécié la lecture de cet article sur le didacticiel SQL Server pour les débutants.je Si vous souhaitez suivre une formation structurée sur MySQL, consultez notre qui s'accompagne d'une formation en direct animée par un instructeur et d'une expérience de projet réelle. Cette formation vous aidera à comprendre MySQL en profondeur et vous aidera à maîtriser le sujet. Vous avez une question pour nous? Veuillez le mentionner dans la section des commentaires de ' Tutoriel SQL Server »Et je vous répondrai.