Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== Commandes SQL ====== <label type="info">Création</label> --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2020/08/04 10:44// <label type="warning">Modification</label> --- //[[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. |<sxh sql>SELECT 'Hello World !'; SELECT (10-8)*2, (10+5)*9;</sxh>| |''CREATE'' |Permet de créer des données selon le type défini. |<sxh sql>CREATE DATABASE test_db;</sxh>| |''SET'' |Définie une variable et sa valeur. |<sxh sql>SET NAMES 'utf8';</sxh>| ===== 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) : <sxh sql>CREATE DATABASE database_name;</sxh> ==== 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 : <sxh sql>CREATE USER 'user'@'localhost' IDENTIFIED BY 'pass';</sxh> 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 : <sxh sql>GRANT ALL PRIVILEGES ON db.tbl TO 'user'@'localhost'; FLUSH PRIVILEGES;</sxh> <callout type="info" title="Wildcard" icon="true">''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.</callout> ===== Interrogation ===== ==== Droit d'un utilisateur ==== <sxh sql>SHOW GRANTS FOR 'user'@'%';</sxh> ==== Liste des bases ==== <sxh sql>SHOW DATABASES;</sxh> ==== Liste des utilisateurs ==== <sxh sql>SELECT user FROM mysql.user;</sxh> ===== Modification ===== ==== Mot de passe d'un utilisateur ==== <label type="primary">mysql ≥ 5.7.6 et MariaDB ≥ 10.1.21</label> <sxh sql>ALTER USER 'user'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES;</sxh> <label type="primary">mysql ≤ 5.7.5 et MariaDB ≤ 10.1.20</label> <sxh sql>SET PASSWORD FOR 'user'@'localhost' = PASSWORD('new_password'); FLUSH PRIVILEGES;</sxh> ~~DISCUSSION~~ sqlcmd.txt Dernière modification : 2021/05/28 14:29de nekan