Utilisation de mysql bases

MySQL est un des paquets les plus importants si vous souhaitez gérer votre base de données que ce soit pour un projet local ou dynamiser un site internet en stockant des informations. La syntax pour les commande de mysql dans un terminal (souvent le cas pour un serveur dédié, sont simple mais faut-il encore avoir les bases.

Avant de continuer à lire cet article, assurez -vous d’avoir installer un serveur web complet.

J’utilise mysql sur un système Linux pour ce tutoriel.

Accès à la base de données

Dans un terminal, saisir :

sudo mysql -u utilisateur -p

Le terminal vous demandera de saisir le mot de passe pour l’utilisateur (par défaut, l’utilisateur est « root »).<br />
Vous arrivez sur cet écran :

Termonal, accueil MySQL
Termonal, accueil MySQL

Sortir / Quitter MySql

Une fois que vous avez eu accès à MySql, pour en sortir, il suffit de taper : quit

Lister les bases

Pour lister l’ensembles des bases dans MySql, saisir : show databases;

Attention, dans MySql, toutes les commandes finissent par « ; ».

show_database
show_database

Sélectionner une base de données

Afin de travailler sur une base, il faut au préalable la sélectionner : use mysql;

Je sélectionne la base mysql.

Lister les tables d’une base

L’utilisation de MySql se fait par base puis par table (puis par colonne et ligne) pour faire la comparaison à un tableur excel, vous avez le classeur, puis la feuille et enfin les lignes et colonnes.

Pour lister l’ensembles des tables composant une base, saisir : show tables;

show_tables
show_tables

J’affiche toutes les tables de ma base de donnée « mysql ».

Lister le contenu d’une table

Pour lister le contenu d’une table, on va utiliser une requête select `champ` from `table`;  , saisir dans la console mysql :

select `User`,`host` from `User`;

Cela affiche les colonnes « User » et « host » de la table « User ».

Voir les droits d’un utilisateur mysql

Pour voir les droit d’un utilisateur, il suffit de saisir :

show grants for `root`@`localhost`;

Cela affiche les droits de l’utilisateur root sur la base.

droit_utilisateur
droit_utilisateur

Ajouter un utilisateur

La première chose que l’on va faire ce sera d’ajouter un nouvel utilisateur avec tous les droits.

<li><h3>Création de l’utilisateur</h3>

Pour créer un utilisateur :

create user 'utilisateur'@'%' identified by 'mot_de_passe';

J’utilise les « ` » (touche AltGR+7) pour encadrer mes valeurs, le mot de passe est encadré par de simple apostrophe (touche 4).

Le « % » permet de donner accès à l’utilisateur à tous les serveurs.

Régler les droits

Pour régler les droits :

D’un utilisateur style root

grant all privileges on *.* to 'utilisateur'@'%' identified by 'motdepasse';

Ceci donne tous les droits à l’utilisateur.

D’un utilisateur classique

Pour régler les droits :

grant usage on *.* to 'utilisateur'@'%' identified by 'motdepasse';

Ici, nous allons pouvoir ajouter des options, notamment, le nombre de connections …

Ajout d’une base propre à l’utilisateur

Nous allons maintenant une table pour le nouvelle utilisateur :

create database if not exists 'utilisateur';

Ceci va créer une base (si elle n’existe pas encore) qui portera le nom « utilisateur », la base peut s’appeler comme on veut, on est dans le cas d’un hébergement pour un utilisateur à une base.

Modification des droits sur une base

Nous allons maintenant donner les droits sur la nouvelles bases pour le nouvel utilisateur :

grant all privileges on 'utilisateur'.* to `utilisateur`@`%`;

Code complet pour ajouter un utilisateur et sa table

Pour résumer, ajouter un utilisateur et sa table se fait de cette manière :

create user 'utilisateur'@'%' identified by 'mot_de_passe';
grant usage on *.* to 'utilisateur'@'%' identified by 'motdepasse';
create database if not exists `utilisateur`;
grant all privileges on 'utilisateur'.* to 'utilisateur'@'%';

Suppression d’un utilisateur

Pour supprimer un utilisateur : drop user ‘utilisateur’@’serveur’; . Si l’utilisateur doit être supprimer de tous les serveurs, remplacer « serveur » par « % ».

Modification du mot de passe

Pour modifier le mot de passe d’un utilisateur :

set password for `utilisateur`@`%` = PASSWORD(‘mot_de_passe’);

Si l’utilisateur doit être supprimer de tous les serveurs, remplacer « serveur » par « % ».

Création d’une table

il faut avoir sélectionner une base de travail, ensuite :

CREATE TABLE `nom_de_la_table`
     (
     colonne1 type_donnees,
     colonne2 type_donnees,
     colonne3 type_donnees,
     colonne4 type_donnees
     );

Voici un exemple :

CREATE TABLE `utilisateur`
     (
     `id` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
     `nom` VARCHAR(100),
     `prenom` VARCHAR(100),
     `email` VARCHAR(255),
     `date_naissance` DATE,
     `pays` VARCHAR(255),
     `ville` VARCHAR(255),
     `code_postal` VARCHAR(5),
     `nombre_achat` INT
     );

Il y a d’autre type de données, ce sont les principales. « NOT NULL » empêche d’enregistrer une valeur nulle pour une colonne, « PRIMARY KEY » indique si la colonne est utilisée comme clé primaire pour un index (ne peut pas contenir de doublons), »AUTO_INCREMENT » permet d’incrémenter automatique le champs lors de l’ajout d’une donnée, d’autres options existent.

Lire une table

Nous avons vu plus haut comment lire les utilisateurs, nous allons faire de la même manière pour lire le contenu de n’importe quelle table :

select * from `table`;

Cela affichera toutes les colonnes, pour ne sélectionner que certaines colonnes, il faut procéder comme suit :

select `nom_colonne1`,`nom_colonne2` from `table`;

Insérer une donnée

Pour insérer des données, j’utilise principalement cette forme :

insert into `nom_de_table` (`id`,`nom_colonne1`,`nom_colonne2`) values (null,`valeur1`,`valeur2`);

Le champs « id » sera incrémenter automatiquement.

Modification d’une donnée

Pour mettre à jour une ligne :

update `nom_de_table` set `nom_colonne_1` = 'nouvelle valeur' WHERE condition;

Il est important de mettre une condition, sinon toutes les lignes seront modifiées. par exemple WHERE `id`= »1″ permettra de mettre à jour la colonne1 où « id » est égale à 1.

Supprimer une ligne

La dernière requêtes de base sera la suppression de ligne, comme pour l’update, il faut faire attention à la condition, sous peine de tout supprimer.

DELETE FROM `table` WHERE condition;

Voilà pour les commande de base de mysql, bien entendu, cette gestion peut se faire via phpMyAdmin mais également dans d’autre langage (php ou python) pour pouvoir l’insérer dans un script.

Laisser un commentaire