Serveurs Base de données

MySQL MariaDB : Memo des commandes SQL

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

Introduction




A force d'utiliser des commandes SQL, j'ai pensé les mettre dans un seul endroit : sur mon SITE.

Ainsi, je cherche à faire quelque chose, je viens chercher ici.

Si je ne sais pas, je cherche sur Google, et je renseigne ici, je retrouverai plus facilement.



Commandes de base




Bases de données




Créer et supprimer des bases




Pour crée une base de données, saisir simplement :

Copier vers le presse-papierCode SQL :
CREATE DATABASE superbase;


Pour la supprimer :

Copier vers le presse-papierCode SQL :
DROP DATABASE superbase;


Utiliser les bases




Pour se connecter à la base :

Copier vers le presse-papierCode SQL :
USE superbase;




Gestion des utilisateurs




Créer des utilisateurs




Pour créer un utilisateur, voici la commande :

Quelque soit l'hôte :

Copier vers le presse-papierCode SQL :
CREATE USER 'utilisateur'@'%' IDENTIFIED BY 'motdepasse';


Que pour localhost :

Copier vers le presse-papierCode SQL :
CREATE USER 'utilisateur'@'localhost' IDENTIFIED BY 'motdepasse';


Attribuer des droits aux utilisateurs




Pour attribuer tous les droits à un utilisateur (en faire en quelque sortes un deuxième root) :

Copier vers le presse-papierCode SQL :
GRANT ALL PRIVILEGES ON * . * TO 'utilisateur'@'localhost' IDENTIFIED BY 'motdepasse' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;


Ou même en lecture seule :

Copier vers le presse-papierCode SQL :
GRANT SELECT ON * . * TO 'utilisateur'@'localhost' IDENTIFIED BY 'motdepasse' ;


On peut faire du 2 en 1. Voici un exemple pour la création d'un utilisateur sans mot de passe avec des droits en lecture seule :

Copier vers le presse-papierCode SQL :
GRANT SELECT ON *.* TO 'ro'@'localhost';


De la même façon, on peut supprimer ds droits avec REVOKE :

Copier vers le presse-papierCode SQL :
REVOKE ALL ON *.* FROM 'utilisateur'@'localhost';




Changer un mot de passe d'utilisateur de MySQL




Cette commande fonctionne uniquement pour MySQL :

Copier vers le presse-papierCode SQL :
UPDATE mysql.USER SET password=PASSWORD("nouveau") WHERE USER="utilisateur";


Voir les utilisateurs




Pour voir les utilisateurs créés :

Copier vers le presse-papierCode SQL :
SELECT USER,host,password FROM mysql.USER;




Voir les droits des utilisateurs




Pour un utilisateur donné, on peut voir ses droits de la façon suivante :

Copier vers le presse-papierCode SQL :
SHOW GRANTS FOR "utilisateur"@"localhost";




Tables




Créer et supprimer des tables




Pour créer une table simple, voici un exemple :

Copier vers le presse-papierCode SQL :
 
CREATE TABLE matable (
id INT(20) NOT NULL AUTO_INCREMENT COMMENT 'id, autoincrémenté',
datecreation datetime NOT NULL,
titre VARCHAR(32),
contenu text,
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;




SELECT




INSERT




UPDATE




DELETE




ALTER




ALTER permet de modifier une table par exemple :

Copier vers le presse-papierCode BASH :
ALTER TABLE matable ADD COLUMN (unchamp varchar(32) NOT NULL);


Ou les propriétés d'un champ :

Copier vers le presse-papierCode BASH :
 alter table notes modify note_date int(32) NOT NULL;