technique:mysql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:mysql [2018/04/08 22:27] francoisatechnique:mysql [2024/04/02 15:07] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== Commandes MySQL ====== +**Cette page est obsolèteVeuillez accéder au contenu à son nouvel emplacement [[https://bibliotech.cemea.org/books/outils-technique/page/mysql|mysql]]**
- +
-===== Connexion ===== +
- +
-Se connecter à MySQL en ligne de commande sous Linux : +
- +
-<code> +
-mysql ‐u nomutilisateur ‐p +
-</code> +
- +
-Afficher les bases de données MySQL existantes : +
- +
-<code> +
-SHOW DATABASES; +
-</code> +
- +
-Se placer et utiliser une base de données : +
- +
-<code> +
-USE nomdelabdd; +
-</code> +
- +
-Afficher les tables de cette base de données : +
- +
-<code> +
-SHOW TABLES; +
-</code> +
- +
-Afficher la structure (colonnes) d'une table de la base de données : +
- +
-<code> +
-DESCRIBE nomdelatable; +
-</code> +
- +
-=== Manipulation d'une base de données MySQL === +
- +
-Création de la base de données : +
- +
-<code> +
-CREATE DATABASE nomdelabdd; +
-</code> +
- +
-Supprimer la base de données : +
- +
-<code> +
-DROP DATABASE nomdelabdd; +
-</code> +
- +
-=== Manipulation des tables d'une base de données MySQL === +
- +
-Création d'une table : +
- +
-<code> +
-CREATE TABLE nomdelatable ( nomcolonne1 INT , nomcolonne2 FLOAT , nomcolonne3 VARCHAR ( 50 ), nomcolonne3 CHAR ( 50 ) );  +
-</code> +
- +
-Supprimer une table : +
- +
-<code> +
-DROP TABLE nomdelatable ;  +
-</code> +
- +
-== Modification d'une table == +
- +
-Ajouter une colonne à une table : +
- +
-<code> +
-ALTER TABLE nomdelatable ADD nomdecolonne INT ;  +
-ALTER TABLE nomdelatable ADD nomdecolonne1 VARCHAR ( 50 );  +
-</code> +
- +
-<code> +
-ALTER TABLE nomdelatable ADD COLUMN nomdelacolonne INT ;  +
-</code> +
- +
-Supprimer une colonne d'une table : +
- +
-<code> +
-ALTER TABLE nomdelatable DROP COLUMN nomdecolonne1 ;  +
-</code> +
- +
-Renommer / changer le nom d'une colonne de la table : +
- +
-<code> +
-ALTER TABLE nomdelatable RENAME AS lenouveaunomdelatable  +
-</code> +
- +
-<code> +
-ALTER TABLE nomancientable RENAME TO nomnouveautable ;  +
-</code> +
- +
-<code> +
-RENAME TABLE nomancientable TO nomnouveautable ;  +
-</code> +
- +
-Renommer / changer le type d'une colonne : +
- +
-<code> +
-ALTER TABLE nomdelatable CHANGE nomdelacolonne nouveaunomdelacolonne INT ;  +
-</code> +
- +
-Ajouter une contrainte de clé primaire sur une colonne d'une table : +
- +
-<code> +
-ALTER TABLE nomdelatable ADD PRIMARY KEY ( nomcolonne );  +
-</code> +
- +
-<code> +
-ALTER TABLE nomdelatable ADD CONSTRAINT pk_nomdelacontrainte PRIMARY KEY ( nomcolonne );  +
-</code> +
- +
-Supprimer une contrainte de clé primaire sur une colonne : +
- +
-<code> +
-ALTER TABLE nomdelatable DROP PRIMARY KEY ;  +
-</code> +
- +
-Ajouter une contrainte de clé étrangère sur une colonne d'une table : +
- +
-<code> +
-ALTER TABLE nomdelatable ADD CONSTRAINT fk_nomdelacontrainte FOREIGN KEY ( nomcolonne ) REFERENCES tabledereference ( nomcolonne );  +
-</code> +
- +
-Supprimer une contrainte de clé étrangère sur une colonne d'une table : +
- +
-<code> +
-ALTER TABLE nomdelatable DROP CONSTRAINT fk_nomdelacontrainte ;  +
-</code> +
- +
-=== Requêtes SQL de base === +
- +
-Afficher / sélectionner des enregistrements d'une table SQL : +
- +
-<code> +
-SELECT nomcolonne FROM nomtable ;  +
-</code> +
- +
-Afficher / sélectionner des enregistrements d'une table SQL de façon distincte : +
- +
-<code> +
-SELECT DISTINCT nomcolonne FROM nomtable ;  +
-</code> +
- +
-Afficher / sélectionner des enregistrements d'une table SQL avec une condition : +
- +
-<code> +
-SELECT nomcolonne FROM nomtable WHERE nomcolonne = '1' ;  +
-SELECT nomcolonne FROM nomtable WHERE nomcolonne LIKE '%.com' ;  +
-</code> +
- +
-Afficher / sélectionner des enregistrements de plusieurs tables via une jointure internet : +
- +
-<code> +
-SELECT colonne1 , colonne2 , colonne3  FROM table1 INNER JOIN table2 ON table1 . colonne1 = table2 . colonne3 WHERE colonne1 = 'cequejecherche'  +
-</code> +
- +
-Mise à jour de l'ensemble des enregistrements sur une colonne d'une table : +
- +
-<code> +
-UPDATE nomtable SET nomcolonne1 = 'mavaleur' , nomcolonne2 = 'mavaleur2'  +
-</code> +
- +
-Mise à jour de l'ensemble des enregistrements sur une colonne d'une table avec une condition : +
- +
-<code> +
-UPDATE nomtable SET nomcolonne1 = 'mavaleur' , nomcolonne2 = 'mavaleur2' WHERE nomcolonne3 = '0'  +
-</code> +
- +
-Insérer un enregistrement dans une table : +
- +
-<code> +
-INSERT INTO nomtable ( colonne1 , colonne2 , colonne3 ) VALUES ( valeu1 , valeur2 , valeur3 );  +
-</code> +
- +
-Supprimer un enregistrement dans une table : +
- +
-<code> +
-DELETE FROM nomtable WHERE nomcolonne = 'lavaleur'  +
-</code> +
- +
-===== Sauvegardes ===== +
- +
-Pour sauvegarder toutes les bases de données on utilise la commande suivante : +
- +
-</code>mysqldump --user=mon_user --password=mon_password --all-databases > fichier_destination.sql</code> +
- +
-Pour sauvegarder une base de données précise : +
- +
-<code>mysqldump --user=mon_user --password=mon_password --databases nom_de_la_base > fichier_destination.sql</code> +
- +
-Pour sauvegarder plusieurs bases de données : +
- +
-<code>mysqldump --user=mon_user --password=mon_password --databases nom_de_la_base_1 nom_de_la_base_2 > fichier_destination.sql</code> +
- +
-Pour sauvegarder une table précise : +
- +
-<code>mysqldump --user=mon_user --password=mon_password --databases nom_de_la_base --tables nom_de_la_table > fichier_destination.sql</code> +
- +
-Pour sauvegarder plusieurs tables : +
- +
-<code>mysqldump --user=mon_user --password=mon_password --databases nom_de_la_base --tables nom_de_la_table_1 nom_de_la_table_2 > fichier_destination.sql</code> +
- +
-Pour tous ces types de sauvegarde mysql les fichiers générés sont en .sql. Cela dit on peut mettre l’extension que l’on veut comme .txt par exemple. Ca n’a pas d’importance. +
-Les fichiers sont lisibles en clair et contiennent toutes les commandes SQL pour pouvoir faire une restauration mysql. +
- +
-Cela dit les fichiers .sql sont volumineux. Pour gagner de la place, on va les compresser à la volée lors de la sauvegarde. +
- +
-==== Compresser la sauvegarde mysql ==== +
- +
- +
-Pour compresser les données, nous allons utiliser gunzip après avoir invoqué mysqldump. +
- +
-Cela donnera des commandes du type : +
- +
-<code>mysqldump <commandes> gzip > fichier_destination.sql.gz</code> +
- +
-Exemple avec la commande de sauvegarde complète : +
- +
-<code>mysqldump --user=mon_user --password=mon_password --all-databases | gzip > fichier_destination.sql.gz</code> +
- +
-A noter qu’avec cette méthode, la commande de sauvegarde mysql produit un seul fichier compressé. le fichier source n’existe plus. +
-==== Restauration MySql ==== +
- +
- +
-Pour la restauration mysql on n’utilise plus la commande mysqldump. On utilise la commande mysql. +
-La commande mysql va aller lire un fichier puis le restaurer en fonction de son contenu et de ses instructions. +
- +
-La restauration mysql peut se faire pour toutes les bases de données ou pour un base de données précise. +
- +
-Exemple sans distinction de base de données : +
- +
-<code>mysql --user=mon_user --password=mon_password < fichier_source.sql</code> +
- +
-Autre exemple pour restaurer dans une base de données précise : +
- +
-<code>mysql --user=mon_user --password=mon_password nom_de_la_base < fichier_source.sql</code> +
  • technique/mysql.1523219268.txt.gz
  • Dernière modification : 2020/04/11 02:26
  • (modification externe)