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 [2024/03/08 16:04] (Version actuelle) – [1. Introduction] phil | ||
---|---|---|---|
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), |