Database
 sql >> Base de données >  >> RDS >> Database

Types de commandes SQL

Le langage de requête structuré est utilisé pour traiter les données structurées. Les données qui sont stockées sous forme de tableaux sont des données structurées. Ces commandes SQL stockent des enregistrements ou des données dans la table et sont également utilisées pour extraire les enregistrements des tables stockées. Il existe quatre types de commandes de langage de requête structuré :

  1. Commandes du langage de définition de données.
  2. Commandes du langage de manipulation de données.
  3. Commandes du langage de contrôle des données.
  4. Commandes du langage de contrôle des transactions.

Commandes du langage de définition de données

DDL est l'abréviation de Data Definition Language. Les commandes du langage de définition de données sont utilisées pour gérer la structure, c'est-à-dire la table ou la relation dans laquelle nos enregistrements ou données sont stockés. Les commandes du langage de définition de données sont utilisées pour créer, supprimer et modifier la table. Les commandes du langage de définition de données sont :

  1. Commande CRÉER.
  2. Commande ALTER.
  3. Commande DROP.
  4. Commande TRUNCATE.

Commandes CRÉER : Dans le langage de requête structuré, nous stockons les données dans la table et pour créer une nouvelle table ou base de données, nous utilisons la commande CREATE des commandes du langage de définition de données. Ci-dessous la syntaxe pour créer une base de données :

CREATE DATABASE DATABASE_NAME;

Pour des exemples,

  • Écrivez une requête pour créer une nouvelle base de données suivie du nom de la base de données Company.
CREATE DATABASE COMPANY;	

Pour vérifier si une base de données Société est créée, nous utiliserons la requête suivante :

SHOW DATABASES; 
Base de données
entreprise
employé
information_schema
mysql
performance_schema
phpmyadmin

Le résultat ci-dessus indique que nous avons créé avec succès la Société Base de données.

  • Écrivez une requête pour créer une nouvelle table :

Nous allons créer une nouvelle table d'employés au sein de la Société Base de données. Nous devons sélectionner la base de données de l'entreprise.

CREATE TABLE TABLE_NAME(COLUMN_NAME1 DATATYPE(COLUMN SIZE), COLUMN_NAME2 DATATYPE (COLUMN SIZE),COLUMN_NAME3 DATATYPE (COLUMN SIZE));

Pour sélectionner la base de données de l'entreprise, nous utiliserons la requête suivante :

USE COMPANY;

Maintenant, nous sélectionnons Company comme base de données ; nous allons exécuter la requête CREATE TABLE pour créer une table :

CREATE TABLE EMPLOYEES (EMPLOYEE INT PRIMARY KEY, FIRST_NAME VARCHAR (20), LAST_NAME VARCHAR (20), SALARY INT, CITY VARCHAR (20) );

Nous avons créé le nom de table Employés en utilisant la requête CREATE TABLE.

Pour vérifier si la table Employés est créée, nous allons utiliser la requête suivante :

SHOW TABLES;
Tables_in_company
employés

Le résultat ci-dessus indique que nous avons créé avec succès la table "Employés".

Nous allons créer une autre table en utilisant CREATE TABLE.

CREATE TABLE DEPARTMENT (DEPARTMENT INT PRIMARY KEY, DEPARTMENT_NAME VARCHAR (20));

Nous avons créé le nom de table 'Department' à l'aide de la requête CREATE TABLE.

Pour vérifier si la table Department est créée, nous allons utiliser la requête suivante :

SHOW TABLES;  
Tables_in_company
employés du service

Le résultat ci-dessus indique que nous avons créé avec succès la table "Employés".

Commande ALTER : Dans le langage de requête structuré, chaque fois que nous voulons modifier le schéma ou la structure de la table, nous utiliserons la commande ALTER de la commande Data Definition Language. La commande ALTER est utilisée pour modifier le schéma de la table en ajoutant une nouvelle colonne, en supprimant une colonne existante de la table, etc. Voici la syntaxe de la commande ALTER pour ajouter une nouvelle colonne :

ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATATYPE (COLUMN SIZE);

Syntaxe de la commande ALTER pour supprimer une colonne existante :

