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

Tutoriel MySQL - Un guide du débutant pour apprendre MySQL

Tutoriel MySQL est le deuxième blog de cette série de blogs. Dans le blog précédentQu'est-ce que MySQL‘ , je vous ai présenté toutes les terminologies de base que vous deviez comprendre avant de vous lancer dans cette base de données relationnelle. Dans ce blog de MySQL, vous apprendrez toutes les opérations et commandes dont vous avez besoin pour explorer vos bases de données.

Les sujets abordés dans ce blog sont principalement divisés en 4 catégories :DDL, DML, DCL et TCL.

  • Le LDD (Data Definition Language) comprend les commandes utilisées pour définir la base de données. Exemple :CREATE, DROP, ALTER, TRUNCATE, COMMENT, RENAME.
  • Le LMD (Data Manipulation Language) commandes traitent de la manipulation des données présentes dans la base de données. Exemple :SÉLECTIONNER, INSÉRER, METTRE À JOUR, SUPPRIMER.
  • Le DCL Les commandes (Data Control Language) traitent des droits, permissions et autres contrôles du système de base de données. Exemple :GRANT, INVOKE
  • Le TCL (Transaction Control Language) comprend les commandes qui traitent principalement de la transaction de la base de données.

Outre les commandes, voici les autres sujets abordés dans le blog :

  • Différents types de clés dans la base de données
  • Contraintes utilisées dans la base de données
  • Requêtes imbriquées
  • Joints
  • Définir les opérations

Nous allons couvrir chacune de ces catégories une par une.

Dans ce blog sur le didacticiel MySQL, je vais considérer la base de données ci-dessous comme exemple, pour vous montrer comment écrire des commandes.

StudentID StudentName ParentName Adresse Ville Code postal Pays Frais
01 Haznitiz Emiz Dellys Road Afir 35110 Algérie 42145
02 Shubham Narayan MG Road Bangalore 560001 Inde 45672
03 Salomao Valentim Mayo Road Rio Claro 27460 Brésil 65432
04 Vishal Ramesh Queens Quay Toronto 416 Canada 23455
05 Parc Jimin Kim Tai Hyung Gangnam Street Séoul 135081 Corée du Sud 22353

Tableau 1 : Exemple de base de données - Tutoriel MySQL

Alors, commençons maintenant !

Abonnez-vous à notre chaîne YouTube pour recevoir de nouvelles mises à jour.. !

Tutoriel MySQL :Commandes de définition de données (DDL)

Cette section se compose de ces commandes, par lesquelles vous pouvez définir votre base de données. Les commandes sont :

  • CRÉER
  • ALTER
  • DÉPOSER
  • TRUNCATE
  • RENOMMER

Maintenant, avant de commencer avec les commandes, laissez-moi juste vous dire comment mentionner les commentaires dans MySQL.

Commentaires

Comme tout autre langage de programmation, il existe principalement deux types de commentaires.

  • Commentaires sur une seule ligne – Les commentaires sur une seule ligne commencent par '-'. Ainsi, tout texte mentionné après — jusqu'à la fin de la ligne sera ignoré par le compilateur.
Exemple :
--Select all:
SELECT * FROM Students;
  • Commentaires multi-lignes – Les commentaires multilignes commencent par /* et se terminent par */. Ainsi, tout texte mentionné entre /* et */ sera ignoré par le compilateur.
Exemple :
/*Select all the columns
of all the records
in the Students table:*/
SELECT * FROM Students;

Maintenant que vous savez comment mentionner les commentaires dans MySQL, continuons avec les commandes DDL.

CRÉER

L'instruction de création est utilisée pour créer un schéma, des tables ou un index.

La déclaration "CRÉER UN SCHÉMA"

Cette instruction est utilisée pour créer une base de données.

Syntaxe :
CREATE SCHEMA Database_Name;
Exemple :

CREATE SCHEMA StudentsInfo;

La déclaration "CRÉER UNE TABLE"

Cette instruction est utilisée pour créer une nouvelle table dans une base de données.

Syntaxe :
CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
   ....
);
Exemple :

CREATE TABLE Students
(
StudentID int,
StudentName varchar(255),
ParentName varchar(255),
Address varchar(255),
PostalCode int,
City varchar(255)
);

L'instruction "CREATE TABLE AS"

Cette instruction est utilisée pour créer une nouvelle table à partir d'une table existante. Ainsi, cette table obtient les mêmes définitions de colonne que celle de la table existante.

