Outils pour utilisateurs

Outils du site


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
mysql [2015/01/05 14:01]
luc
mysql [2018/10/13 20:32] (Version actuelle)
Ligne 7: Ligne 7:
 Avant de commencer le vif du sujet, il faut connaître quel type de données on peut stocker  Avant de commencer le vif du sujet, il faut connaître quel type de données on peut stocker 
  
-=== Numérique ===+== Numérique ==
 ^  NOM  ^  Taille  ^  Nombres stockables  ^ ^  NOM  ^  Taille  ^  Nombres stockables  ^
 |  TINYINT  |  1o  |  -128 à 127  | |  TINYINT  |  1o  |  -128 à 127  |
Ligne 20: Ligne 20:
 FLOAT, DOUBLE REAL : valeur approchée stockée sous forme scientifique FLOAT, DOUBLE REAL : valeur approchée stockée sous forme scientifique
  
-=== Alphanumérique ===+== Alphanumérique ==
 ^  NOM  ^  DESCRIPTION  ^ ^  NOM  ^  DESCRIPTION  ^
 |  VARCHAR(25)  |  permet de stocker une chaine de caractère (moins de 255 octets)  | |  VARCHAR(25)  |  permet de stocker une chaine de caractère (moins de 255 octets)  |
Ligne 27: Ligne 27:
 |  ENUM  |  permet de prendre une valeur parmi celles prédéfinies (par exemple 'chien', 'chat' | |  ENUM  |  permet de prendre une valeur parmi celles prédéfinies (par exemple 'chien', 'chat' |
  
-=== Temporel ===+== Temporel ==
 ^  NOM  ^  DESCRIPTION  ^ ^  NOM  ^  DESCRIPTION  ^
 |  DATE  |  permet de stocker une date, plusieurs formats possibles (par défaut : aaaa-mm-jj )  | |  DATE  |  permet de stocker une date, plusieurs formats possibles (par défaut : aaaa-mm-jj )  |
Ligne 44: Ligne 44:
 ==== Gérer les BASES de données du serveur ==== ==== Gérer les BASES de données du serveur ====
 <code mysql> <code mysql>
 +SHOW DATABASES;                                 -- lister les bases de données
 CREATE DATABASE nom [CHARACTER SET 'utf8'] ; -- permet de créer une base de données [avec un encdage en utf-8] CREATE DATABASE nom [CHARACTER SET 'utf8'] ; -- permet de créer une base de données [avec un encdage en utf-8]
 DROP DATABASE nom ; -- permet de supprimer une base de données DROP DATABASE nom ; -- permet de supprimer une base de données
Ligne 49: Ligne 50:
 </code> </code>
  
-''mysqldump'' est un client en console qui permet d'effectuer une sauvegarde de la base de données.+== SAUVEGARDE d'une base == 
 +outil console : 
 +<code bash>mysqldump -u user -ppassword -B base > file </code>
  
 ==== Gérer les TABLES d'une base ==== ==== Gérer les TABLES d'une base ====
 +== créer ==
 <code mysql> <code mysql>
 CREATE TABLE nom ( -- permet la création d'une table qui s'appelera nom CREATE TABLE nom ( -- permet la création d'une table qui s'appelera nom
Ligne 60: Ligne 64:
 [ENGINE=moteur] ; -- MYISAM, INNODB [ENGINE=moteur] ; -- MYISAM, INNODB
 </code> </code>
 +
 +== Visualiser la structure ==
  
 <code mysql> <code mysql>
 DESCRIBE table ; -- permet de d'afficher la structure de la table DESCRIBE table ; -- permet de d'afficher la structure de la table
-DROP TABLE nom_table ; -- permet de supprimer une table, irréversible... 
 </code> </code>
  
 +== Modifier la structure ==
 <code mysql> <code mysql>
 ALTER TABLE nom_table     -- permet de modifier une table, plusieurs fonctions sont disponibles : ALTER TABLE nom_table     -- permet de modifier une table, plusieurs fonctions sont disponibles :
Ligne 74: Ligne 80:
 </code> </code>
  
--- INDEX -- +== Supprimer == 
-ils peuvent être créés directement à la création de la table ou par modification de celle ci :+<code mysql> 
 +DROP TABLE nom_table ; -- permet de supprimer une table, irréversible... 
 +</code>
  
-ALTER TABLE nom-table méthode 1 pour créer un index +== Gérer les INDEX d'une table == 
- ADD INDEX [nom index](col,..) un index tout simple, pour accélérer les recherches +ils peuvent être créés directement à la création de la table ou par modification de celle ci : 
- ADD UNIQUE un index avec contrainte d'unité +<code mysql> 
- ADD FULLTEXT MyISAM seulement, sur les colonnes de texte; caractères...+ALTER TABLE nom-table                          -- méthode 1 pour créer un index 
 + ADD INDEX [nom index](col,..)        -- un index tout simple, pour accélérer les recherches 
 + ADD UNIQUE        -- un index avec contrainte d'unité 
 + ADD FULLTEXT        -- MyISAM seulement, sur les colonnes de texte; caractères...
   
-CREATE [UNIQUE/FULLTEXT] INDEX nom_index méthode 2 pour créer un index+CREATE [UNIQUE/FULLTEXT] INDEX nom_index       -- méthode 2 pour créer un index
  ON nom_table (col,..)  ON nom_table (col,..)
  
-ALTER TABLLE nom_table requete pour supprimer un index+ALTER TABLE nom_table        -- requete pour supprimer un index
  DROP INDEX nom_index  DROP INDEX nom_index
 +</code>
  
------------------------- 
-- AGIR SUR LES DONNEES - 
------------------------- 
--- INSERTION DE DONNEES -- 
-INSERT INTO table (col1, col2) requete pour l'insertion de données 
- VALUES (valeur1,valeur2) [,(valeur,valeur)] ; ajout de plusieurs lignes possibles 
  
-INSERT requete permettant l'ajout d'une ligne ou la mise à jour d'un ligne +==== AGIR SUR LES DONNEES ==== 
- INTO table (col1,col2) si l'ajout causerait un doublon (selon un index/clé UNIQUE)+ 
 +== Ajouter des DONNEES == 
 +<code mysql> 
 +INSERT INTO table (col1, col2) -- requête pour l'insertion de données 
 + VALUES (valeur1,valeur2) [,(valeur,valeur)] ; -- ajout de plusieurs lignes possibles 
 + 
 +INSERT -- requête permettant l'ajout d'une ligne ou la mise à jour d'un ligne 
 + INTO table (col1,col2) -- si l'ajout causerait un doublon (selon un index/clé UNIQUE)
  VALUES (valeur, valeur)  VALUES (valeur, valeur)
  ON DUPLICATE KEY UPDATE col=valeur, ..  ON DUPLICATE KEY UPDATE col=valeur, ..
   
-SOURCE fichier.sql; effectue toutes les requetes contenues dans le fichier+SOURCE fichier.sql; -- effectue toutes les requêtes contenues dans le fichier
  
-LOAD DATA LOCAL INFILE 'fichier.csv' permet de charger des valeurs à partir d'un fichier au format spécifié+LOAD DATA LOCAL INFILE 'fichier.csv' -- permet de charger des valeurs à partir d'un fichier au format spécifié
  INTO TABLE nom_table  INTO TABLE nom_table
  FIELDS TERMINATED BY ';'  FIELDS TERMINATED BY ';'
Ligne 108: Ligne 121:
  IGNORE 1 LINES  IGNORE 1 LINES
  (col1,col2..) ;  (col1,col2..) ;
 +</code>
  
--- SELECTION DE DONNEES -- +== Récupérer des DONNEES == 
-SELECT 'xxx' ; renvoi 'xxx' +<code mysql> 
-SELECT col1, Col2 FROM nom_table ; renvoi toutes les valeurs contenu dans col1 et col2 de la table nom_table +SELECT 'xxx' ; -- renvoie 'xxx' 
-SELECT * FROM nom_table ; renvoi tout le contenu de la table (tout le contenu de toutes les colonnes) +SELECT col1, Col2 FROM nom_table ; -- renvoie toutes les valeurs contenu dans col1 et col2 de la table nom_table 
-SELECT colonne renvoi le contenu de colonne de la table dans le cas où col=...+SELECT * FROM nom_table ; -- renvoie tout le contenu de la table (tout le contenu de toutes les colonnes) 
 +SELECT colonne -- renvoie le contenu de colonne de la table dans le cas où col=...
  FROM table   FROM table 
  WHERE col=... AND/OR ...  WHERE col=... AND/OR ...
Ligne 121: Ligne 136:
 IS NOT NULL IS NOT NULL
  
-SELECT col FROM table WHERE .. ORDER BY .. permet de trier les données avant de les afficher +SELECT col FROM table WHERE .. ORDER BY .. -- permet de trier les données avant de les afficher 
-ORDER BY col DESC/ASC permet de définir l'ordre croissant/descroissant +ORDER BY col DESC/ASC -- permet de définir l'ordre croissant/décroissant 
-ORDER BY col1 , col2 trier selon col1, puis col2+ORDER BY col1 , col2 -- trier selon col1, puis col2
  
-SELECT DISTINCT col FROM table permet de ne pas afficher de doublon+SELECT DISTINCT col FROM table -- permet de ne pas afficher de doublon
  
-SELECT col FROM table LIMIT n OFFSET o limite le nombre de ligne affichée, éventuellement avec un offset+SELECT col FROM table LIMIT n OFFSET o -- limite le nombre de ligne affichée, éventuellement avec un offset 
 +</code>
  
--- SUPPRESSION DE DONNEES -- +== Supprimer des DONNEES == 
-DELETE FROM table WHERE critères ; supprime les lignes de la table pour lesquels le critère est vrai+<code mysql> 
 +DELETE FROM table WHERE critères ; -- supprime les lignes de la table pour lesquels le critère est vrai 
 +</code>
  
--- MODIFICATION DE DONNES -- +== Modifier des DONNEES == 
-UPDATE table permet de modifier toutes les lignes pour lesquelles le critère est vrai, la modification porte sur les arguments spécifiés+<code mysql> 
 +UPDATE table -- permet de modifier toutes les lignes pour lesquelles le critère est vrai, la modification porte sur les arguments spécifiés
  SET col1=valeur, col2=valeur  SET col1=valeur, col2=valeur
  WHERE critère  WHERE critère
 +</code>
  
--- SAUVEGARDE D'UNE BASE -- 
-outil console : 
-mysqldump -u user -ppassword -B base > file 
mysql.1420466481.txt.gz · Dernière modification: 2018/10/13 20:32 (modification externe)