1_Theorie
Introduction à SQL
SQL (Structured Query Language) est un langage normalisé permettant d’exploiter et de manipuler des bases de données relationnelles.
Il fonctionne généralement via le port 3306/TCP (notamment pour MySQL/MariaDB).
SQL permet :
- de rechercher des données
- d’ajouter de nouvelles entrées
- de modifier des enregistrements
- de supprimer des données
Il constitue le langage principal pour interagir avec un SGBD (Système de Gestion de Base de Données).
Les trois modes d’utilisation de SQL
SQL peut être utilisé de plusieurs manières :
- Via un programme : un logiciel ou un script utilise une API (ODBC, JDBC…) pour envoyer des requêtes SQL au SGBD.
- Embedded SQL : des instructions SQL sont intégrées directement dans le code source d’un programme.
- Procédures stockées : des fonctions SQL (PL/SQL, SQL/PSM…) sont enregistrées dans la base et exécutées côté serveur.
- Cette technique est également utilisée pour les triggers (déclencheurs automatiques).
Les opérations CRUD
CRUD représente les quatre opérations fondamentales de manipulation des données :
- Create →
INSERT - Read →
SELECT - Update →
UPDATE - Delete →
DELETE
Ces opérations constituent la base de toute interaction avec une base relationnelle.
Structure d’une base de données
Une base de données relationnelle contient plusieurs niveaux d’organisation :
-
Catalogue
Niveau le plus haut. Contient un ou plusieurs schémas accessibles par un utilisateur ou une application. -
Schéma
Ensemble d’objets : tables, vues, index, procédures…
Un schéma appartient à un utilisateur et porte son nom. -
Table
Structure principale contenant les données sous forme de lignes (enregistrements) et colonnes (champs).
Chaque table traite un sujet particulier (clients, commandes…).
Illustrations :
BDD.png
BDD_2.png
Types de permissions SQL
- CREATE : créer des bases ou des tables
- SELECT : lire des données
- INSERT : ajouter des enregistrements
- UPDATE : modifier des données
- DELETE : supprimer des enregistrements
- DROP : supprimer des tables ou bases entières
Champs et types de données
Les champs (colonnes) définissent la structure d’une table.
Chaque champ possède un type de données :
- CHAR : chaîne de longueur fixe
- VARCHAR : chaîne de longueur variable
- TEXT : texte long
- NUMERIC / DECIMAL : nombre décimal
- INTEGER / INT : entier
- REAL : nombre flottant
- BOOLEAN : vrai/faux
- DATE : date
Quand utiliser backticks, guillemets ou rien ?
-
Backticks → noms de tables ou colonnes
SELECT * FROM `users`; -
Guillemets → valeurs de type texte (VARCHAR, TEXT)
WHERE name = "Alice" -
Sans guillemets → valeurs numériques ou booléennes
WHERE age = 30 WHERE active = true
Exemple de création d’une base et d’un utilisateur
CREATE DATABASE namedb;
GRANT ALL PRIVILEGES ON namedb.* TO name_adm@localhost IDENTIFIED BY "MotDePasseRobuste";
FLUSH PRIVILEGES;
EXIT