Syntaxe :
CREATE TABLE new_table_name AS
    SELECT column1, column2,...
    FROM existing_table_name
    WHERE ....;
Exemple :

CREATE TABLE ExampleTable AS
SELECT Studentname, Parentname
FROM Students;

MODIFIER

La commande ALTER est utilisée pour ajouter, modifier ou supprimer des contraintes ou des colonnes.

La déclaration "ALTER TABLE"

Cette instruction est utilisée pour ajouter, modifier ou supprimer des contraintes et des colonnes d'une table.

Syntaxe :
ALTER TABLE table_name
ADD column_name datatype;
Exemple :

ALTER TABLE Students
ADD DateOfBirth date;

DÉPOSER

La commande DROP est utilisée pour supprimer la base de données, les tables ou les colonnes.

La déclaration "DROP SCHEMA"

Cette instruction est utilisée pour supprimer le schéma complet.

Syntaxe :
DROP SCHEMA schema_name;
Exemple :

DROP SCHEMA StudentsInfo;

La déclaration "DOP TABLE"

Cette instruction est utilisée pour supprimer le tableau entier avec toutes ses valeurs.

Syntaxe :
DROP TABLE table_name;
Exemple :
DROP TABLE table_name;

TRUNCATE

Cette instruction est utilisée pour supprimer les données présentes dans un tableau, mais le tableau n'est pas supprimé.

Syntaxe :
TRUNCATE TABLE table_name;
Exemple :

TRUNCATE TABLE Students;

RENOMMER

Cette instruction est utilisée pour renommer une ou plusieurs tables.

Syntaxe :
RENAME TABLE 

     tbl_name TO new_tbl_name

     [, tbl_name2 TO new_tbl_name2] ...
Exemple :

RENAME Students TO Infostudents;

Maintenant, avant de passer aux sections suivantes, laissez-moi vous indiquer les différents types de clés et de contraintes que vous devez mentionner lors de la manipulation des bases de données.

Tutoriel MySQL : Différents types de clés dans la base de données

Il existe principalement 5 types de Clés, qui peuvent être mentionnés dans la base de données.

  • Clé du candidat – L'ensemble minimal d'attributs qui peuvent identifier de manière unique un tuple est appelé clé candidate. Une relation peut contenir plusieurs clés candidates, la clé étant soit une clé simple, soit une clé composite.
  • Super Clé – L'ensemble d'attributs qui peuvent identifier de manière unique un tuple est appelé Super Key. Ainsi, une clé candidate est une super clé, mais l'inverse n'est pas vrai.
  • Clé primaire – Un ensemble d'attributs qui peuvent être utilisés pour identifier de manière unique chaque tuple est également une clé primaire. Donc, s'il y a 3-4 clés candidates présentes dans une relation, alors parmi celles-ci, une peut être choisie comme clé primaire.
  • Clé alternative – La clé candidate autre que la clé primaire est appelée clé alternative.
  • Clé étrangère – Un attribut qui ne peut prendre que les valeurs présentes comme valeurs d'un autre attribut, est la clé étrangère de l'attribut auquel il se réfère.

Tutoriel MySQL : Contraintes utilisées dans la base de données

Reportez-vous à l'image ci-dessous pour connaître les contraintes utilisées dans la base de données.

Illustration 1 : Contraintes utilisées dans la base de données - Tutoriel MySQL

Maintenant que vous connaissez les différents types de clés et de contraintes, passons à la section suivante, à savoir les commandes de manipulation de données.

Vous voulez être un administrateur de base de données certifié ?

Tutoriel MySQL : Commandes de manipulation de données (DML)

Cette section se compose de ces commandes, par lesquelles vous pouvez manipuler votre base de données. Les commandes sont :

  • UTILISER
  • INSÉRER
  • MISE À JOUR
  • SUPPRIMER
  • SÉLECTIONNER

Outre ces commandes, il existe également d'autres opérateurs/fonctions de manipulation tels que :

  • OPÉRATEURS LOGIQUES
  • OPÉRATEURS ARITHMÉTIQUES, BITWISE, DE COMPARAISON ET COMPOSÉS
  • FONCTIONS D'AGRÉGATION
  • OPÉRATEURS SPÉCIAUX

UTILISER

L'instruction USE est utilisée pour mentionner quelle base de données doit être utilisée pour effectuer toutes les opérations.