ALTER TABLE TABLE-NAME DROP COLUMN COLUMN_NAME;

Syntaxe de la commande ALTER pour renommer la colonne de la table existante :

ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN-NAME TO NEW_COLUMN_NAME;

Par exemple,

  • Écrivez une requête pour ajouter une nouvelle colonne dans la table Employés :
ALTER TABLE EMPLOYEES ADD DEPARTMENT VARCHAR (20);

Ici, nous avons exécuté la commande ALTER TABLE sur la table Employees suivie du mot-clé ADD, ce qui signifie ajouter une colonne avec le nom de colonne Department, le type de données VARCHAR et la taille de colonne 20. La requête ci-dessus indique que nous avons ajouté une nouvelle colonne nommée ' Department' avec le type de données VARCHAR et la taille de la colonne est de 20.

Pour vérifier si une nouvelle colonne est ajoutée à la table Employés, nous allons utiliser la commande DESC sur la table des employés.

DESC EMPLOYEES; 
Champ Tapez Nul Clé Par défaut Extra
ID EMPLOYEE int(11) NON PRI NULL
FIRST_NAME varchar(20) OUI NULL
LAST_NAME varchar(20) OUI NULL
SALAIRE int(11) OUI NULL
VILLE varchar(20) OUI NULL
DÉPARTEMENT varchar(20) OUI NULL

Le résultat ci-dessus vérifie qu'une nouvelle colonne a bien été ajoutée à la table de l'employé.

Commande DROP : La commande DROP dans le langage de requête structuré est utilisée pour supprimer la table et le schéma de table de la base de données. Voici la syntaxe de la commande DROP ;

DROP TABLE TABLE_NAME;

Écrivez une requête pour supprimer la table Department de la base de données des employés.

DROP TABLE DEPARTMENT;

Ici, nous avons exécuté la requête DROP TABLE sur la table Department.

Pour vérifier si la table Department est supprimée, nous utiliserons la requête suivante :

SHOW TABLES;  
Tables_in_company
Employés

Le résultat ci-dessus indique que nous avons supprimé avec succès la table Department de la base de données de l'entreprise.

Commande TRUNCATE : La commande TRUNCATE dans le langage de requête structuré supprime toutes les données de la table sans perturber le schéma de la table dans la base de données. Vous trouverez ci-dessous la syntaxe de la commande TRUNCATE :

TRUNCATE TABLE TABLE_NAME  

Écrivez une requête pour supprimer tous les enregistrements de la table Employés.

Nous allons utiliser la requête SELECT pour récupérer d'abord les données de la table Employés, puis exécuter la requête TRUNCATE.

SELECT * FROM EMPLOYEES;
ID EMPLOYEE FIRST_NAME LAST_NAME SALAIRE VILLE DÉPARTEMENT
1 Vaibhav Sharma 65000 Noida Oracle
2 Shweta Sharma 55000 Jaipur Oracle
3 Sonali Mali 60000 Nashik FMW
TRUNCATE TABLE EMPLOYEES;

Ici, nous avons supprimé avec succès toutes les données de la table Employés. Maintenant, nous allons utiliser la requête SELECT sur la table Employés.

TRUNCATE TABLE EMPLOYEES;

Après avoir exécuté une requête SELECT sur la table Employés, le résultat affichera un ensemble vide. Cela signifie que nous avons réussi à supprimer l'intégralité du tableau.

Commande du langage de manipulation de données

DML signifie langage de manipulation de données. Les commandes du langage de manipulation de données dans le langage de requête structuré manipulent les données de la base de données. Les commandes du langage de manipulation de données sont utilisées pour récupérer des données, stocker des données, modifier les données et supprimer les données de la table existante.

Les commandes du langage de manipulation de données dans le langage de requête structuré sont les suivantes :

  1. Commande SELECT.
  2. Commande INSÉRER.
  3. Commande MISE À JOUR.
  4. Commande SUPPRIMER.

Tout d'abord, nous examinerons les commandes INSERT du langage de manipulation de données dans le langage de requête structuré. Après INSERT, nous allons passer à la commande SELECT.

Commande INSÉRER : La commande INSERT stocke des données ou des enregistrements dans la table de la base de données. La commande INSERT est la commande importante du langage de manipulation de données dans le langage de requête structuré.

