SQL Syntaxe

SQL (langage de requête structuré) est un langage standard utilisé pour gérer et exploiter des bases de données relationnelles, y compris des fonctions telles que l'interrogation des données, l'insertion de données, la mise à jour de données, la suppression de données, et la création et la modification de la structure de la base de données.


Tables de base de données

Une base de données contient généralement une ou plusieurs tables. Chaque table possède un identifiant de nom (par exemple, "Websites"), et la table contient des enregistrements (lignes) avec des données.

Dans ce tutoriel, nous avons créé la table Websites dans la base de données EXAMPLE de MySQL pour stocker des enregistrements de sites Web.

Nous pouvons afficher les données de la table "Websites" avec la commande suivante :

mysql> use EXAMPLE;
Database changed

mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT * FROM Websites;
+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | Example      | http://www.example.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
+----+--------------+---------------------------+-------+---------+
5 rows in set (0.01 sec)

Explication

  • use EXAMPLE;La commande est utilisée pour sélectionner une base de données.
  • set names utf8;La commande est utilisée pour définir le jeu de caractères à utiliser.
  • SELECT * FROM Websites;Lire les informations de la table de données.
  • La table ci-dessus contient cinq enregistrements (chacun correspondant aux informations d'un site web) et 5 colonnes (id, name, url, alexa et country).

Instructions SQL

La plupart du travail que vous devez effectuer sur la base de données est réalisé par des instructions SQL.

L'instruction SQL suivante sélectionne tous les enregistrements de la table "Websites" :

Exemples

SELECT * FROM Websites;

Dans ce tutoriel, nous allons vous expliquer différentes instructions SQL.


N'oubliez pas...

  • SQL n'est pas sensible à la casse : SELECT est identique à select.

Point-virgule après les instructions SQL ?

Certains systèmes de bases de données exigent un point-virgule à la fin de chaque instruction SQL.

Le point-virgule est la méthode standard pour séparer chaque instruction SQL dans les systèmes de bases de données, afin que plusieurs instructions SQL puissent être exécutées dans la même requête envoyée au serveur.

Dans ce tutoriel, nous utiliserons un point-virgule à la fin de chaque instruction SQL.


Quelques-unes des commandes SQL les plus importantes

  • SELECT- Extraire des données de la base de données
  • UPDATE- Mettre à jour des données dans la base de données
  • DELETE- Supprimer des données de la base de données
  • INSERT INTO- Insérer de nouvelles données dans la base de données
  • CREATE DATABASE- Créer une nouvelle base de données
  • ALTER DATABASE- Modifier la base de données
  • CREATE TABLE- Créer une nouvelle table
  • ALTER TABLE- Modifier (altérer) les tables de la base de données
  • DROP TABLE- Supprimer une table
  • CREATE INDEX- Créer un index (clé de recherche)
  • DROP INDEX- Supprimer un index

Voici quelques instructions et syntaxes SQL couramment utilisées :

SELECT: Utilisé pour interroger les données de la base de données.

SELECT column_name(s)
FROM table_name
WHERE condition
ORDER BY column_name [ASC|DESC]
  • column_name(s): La colonne à interroger.
  • table_name: La table à interroger.
  • condition: Conditions de requête (facultatif).
  • ORDER BY: Méthode de tri,ASCindique l'ordre croissant,DESCindique l'ordre décroissant (facultatif).

INSERT INTO: Utilisé pour insérer de nouvelles données dans une table de base de données.

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...)
  • table_name: La table dans laquelle insérer des données.
  • column1, column2, ...: Les colonnes dans lesquelles insérer des données.
  • value1, value2, ...: Les valeurs correspondant aux colonnes.

UPDATE: Utilisé pour mettre à jour des données existantes dans une table de base de données.

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition
  • table_name: La table dans laquelle mettre à jour les données.
  • column1 = value1, column2 = value2, ...: Les colonnes à mettre à jour et leurs nouvelles valeurs.
  • condition: Conditions de mise à jour.

DELETE: Utilisé pour supprimer des données d'une table de base de données.

DELETE FROM table_name
WHERE condition
  • table_name: La table dans laquelle supprimer des données.
  • condition: Conditions de suppression.

CREATE TABLE: Utilisé pour créer une nouvelle table de base de données.

CREATE TABLE table_name (
    column1 data_type constraint,
    column2 data_type constraint,
    ...
)
  • table_name: Le nom de la table à créer.
  • column1, column2, ...: Les colonnes de la table.
  • data_type: Les types de données des colonnes (tels queINT、VARCHARetc.).
  • constraint: Les contraintes des colonnes (telles quePRIMARY KEY、NOT NULLetc.).

ALTER TABLE: Permet de modifier la structure d'une table de base de données existante.

ALTER TABLE table_name
ADD column_name data_type
  • table_name: La table à modifier.
  • column_name: La colonne à ajouter.
  • data_type: Le type de données de la colonne.

Ou :

ALTER TABLE table_name
DROP COLUMN column_name
  • column_name: La colonne à supprimer.

DROP TABLE: Permet de supprimer une table de base de données.

DROP TABLE table_name
  • table_name: La table à supprimer.

CREATE INDEX: Permet de créer un index pour accélérer les requêtes.

CREATE INDEX index_name
ON table_name (column_name)
  • index_name: Le nom de l'index.
  • column_name: La colonne à indexer.

DROP INDEX: Permet de supprimer un index.

DROP INDEX index_name
ON table_name
  • index_name: Le nom de l'index à supprimer.
  • table_name: La table dans laquelle se trouve l'index.

WHERE: Permet de spécifier des conditions de filtrage.

SELECT column_name(s)
FROM table_name
WHERE condition
  • condition: La condition de filtrage.

ORDER BY: Permet de trier l'ensemble de résultats.

SELECT column_name(s)
FROM table_name
ORDER BY column_name [ASC|DESC]
  • column_name: La colonne utilisée pour le tri.
  • ASC: Ordre croissant (par défaut).
  • DESC: Ordre décroissant.

GROUP BY: Permet de regrouper l'ensemble de résultats par une ou plusieurs colonnes.

SELECT column_name(s), aggregate_function(column_name)
FROM table_name
WHERE condition
GROUP BY column_name(s)
  • aggregate_function: Fonctions d'agrégation (telles que COUNT, SUM, AVG, etc.).

HAVING: Permet de filtrer l'ensemble de résultats regroupé.

SELECT column_name(s), aggregate_function(column_name)
FROM table_name
GROUP BY column_name(s)
HAVING condition
  • condition: La condition de filtrage.

JOIN: Utilisé pour combiner des enregistrements de deux tables ou plus.

SELECT column_name(s)
FROM table_name1
JOIN table_name2
ON table_name1.column_name = table_name2.column_name
  • JOIN: Peut être INNER JOIN, LEFT JOIN, RIGHT JOIN ou FULL JOIN.

DISTINCT: Utilisé pour renvoyer des valeurs uniques et distinctes.

SELECT DISTINCT column_name(s)
FROM table_name
  • column_name(s): La colonne à interroger.

Autres extensions