Syntaxe :
USE Database_name;
Exemple :

USE StudentsInfo;

INSÉRER

Cette instruction est utilisée pour insérer de nouveaux enregistrements dans une table.

Syntaxe :

L'instruction INSERT INTO peut être écrite des deux manières suivantes :

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

--You need not mention the column names

INSERT INTO table_name
VALUES (value1, value2, value3, ...);
Exemple :

INSERT INTO Infostudents(StudentID, StudentName, ParentName, Address, City, PostalCode, Country)
VALUES ('06', 'Sanjana','Jagannath', 'Banjara Hills', 'Hyderabad', '500046', 'India');

INSERT INTO Infostudents
VALUES ('07', 'Shivantini','Praveen', 'Camel Street', 'Kolkata', '700096', 'India');

MISE À JOUR

Cette instruction est utilisée pour modifier les enregistrements existants dans une table.

Syntaxe :
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
Exemple :

UPDATE Infostudents
SET StudentName = 'Alfred', City= 'Frankfurt'
WHERE StudentID = 1;

SUPPRIMER

Cette instruction est utilisée pour supprimer des enregistrements existants dans une table.

Syntaxe :
DELETE FROM table_name
WHERE condition;
Exemple :

DELETE FROM Infostudents
WHERE StudentName='Salomao';

SÉLECTIONNER

Cette instruction est utilisée pour sélectionner des données dans une base de données et les données renvoyées sont stockées dans une table de résultats, appelée result-set .

Voici les deux manières d'utiliser cette instruction :

Syntaxe :
SELECT column1, column2, ...
FROM table_name;

--(*) is used to select all from the table

SELECT * FROM table_name;
Exemple :

SELECT StudentName, City FROM Infostudents;
SELECT * FROM Infostudents;

Outre le mot-clé SELECT individuel, nous verrons également les déclarations suivantes, qui sont utilisées avec le mot-clé SELECT :

  • DISTINCT
  • ORDER PAR
  • GROUPER PAR
  • Clause HAVING

La déclaration "SELECT DISTINCT"

Cette instruction est utilisée pour renvoyer uniquement des valeurs distinctes ou différentes. Ainsi, si vous avez une table avec des valeurs en double, vous pouvez utiliser cette instruction pour répertorier des valeurs distinctes.

Syntaxe :
SELECT DISTINCT column1, column2, ...
FROM table_name;
Exemple :

SELECT Country FROM Students;

L'instruction "ORDER BY"

Cette instruction est utilisée pour trier les résultats souhaités par ordre croissant ou décroissant. Par défaut, les résultats seraient triés par ordre croissant. Si vous souhaitez que les enregistrements du jeu de résultats soient classés par ordre décroissant, utilisez le DESC mot-clé.

Syntaxe :
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
Exemple :

SELECT * FROM Infostudents
ORDER BY Country;  

SELECT * FROM Infostudents
ORDER BY Country DESC;

SELECT * FROM Infostudents
ORDER BY Country, StudentName;

SELECT * FROM Infostudents
ORDER BY Country ASC, StudentName DESC;

La déclaration "GROUPER PAR"

Cette instruction est utilisée avec les fonctions d'agrégation pour regrouper le jeu de résultats par une ou plusieurs colonnes.

Syntaxe :
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);
Exemple :

SELECT COUNT(StudentID), Country
FROM Infostudents
GROUP BY Country
ORDER BY COUNT(StudentID) DESC;

L'énoncé de la clause "HAVING"

Depuis le mot-clé ne peut pas être utilisé avec les fonctions d'agrégation, la clause HAVING a été introduite.

Syntaxe :
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);
Exemple :

SELECT COUNT(StudentID), City
FROM Infostudents
GROUP BY City
HAVING COUNT(Fees) > 23000;

OPÉRATEURS LOGIQUES

Cet ensemble d'opérateurs se compose d'opérateurs logiques tels que ET/OU/NON.

ET OPÉRATEUR

L'opérateur AND est utilisé pour filtrer les enregistrements qui reposent sur plusieurs conditions. Cet opérateur affiche les enregistrements qui satisfont toutes les conditions séparées par AND et donnent la sortie TRUE.

Syntaxe :
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
Exemple :

SELECT * FROM Infostudents
WHERE Country='Brazil' AND City='Rio Claro';

OU OPÉRATEUR

