====== Commandes SQL ====== --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2020/08/04 10:44// --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2021/05/25 15:57// ===== Généralités ===== |< 100% 20% 50% 30% >| ^Commande ^Explications ^Exemple ^ |''SELECT'' |Permet la sélection des données ainsi que l'affichage de ces dernières. |SELECT 'Hello World !'; SELECT (10-8)*2, (10+5)*9;| |''CREATE'' |Permet de créer des données selon le type défini. |CREATE DATABASE test_db;| |''SET'' |Définie une variable et sa valeur. |SET NAMES 'utf8';| ===== Création ===== ==== Base ==== Pour la création d'une nouvelle base de données, on peut utiliser la commande ci-dessous (en remplaçant ''database_name'' par le nom choisi pour la nouvelle base) : CREATE DATABASE database_name; ==== Utilisateur ==== Pour créer un utilisateur, on commence par définir le nom de l'utilisateur (''user'' par exemple), le point de connexion (''localhost'' pour l'exemple) et son mot de passe (''pass'' par exemple). Ce qui nous donne : CREATE USER 'user'@'localhost' IDENTIFIED BY 'pass'; Ensuite, il faut lui donner des droits (''ALL PRIVILEGES'' dans l'exemple donne tous les droits) sur une base (on choisir ''db'') et sur une table de cette base (''tbl'' dans l'exemple). Ce qui donne : GRANT ALL PRIVILEGES ON db.tbl TO 'user'@'localhost'; FLUSH PRIVILEGES; ''localhost'' ne doit être utilisé que si le client se connecte sur le serveur, ce qui est une mauvaise idée par défaut (usage excéssif de la mémoire, problème de sécurité, etc...). Il vaut mieux utiliser l'adresse IP à partir de laquelle le client se connecte. Le caractère ''%'' sert à indiquer l'accès depuis n'importe quelle adresse. Pour les bases et les tables, le caractère ''*'' sert à indiquer toutes ces dernières. ===== Interrogation ===== ==== Droit d'un utilisateur ==== SHOW GRANTS FOR 'user'@'%'; ==== Liste des bases ==== SHOW DATABASES; ==== Liste des utilisateurs ==== SELECT user FROM mysql.user; ===== Modification ===== ==== Mot de passe d'un utilisateur ==== ALTER USER 'user'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES; SET PASSWORD FOR 'user'@'localhost' = PASSWORD('new_password'); FLUSH PRIVILEGES; ~~DISCUSSION~~