Syntaxe de la commande INSERT Data Manipulation Language :

INSERT INTO TABLE_NAME VALUES (VALUE1, VALUE2, VALUE3, VALUE);

Cette syntaxe autorise tous les champs de la table. Si vous souhaitez insérer des valeurs pour les champs sélectionnés, utilisez la syntaxe ci-dessous :

INSERT INTO TABLE_NAME (COLUMN_NAME1, COLUMN_NAME2) VALUES (VALUE1, VALUE2);

La syntaxe ci-dessus est utilisée pour stocker les valeurs des champs sélectionnés de la table.

Par exemple,

Dans cet exemple, nous allons insérer un enregistrement pour tous les champs de la table.

Prenons la table Employés, qui est vide. Nous allons INSÉRER des enregistrements dans la table des étalons.

Nous allons maintenant stocker de nouveaux enregistrements dans la table Employés. Pour stocker les enregistrements dans la table, nous allons exécuter la commande INSERT suivante du langage de manipulation de données :

INSERT INTO EMPLOYEES VALUES (1001, 'VAIBHAVI', 'MISHRA', 65000, 'PUNE', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (1002, 'VAIBHAV', 'SHARMA', 60000, 'NOIDA', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (1003, 'NIKHIL', 'VANI', 50000, 'JAIPUR', 'FMW');
INSERT INTO EMPLOYEES VALUES (1004, 'ANUJA', 'WANRE', 55000, 'DELHI', 'FMW');
INSERT INTO EMPLOYEES VALUES (2001, 'PRACHI', 'SHARMA', 55500, 'CHANDIGARH', 'ORACLE');
INSERT INTO EMPLOYEES VALUES (2002, 'BHAVESH', 'JAIN', 65500, 'PUNE', 'ORACLE');

Nous avons inséré six enregistrements dans la table des employés.

Commande SELECT : Les commandes les plus importantes du langage de manipulation de données dans le SQL sont la commande SELECT. La commande SELECT est utilisée pour récupérer les données de la table spécifiée, et la commande SELECT est également utilisée pour récupérer les champs sélectionnés de la table à l'aide de la clause WHERE dans la requête.

Syntaxe de la commande de langage de manipulation de données SELECT

SELECT * FROM TABLE_NAME;

La syntaxe ci-dessus est utilisée pour récupérer toute la table.

SELECT COLUMN_NAME1, COLUMN_NAME2, COLUMN_NAMEN FROM TABLE_NAME;

La syntaxe ci-dessus consiste à récupérer tous les enregistrements de la colonne sélectionnée.

SELECT * FROM TABLE_NAME WHERE COLUMN_NAME;

La syntaxe ci-dessus est utilisée pour récupérer les enregistrements uniques à l'aide de la clause WHERE spécifiée par le nom de la colonne.

Par exemple, supposons que vous souhaitiez récupérer toutes les données de chaque colonne de la table :

SELECT * FROM EMPLOYEES;

Ce langage de requête structuré affiche les données suivantes de la table EMPLOYEES :

  • Récupérez toutes les données sur une seule ligne à l'aide de la clause WHERE spécifiée par le nom de la colonne dans la table :
SELECT * FROM EMPLOYEES WHERE SALARY > 55000;

La requête ci-dessus récupérera tous les enregistrements des employés dont le salaire est supérieur à 55 000.

Ce langage de requête structuré affiche les données suivantes de la table EMPLOYEES :

Commande MISE À JOUR : La commande UPDATE est une autre commande précieuse du langage de manipulation de données dans SQL. Les commandes UPDATE sont utilisées pour modifier les enregistrements d'une table de base de données.

Syntaxe de la commande UPDATE du langage de manipulation de données

UPDATE TABLE_NAME SET COLUMN_NAME1 = VALUES, COLUMN_NAME2 = VALUES WHERE CONDITION;

UPDATE, SET et WHERE sont les mots clés du langage de requête structuré.

Pour des exemples,

  • Cet exemple décrit comment modifier la valeur.

Considérons la table EMPLOYEES :

ID EMPLOYEE FIRST_NAME LAST_NAME SALAIRE VILLE DÉPARTEMENT
1001 VAIBHAVI MISHRA 65000 PUNE ORACLE
1002 VAIBHAV SHARMA 60000 NOÏDA ORACLE
1003 NIKHIL VANI 50000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGAR ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUCHIKA JAIN 50000 Bombay TEST
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 Bombay JAVA
4001 RAJESH GOUD 60500 Bombay TEST
  • Écrivez une requête pour modifier un enregistrement dont le nom de famille est "Jain" et définissez la valeur du service sur "FMW".
UPDATE TABLE_NAME SET COLUMN_NAME1 = VALUES, COLUMN_NAME2 = VALUES WHERE CONDITION;

Nous allons utiliser la requête SELECT sur la table Employés où le nom de famille est Jain pour vérifier si la valeur est modifiée ou non.

SELECT * FROM EMPLOYEES WHERE LAST_NAME = ‘JAIN’;

Ce langage de requête structuré affiche les données suivantes de la table EMPLOYEES :

Commande SUPPRIMER : DELETE est une commande de langage de manipulation de données utilisée pour supprimer les enregistrements de la table. Nous supprimons les enregistrements de la table à l'aide de la clause WHERE dans la requête.

Syntaxe de la commande UPDATE du langage de manipulation de données

DELETE FROM TABLE_NAME WHERE CONDITION;

Par exemple, considérons la table EMPLOYEES :

ID EMPLOYEE FIRST_NAME LAST_NAME SALAIRE VILLE DÉPARTEMENT
1001 VAIBHAVI MISHRA 65000 PUNE ORACLE
1002 VAIBHAV SHARMA 60000 NOÏDA ORACLE
1003 NIKHIL VANI 50000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGAR ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUCHIKA JAIN 50000 Bombay TEST
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 Bombay JAVA
4001 RAJESH GOUD 60500 Bombay TEST
  • Écrivez une requête pour supprimer les données dont le nom de la ville est "Mumbai" ;
DELETE FROM EMPLOYEES WHERE CITY = ‘MUMBAI’;

Nous allons utiliser la requête SELECT sur la table Employés pour vérifier si la valeur est modifiée ou non.

SELECT * FROM EMPLOYEES;

Ce langage de requête structuré affiche les données suivantes de la table EMPLOYEES :

ID EMPLOYEE FIRST_NAME LAST_NAME SALAIRE VILLE DÉPARTEMENT
1001 VAIBHAVI MISHRA 65000 PUNE ORACLE
1002 VAIBHAV SHARMA 60000 NOÏDA ORACLE
1003 NIKHIL VANI 50000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGAR ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA 50500 JAIPUR FMW

Le résultat ci-dessus montre que l'enregistrement avec City Mumbai a été supprimé avec succès.

Commandes du langage de contrôle des données

DCL est une abréviation de Data Control Language. Nous utilisons les commandes du langage de contrôle des données pour contrôler les privilèges d'accès aux enregistrements dans les tables du langage de requête structuré. À l'aide des commandes Data Control Language, nous pouvons accorder des privilèges aux utilisateurs autorisés uniquement pour accéder aux données placées dans les tables ou les bases de données.

L'utilisateur dispose de certains privilèges d'accès prédéfinis pour accéder aux données placées dans les tables pour un utilisateur particulier uniquement. À l'aide des commandes du langage de contrôle des données, nous pouvons attribuer des privilèges aux utilisateurs sur le langage de requête structuré ou la base de données ou reprendre (révoquer) les privilèges des utilisateurs. Il existe deux commandes de langage de contrôle des données :

  1. SUBVENTION : Les commandes Grant sont utilisées pour attribuer des privilèges d'accès aux utilisateurs pour les bases de données ou les tables.
  2. RÉVOCATION : Si nous pouvons accorder des privilèges d'accès aux utilisateurs. Dans ce cas, nous voulons reprendre les privilèges attribués à l'utilisateur pour les bases de données. Nous pouvons utiliser la commande REVOKE pour révoquer tous les privilèges attribués à l'utilisateur.

Langage de contrôle des transactions

Dans le langage de requête structuré, nous avons des commandes de langage de définition de données (DDL) et de langage de manipulation de données (DML) de la même manière que nous avons des commandes de langage de contrôle de transaction (TCL) dans le langage de requête structuré. Les commandes du langage de contrôle des transactions dans le langage de requête structuré sont Commit et Rollback .

Quelles que soient les commandes que nous avons exécutées, elles sont enveloppées dans une unité de travail connue sous le nom de transaction. Supposons que nous ayons exécuté une opération de mise à jour ou de suppression sur une table exécutée dans une transaction. Toutes les opérations ou commandes de DDL ou DML sont stockées ou exécutées dans une transaction. Pour enregistrer un tel DDL ou DML exécuté, nous devons exécuter la commande commit d'un langage de contrôle de transaction. Commit est utilisé pour enregistrer toutes les opérations que nous avons effectuées sur une table. Toute l'opération est enregistrée. Tout cela concerne Commit.

Maintenant, réfléchissez, et si nous voulions annuler les opérations que nous avons enregistrées à l'aide des commandes de validation ? Pouvons-nous alors annuler l'opération dans le langage de requête structuré ? Oui, nous pouvons annuler les opérations qui sont validées. Nous utiliserons une autre commande de Transaction Control Language pour annuler les opérations, et cette commande est Rollback. Nous utiliserons la commande Rollback pour annuler l'opération de validation dans le langage de requête structuré. Les commandes sous Transaction Control Language sont :

  1. Engager
  2. Rollback

Considérez les tables d'employés existantes qui ont les enregistrements suivants :

ID EMPLOYEE FIRST_NAME LAST_NAME SALAIRE VILLE DÉPARTEMENT
1001 VAIBHAVI MISHRA 65000 PUNE ORACLE
1002 VAIBHAV SHARMA 60000 NOÏDA ORACLE
1003 NIKHIL VANI 50000 JAIPUR FMW
2001 PRACHI SHARMA 55500 CHANDIGAR ORACLE
2002 BHAVESH JAIN 65500 PUNE FMW
2003 RUCHIKA JAIN 50000 Bombay TEST
3001 PRANOTI SHENDE 55500 PUNE JAVA
3002 ANUJA 50500 JAIPUR FMW
3003 DEEPAM JAUHARI 58500 Bombay JAVA
4001 RAJESH GOUD 60500 Bombay TEST

Nous pouvons utiliser la commande commit et Rollback sans démarrer les transactions, mais nous allons démarrer notre transaction en utilisant Start Transaction Commande pour les bonnes pratiques.

Commençons et voyons chaque exemple d'opération un par un.

Tout d'abord, nous allons désactiver l'auto-commit en attribuant une valeur d'auto-commit à 0

SET AUTOCOMMIT = 0;
  • Insérez de nouvelles valeurs dans les employés de la table existante, puis nous utiliserons la commande Commit :
INSERT INTO EMPLOYEES VALUES (2003, ‘RUCHIKA’, ‘JAIN’, 50000, ‘MUMBAI’, ‘TESTING’);

Nous allons utiliser la requête SELECT pour vérifier que les données sont insérées dans une table ou non :

SELECT * FROM EMPLOYEES WHERE EMPLOYEE = 2003;

Maintenant, pour enregistrer cette transaction, nous allons utiliser la commande commit.

COMMIT;

Les détails de l'identifiant de l'employé 2001 sont maintenant enregistrés. Il ne sera pas restauré à moins que nous ne le supprimions à l'aide de la commande Supprimer.

  • Nous supprimerons toutes les informations de l'ID d'employé 2003, puis nous annulerons la commande de suppression à l'aide de Rollback.
DELETE FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;

Nous utiliserons la requête SELECT pour vérifier que les données sont supprimées d'une table ou non :

SELECT * FROM EMPLOYEES;

L'ID d'employé 2003 est supprimé de la table. Maintenant, nous allons utiliser la commande Rollback pour annuler l'opération de suppression.

ROLLBACK;

Après avoir exécuté la commande Rollback, nous utiliserons à nouveau la requête SELECT pour vérifier que l'opération de suppression est Rollback ou non.

SELECT * FROM EMPLOYEES WHERE EMPLOYEE ID = 2003;