L'opérateur OR affiche les enregistrements qui satisfont à l'une des conditions séparées par OR et donne la sortie TRUE.

Syntaxe :
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
Exemple :

SELECT * FROM Infostudents
WHERE City='Toronto' OR City='Seoul';

NON OPÉRATEUR

Cet opérateur affiche un enregistrement lorsque la ou les conditions ne sont PAS VRAIES.

Syntaxe :
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;
Exemple :

SELECT * FROM Infostudents
WHERE NOT Country='India';
--You can also combine all the above three operators and write a query like this:
SELECT * FROM Infostudents
WHERE Country='India' AND (City='Bangalore' OR City='Canada');

Intéressé à casser des entretiens pour l'administrateur de base de données ?

OPÉRATEURS ARITHMÉTIQUES, BITWISE, DE COMPARAISON ET COMPOSÉS

Reportez-vous à l'image ci-dessous.

Illustration 2 : Opérateurs arithmétiques, binaires, de comparaison et composés - Tutoriel MySQL

FONCTIONS D'AGRÉGATION

Cette section de l'article comprend les fonctions suivantes :

  • MIN()
  • MAX()
  • COUNT()
  • AVG()
  • SOMME()

Fonction MIN()

Cette fonction renvoie la plus petite valeur de la colonne sélectionnée dans un tableau.

Syntaxe :
SELECT MIN(column_name)
FROMtable_name
WHEREcondition;
Exemple :

SELECT MIN(StudentID) AS SmallestID
FROM Infostudents;

Fonction MAX()

Cette fonction renvoie la plus grande valeur de la colonne sélectionnée dans un tableau.

Syntaxe :
SELECT MAX(column_name)
FROM table_name
WHERE condition;
Exemple :

SELECT MAX(Fees) AS MaximumFees
FROM Infostudents;

Fonction COUNT()

Cette fonction renvoie le nombre de lignes qui correspondent aux critères spécifiés.

Syntaxe :
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
Exemple :

SELECT COUNT(StudentID)
FROM Infostudents;

Fonction AVG()

Cette fonction renvoie la valeur moyenne d'une colonne numérique que vous choisissez.

Syntaxe :
SELECT AVG(column_name)
FROM table_name
WHERE condition;
Exemple :

SELECT AVG(Fees)
FROM Infostudents;

Fonction SOMME()

Cette fonction renvoie la somme totale d'une colonne numérique que vous choisissez.

Syntaxe :
SELECT SUM(column_name)
FROM table_name
WHERE condition;
Exemple :

SELECT SUM(Fees)
FROM Infostudents;

OPÉRATEURS SPÉCIAUX

Cette section inclut les opérateurs suivants :

  • ENTRE
  • EST NULL
  • LIKE
  • IN
  • EXISTE
  • TOUS
  • TOUT

Opérateur ENTRE

Cet opérateur est un opérateur inclusif qui sélectionne des valeurs (nombres, textes ou dates) dans une plage donnée.

Syntaxe :
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
Exemple :

SELECT * FROM Infostudents
WHERE Fees BETWEEN 20000 AND 40000;

Opérateur IS NULL

Puisqu'il n'est pas possible de tester les valeurs NULL avec les opérateurs de comparaison (=, <,>), nous pouvons utiliser les opérateurs IS NULL et IS NOT NULL à la place.

Syntaxe :
--Syntax for IS NULL

SELECT column_names
FROM table_name
WHERE column_name IS NULL;

--Syntax for IS NOT NULL

SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;
Exemple :

SELECT StudentName, ParentName, Address FROM Infostudents
WHERE Address IS NULL;

SELECT StudentName, ParentName, Address FROM Infostudents
WHERE Address IS NOT NULL;

Opérateur LIKE

Cet opérateur est utilisé dans une clause WHERE pour rechercher un modèle spécifié dans une colonne d'une table.

Les deux caractères génériques mentionnés ci-dessous sont utilisés conjointement avec l'opérateur LIKE :

  •  % :le signe de pourcentage représente zéro, un ou plusieurs caractères
  • _ – Le trait de soulignement représente un seul caractère
Syntaxe :
SELECT column1, column2, ...
FROM table_name
WHERE column LIKE pattern;

Reportez-vous au tableau suivant pour les différents modèles que vous pouvez mentionner avec l'opérateur LIKE.

