Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| info:bdd:basesql [2021/08/10 09:37] – [MySQL - Requêtes dans la console] phil | info:bdd:basesql [2025/06/19 19:29] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | [[info: | ||
| + | ===== BDDR - MySQL - Requêtes dans la console ===== | ||
| + | |||
| + | [Mise à jour le 8/3/2024] | ||
| + | |||
| + | * **Ressources** | ||
| + | * < | ||
| + | * < | ||
| + | * < | ||
| + | |||
| + | * **Lectures connexes** | ||
| + | * [[info: | ||
| + | * [[: | ||
| + | * [[: | ||
| + | |||
| + | * **Mots-clés** : SGBD, base, table, enregistrement, | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== 1. Introduction ==== | ||
| + | Une base de données peut être définie comme un moyen de stocker des informations de manière structurée. L’objectif d’une base de données et de permettre à des utilisateurs ou à des programmes de **partager des informations**. Grâce à un **système de gestion de base de données** (**SGBD((Un Système de Gestion de Base de Données est un logiciel qui permet de stocker des informations dans une base de données. ))**), il est possible d’ajouter des informations, | ||
| + | |||
| + | <callout type=" | ||
| + | Pour **tester des requêtes SQL avec l' | ||
| + | - Entrer le chemin vers mysql.exe dans les variables d' | ||
| + | - Se connecter avec la commande : **mysql -u root -p** (utilisateur //root// et pas de //mot de passe//) </ | ||
| + | |||
| + | //Exemple// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ==== 2. Le langage SQL ==== | ||
| + | <callout type=" | ||
| + | |||
| + | === 2.1 Principales instructions SQL === | ||
| + | ^ Ordres SQL ^ Aspect du langage | ||
| + | |**CREATE** - ALTER - DROP - RENAME TRUNCATE |**Définition** des données| | ||
| + | |**INSERT** - UPDATE - **DELETE** - LOCK TABLE |**Manipulation** des données| | ||
| + | |**SELECT**|**Interrogation** des données| | ||
| + | |GRANT - REVOKE - COMMIT - ROLLBACK - SAVEPOINT SET TRANSACTION|**Contrôle** des données| | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | ===2.2 Types couramment utilisés === | ||
| + | |||
| + | ^ Type MySQL ^ Type de donnée | ||
| + | |**INT**|Entier|| | ||
| + | |**FLOAT**|Réel|| | ||
| + | |**VARCHAR**(**M**)|Texte court|M : nombre de caractères, | ||
| + | |**TEXT**|texte long| | | ||
| + | |**DATE**|Date|format jour, mois, année| | ||
| + | |**TIME**|heure|format HH:MM:SS| | ||
| + | |||
| + | === 2.3 Ecriture de commentaires === | ||
| + | * **Source** : < | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | ==== 3. Débuter avec les requêtes SQL ==== | ||
| + | |||
| + | === 3.1 Extrait de la table " | ||
| + | {{ : | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | {{ : | ||
| + | ** Vérification de la version de mySQL** | ||
| + | |||
| + | <code sql *.sql> | ||
| + | -- Entrer la commande à la suite du prompt mysql> | ||
| + | mysql> select --version(); | ||
| + | </ | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | {{ : | ||
| + | === 3.2 Création, connexion et destruction === | ||
| + | * **Création et destruction d'une base de données** | ||
| + | {{ : | ||
| + | |||
| + | //Syntaxe// | ||
| + | <code sql *.sql> | ||
| + | CREATE DATABASE nom_base ; -- Création | ||
| + | DROP DATABASE nom_base; -- Destruction | ||
| + | </ | ||
| + | |||
| + | //Exemple// | ||
| + | <code sql ex1.sql> | ||
| + | CREATE DATABASE test; | ||
| + | </ | ||
| + | |||
| + | * **Connexion à une base de données** | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | //Syntaxe// | ||
| + | <code sql *.sql> | ||
| + | USE nom_base ; | ||
| + | </ | ||
| + | |||
| + | //Exemple// | ||
| + | <code sql ex.sql> | ||
| + | USE test; | ||
| + | </ | ||
| + | |||
| + | {{ : | ||
| + | * **Création et destruction d'une table** | ||
| + | |||
| + | //Syntaxe// | ||
| + | <code sql *.sql> | ||
| + | CREATE TABLE nom_table(nom_champ1 type_champ1, | ||
| + | DROP TABLE nom_table; -- Destruction | ||
| + | </ | ||
| + | |||
| + | //Exemple// | ||
| + | <code sql ex1.sql> | ||
| + | CREATE TABLE news( -- Ecriture en colonnes pour plus de lisibilité | ||
| + | id INT, -- NOT NULL impose la saisie d'une valeur | ||
| + | titre VARCHAR(255) NOT NULL, | ||
| + | contenu TEXT NOT NULL); | ||
| + | </ | ||
| + | |||
| + | === 3.3 Manipulation des données === | ||
| + | * **Mots-clés** : INSERT INTO , VALUES, DELETE, FROM, WHERE, UPDATE, SET | ||
| + | |||
| + | {{ : | ||
| + | * **Insertion d'une entrée dans une table** | ||
| + | //Syntaxe// | ||
| + | <code sql *.sql> | ||
| + | INSERT INTO nom_table (champ1, champ2,..., champn) VALUES(' | ||
| + | ou | ||
| + | INSERT INTO nom_table VALUES(' | ||
| + | </ | ||
| + | |||
| + | //Exemple// | ||
| + | <code sql ex.sql> | ||
| + | INSERT INTO jeux_video(nom, | ||
| + | VALUES(' | ||
| + | </ | ||
| + | |||
| + | //Résultat dans la console// : Query OK, 1 row affected (0.00 sec) | ||
| + | |||
| + | //Résultat dans phpMyAdmin// | ||
| + | {{ : | ||
| + | |||
| + | {{ : | ||
| + | * **Suppression d'une entrée dans une table** | ||
| + | //Syntaxe// | ||
| + | <code sql *.sql> | ||
| + | DELETE FROM nom_table WHERE nom_champ = valeur ; | ||
| + | </ | ||
| + | |||
| + | <code sql ex.sql> | ||
| + | DELETE FROM jeux_video WHERE nom=' | ||
| + | </ | ||
| + | |||
| + | //Résultat dans la console// : Query OK, 1 row affected (0.00 sec) | ||
| + | |||
| + | {{ : | ||
| + | * **Modification d'une ou plusieurs entrées dans une table** | ||
| + | //Syntaxe// | ||
| + | <code sql *.sql> | ||
| + | UPDATE nom_table SET champ1=val_champ1, | ||
| + | |||
| + | </ | ||
| + | |||
| + | //Exemple// | ||
| + | <code sql ex.sql> | ||
| + | UPDATE jeux_video SET prix = 10, nbre_joueurs_max = 32 WHERE ID = 51; | ||
| + | </ | ||
| + | |||
| + | //Résultat dans la console// : Query OK, 1 row affected (0.00 sec) | ||
| + | |||
| + | //Résultat dans phpMyAdmin// | ||
| + | {{ : | ||
| + | |||
| + | === 3.4 Interrogation des données === | ||
| + | * **Mots-clés** : SELECT, FROM, WHERE, ORDER BY (DSC), LIMIT | ||
| + | |||
| + | L'une des commandes les plus importantes de SQL utilise le triplet SELECT-FROM-WHERE qui permet de rechercher des informations au sein des tables d'une base de données. | ||
| + | |||
| + | // Synthaxe// | ||
| + | |||
| + | <callout type=" | ||
| + | **FROM** // | ||
| + | [**WHERE** // | ||
| + | |||
| + | {{ : | ||
| + | * **Lecture** de l' | ||
| + | //Syntaxe// | ||
| + | <code sql *.sql> | ||
| + | SELECT * FROM < | ||
| + | </ | ||
| + | |||
| + | //Exemple// | ||
| + | <code sql ex.sql> | ||
| + | SELECT * FROM jeux_video; | ||
| + | </ | ||
| + | |||
| + | //Résultat partiel dans la console// | ||
| + | {{ : | ||
| + | |||
| + | * **Lecture** d’un sous-ensemble des champs et de l’ensemble des enregistrements d'une table | ||
| + | //Syntaxe// | ||
| + | <code sql *.sql> | ||
| + | SELECT champ1, champ2, | ||
| + | </ | ||
| + | |||
| + | //Exemple// | ||
| + | <code sql *.sql> | ||
| + | SELECT nom, commentaires FROM jeux_video; | ||
| + | </ | ||
| + | |||
| + | //Résultat partiel dans la console// | ||
| + | {{ : | ||
| + | |||
| + | * **Lecture** d’un sous-ensemble | ||
| + | //Syntaxe// | ||
| + | <code sql *.sql> | ||
| + | SELECT champ1, champ2, | ||
| + | </ | ||
| + | |||
| + | //Exemple// | ||
| + | <code sql *.sql> | ||
| + | SELECT | ||
| + | </ | ||
| + | |||
| + | //Résultat partiel dans la console// | ||
| + | {{ : | ||
| + | |||
| + | * **Lecture** d’un sous-ensemble **ordonné** des champs d’une sélection des enregistrements, | ||
| + | |||
| + | //Syntaxe// | ||
| + | <code sql *.sql> | ||
| + | SELECT champ1, champ2, | ||
| + | </ | ||
| + | |||
| + | //Exemple// | ||
| + | <code sql *.sql> | ||
| + | SELECT | ||
| + | </ | ||
| + | |||
| + | //Résultat partiel dans la console// | ||
| + | {{ : | ||
| + | |||
| + | * **Lecture** d’un sous-ensemble **ordonné** et **limité** des champs d’une sélection des enregistrements, | ||
| + | |||
| + | //Syntaxe// | ||
| + | <code sql *.sql> | ||
| + | SELECT champ1, champ2, | ||
| + | </ | ||
| + | |||
| + | //Exemple// | ||
| + | <code sql ex.sql> | ||
| + | SELECT | ||
| + | </ | ||
| + | |||
| + | //Résultat dans la console// | ||
| + | {{ : | ||
| + | |||
| + | === 3.5 Créer un utilisateur === | ||
| + | |||
| + | //Syntaxe// | ||
| + | <code sql *.sql> | ||
| + | -- Création de l' | ||
| + | CREATE USER nom_utilisateur@url IDENTIFIED BY ' | ||
| + | -- Affectation des droits | ||
| + | GRANT SELECT, INSERT, UPDATE, | ||
| + | </ | ||
| + | |||
| + | //Exemple// | ||
| + | <code sql ex.sql> | ||
| + | -- Création de l' | ||
| + | CREATE USER db_utilisateur@localhost IDENTIFIED BY ' | ||
| + | -- Affectation des droits | ||
| + | GRANT SELECT, INSERT, UPDATE, | ||
| + | </ | ||
| + | |||
| + | === 3.6 Contrôle des données === | ||
| + | A rédiger | ||
| + | |||
| + | {{ : | ||
| + | ==== 4. phpMyAdmin ==== | ||
| + | <callout type=" | ||
| + | |||
| + | ---- | ||
| + | ==== Résumé ==== | ||
| + | * Les requêtes SQL commençant par **SELECT** permettent de récupérer des informations dans une base de données. | ||
| + | * Le langage SQL propose de nombreux outils pour préciser nos requêtes, à l'aide notamment des mots-clés **WHERE**(filtre), | ||