LIKE Operator Description
WHERE CustomerName LIKE ‘z% Recherche toutes les valeurs commençant par "z"
WHERE CustomerName LIKE ‘%z’ Recherche toutes les valeurs qui se terminent par "z"
WHERE CustomerName LIKE ‘%and%’ Recherche toutes les valeurs qui ont "et" dans n'importe quelle position
WHERE CustomerName LIKE ‘_s%’ Recherche toutes les valeurs qui ont "s" en deuxième position.
WHERE CustomerName LIKE 'd_%_%' Recherche toutes les valeurs commençant par "d" et contenant au moins 3 caractères
WHERE ContactName LIKE ‘j%l’ Recherche toutes les valeurs qui commencent par « j » et se terminent par « l »

Tableau 2 : Modèles mentionnés avec l'opérateur LIKE - Tutoriel MySQL

Exemple :

SELECT * FROM Infostudents
WHERE StudentName LIKE 'S%';

Opérateur IN

Il s'agit d'un opérateur abrégé pour plusieurs conditions OU qui vous permet de spécifier plusieurs valeurs dans une clause WHERE.

Syntaxe :
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
Exemple :

SELECT * FROM Infostudents
WHERE Country IN ('Algeria', 'India', 'Brazil');

Remarque : Vous pouvez également utiliser IN lors de l'écriture de requêtes imbriquées. Considérez la syntaxe ci-dessous :

Opérateur EXISTS

Cet opérateur est utilisé pour tester si un enregistrement existe ou non.

Syntaxe :
SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);
Exemple :

SELECT&nbsp;StudentName
FROM&nbsp;Infostudents
WHERE&nbsp;EXISTS&nbsp;(SELECT&nbsp;ParentName&nbsp;FROM&nbsp;Infostudents&nbsp;WHERE&nbsp;StudentId = 05&nbsp;AND&nbsp;Price <&nbsp;25000);

Opérateur ALL

Cet opérateur est utilisé avec une clause WHERE ou HAVING et renvoie true si toutes les valeurs de la sous-requête remplissent la condition.

Syntaxe :
SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
(SELECT column_name FROM table_name WHERE condition);
Exemple :

SELECT&nbsp;StudentName
FROM&nbsp;Infostudents
WHERE&nbsp;StudentID =&nbsp;ALL&nbsp;(SELECT&nbsp;StudentID&nbsp;FROM&nbsp;Infostudents&nbsp;WHERE&nbsp;Fees > 20000);

N'IMPORTE QUEL Opérateur

Similaire à l'opérateur ALL, l'opérateur ANY est également utilisé avec une clause WHERE ou HAVING et renvoie true si l'une des valeurs de la sous-requête satisfait à la condition.

Syntaxe :
SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
(SELECT column_name FROM table_name WHERE condition);
Exemple :

SELECT StudentName
FROM Infostudents
WHERE StudentID = ANY (SELECT SttudentID FROM Infostudents WHERE Fees BETWEEN 22000 AND 23000);

Maintenant que je vous ai beaucoup parlé des commandes DML, permettez-moi de vous parler brièvement des requêtes imbriquées, des jointures et des opérations d'ensemble.

Vous voulez savoir comment mettre en place une base de données relationnelle dans le cloud ?

Tutoriel MySQL : 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 imbriquée dans une autre requête telle que SELECT, INSERT, UPDATE ou DELETE. Reportez-vous à l'image ci-dessous :

Figure 3 : Représentation des requêtes imbriquées - Tutoriel MySQL

Tutoriel MySQL : Joints

JOINS sont utilisés pour combiner des lignes de deux tables ou plus, en fonction d'une colonne liée entre ces tables. Voici les types de jointures :

  • JOINTURE INTERNE : Cette jointure renvoie les enregistrements dont les valeurs correspondent dans les deux tables.
  • JOINTURE COMPLÈTE : Cette jointure renvoie tous les enregistrements qui ont une correspondance dans la table de gauche ou de droite.
  • JOINTURE GAUCHE : This join returns records from the left table, and also those records which satisfy the condition from the right table.
  • RIGHT JOIN: This join returns records from the right table, and also those records which satisfy the condition from the left table.

Refer to the image below.

Fig 4: Representation Of Joins – MySQL Tutorial

Let’s consider the below table apart from the Infostudents table, to understand the syntax of joins.

CourseID StudentID CourseName StartDate
1 10 DevOps 09-09-2018
2 11 Blockchain 07-04-2018
3 12 Python 08-06-2018

Table 3: Sample Database – MySQL Tutorial

INNER JOIN

Syntax:
SELECT column_name(s)
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;
Example:

SELECT Courses.CourseID, Infostudents.StudentName
FROM Courses
INNER JOIN Infostudents ON Courses.StudentID = Infostudents.StudentID;

FULL JOIN

Syntax:
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;
Example:

SELECT Infostudents.StudentName, Courses.CourseID
FROM Infostudents
FULL OUTER JOIN Orders ON Infostudents.StudentID=Orders.StudentID
ORDER BY Infostudents.StudentName;

LEFT JOIN

Syntax:
SELECT column_name(s)
FROM table1
LEFT JOIN table2 ON table1.column_name = table2.column_name;
Example:

SELECT Infostudents.StudentName, Courses.CourseID
FROM Infostudents
LEFT JOIN Courses ON Infostudents.CustomerID = Courses.StudentID
ORDER BY Infostudents.StudentName;

RIGHT JOIN

Syntax:
SELECT column_name(s)
FROM table1
RIGHT JOIN table2 ON table1.column_name = table2.column_name;
Example:

SELECT Courses.CourseID
FROM Courses
RIGHT JOIN Infostudents ON Courses.StudentID = Infostudents.StudentID 
ORDER BY Courses.CourseID;

MySQL Tutorial: Set Operations

There are mainly three set operations:UNION, INTERSECT, SET DIFFERENCE. You can refer to the image below to understand the set operations in SQL.

Now, that you guys know the DML commadsn. Let’s move onto our next section and see the DCL commands.

MySQL Tutorial: Data Control (DCL) Commands

This section consists of those commands which are used to control privileges in the database. The commands are:

  • GRANT
  • REVOKE

GRANT

This command is used to provide user access privileges or other privileges for the database.

Syntax:
GRANT privileges ON object TO user;
Example:
GRANT CREATE ANY TABLE TO localhost;

REVOKE

This command is used to withdraw user’s access privileges given by using the GRANT command.

Syntax:
REVOKE privileges ON object FROM user;
Example:

REVOKE INSERT ON *.* FROM Infostudents;

Now, let’s move on to the last section of this blog i.e. the TCL Commands.

MySQL Tutorial: Transaction Control (TCL) Commands

This section of commands mainly deals with the transaction of the database. The commands are:

  • COMMIT
  • ROLLBACK
  • SAVEPOINT
    • RELEASE SAVEPOINT
  • SET TRANSACTION

COMMIT

This command saves all the transactions to the database since the last COMMIT or ROLLBACK command.

Syntax:
COMMIT;
Example:

DELETE FROM Infostudents WHERE Fees = 42145;

COMMIT;

ROLLBACK

This command is used to undo transactions since the last COMMIT or ROLLBACK command was issued.

Syntax:
ROLLBACK;
Example:

DELETE FROM Infostudents WHERE Fees = 42145;

ROLLBACK;

SAVEPOINT

This command creates points within the groups of transactions in which to ROLLBACK. So, with this command, you can simply roll the transaction back to a certain point without rolling back the entire transaction.

Syntax:
SAVEPOINT SAVEPOINT_NAME; --Syntax for saving the SAVEPOINT

ROLLBACK TO SAVEPOINT_NAME; --Syntax for rolling back to the Savepoint command
Example:

SAVEPOINT SP1;

DELETE FROM Infostudents WHERE Fees = 42145;

SAVEPOINT SP2;

RELEASE SAVEPOINT

You can use this command to remove a SAVEPOINT that you have created.

Syntax:

RELEASE SAVEPOINT SAVEPOINT_NAME;

Example:

RELEASE SAVEPOINT SP2;

SET TRANSACTION

This command gives a name to the transaction.

Syntax:
SET TRANSACTION [ READ WRITE | READ ONLY ];

I hope you enjoyed reading this blog on MySQL Tutorial blog. We have seen the different commands that will help you write queries and play around with your databases.

Interested in learning more about MySQL?

If you wish to learn more about MySQL and get to know this open source relational database, then check out our MySQL DBA Certification Training which comes with instructor-led live training and real-life project experience. This training will help you understand MySQL in depth and help you achieve mastery over the subject.

Got a question for us? Please mention it in the comments section of ”MySQL Tutorial ” and I will get back to you.