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 [2014/03/05 13: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 26: Ligne 26:
 |  BINARY  |  chaine binaire sur 1 octet  | |  BINARY  |  chaine binaire sur 1 octet  |
 |  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 ==
 +^  NOM  ^  DESCRIPTION  ^
 +|  DATE  |  permet de stocker une date, plusieurs formats possibles (par défaut : aaaa-mm-jj )  |
 +|  DATETIME  |  permet de stocker une date et une heure "aaaa-mm-jj hh:mm:ss"  |
 +|  TIME  |  permet de stocker une heure ou une durée (par défaut : "D HH:MM:SS.fraction" |
 +|  YEAR |  permet de stocker une année (par défaut : YYYY)  |
 +
 +
 +==== Gérer les UTILISATEURS ====
 +<code mysql>
 +CREATE USER 'nom'@'localhost' IDENTIFIED BY 'password' ; -- crée un utilisateur
 +
 +GRANT ALL ON nomBase.* TO 'nom'@'localhost' ;            -- donne les pleins droits à un utilisateur sur les bases de données
 +</code>
 +
 +==== Gérer les BASES de données du serveur ====
 +<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]
 +DROP DATABASE nom ; -- permet de supprimer une base de données
 +USE nom ; -- spécifie quelle base de données on doit utiliser
 +</code>
 +
 +== SAUVEGARDE d'une base ==
 +outil console :
 +<code bash>mysqldump -u user -ppassword -B base > file </code>
 +
 +==== Gérer les TABLES d'une base ====
 +== créer ==
 +<code mysql>
 +CREATE TABLE nom ( -- permet la création d'une table qui s'appelera nom
 + colonne1 description_colonne1, -- par exemple : id INT NOT NULL AUTO_INCREMENT
 + .. -- par exemple : prenom VARCHAR(25)
 + [PRIMARY KEY (colonnex)]
 +)
 +[ENGINE=moteur] ; -- MYISAM, INNODB
 +</code>
 +
 +== Visualiser la structure ==
 +
 +<code mysql>
 +DESCRIBE table ; -- permet de d'afficher la structure de la table
 +</code>
 +
 +== Modifier la structure ==
 +<code mysql>
 +ALTER TABLE nom_table     -- permet de modifier une table, plusieurs fonctions sont disponibles :
 + ADD nom_colonne description ;     -- ajouter une colonne
 + DROP nom_colonne ;     -- supprimer une colonne
 + CHANGE ancien_nom nouveau_nom desciption ;  -- changer le nom de la colonne et de la description (sauf si identique)
 + MODIFY nom_colonne nouvelle_description ;   -- changer le type de données
 +</code>
 +
 +== Supprimer ==
 +<code mysql>
 +DROP TABLE nom_table ; -- permet de supprimer une table, irréversible...
 +</code>
 +
 +== Gérer les INDEX d'une table ==
 +ils peuvent être créés directement à la création de la table ou par modification de celle ci :
 +<code mysql>
 +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
 + ON nom_table (col,..)
 +
 +ALTER TABLE nom_table        -- requete pour supprimer un index
 + DROP INDEX nom_index
 +</code>
 +
 +
 +==== AGIR SUR LES DONNEES ====
 +
 +== 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)
 + ON DUPLICATE KEY UPDATE col=valeur, ..
 +
 +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é
 + INTO TABLE nom_table
 + FIELDS TERMINATED BY ';'
 + LINES TERMINATED BY '\n'
 + IGNORE 1 LINES
 + (col1,col2..) ;
 +</code>
 +
 +== Récupérer des DONNEES ==
 +<code mysql>
 +SELECT 'xxx' ; -- renvoie 'xxx'
 +SELECT col1, Col2 FROM nom_table ; -- renvoie toutes les valeurs contenu dans col1 et col2 de la table nom_table
 +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 
 + WHERE col=... AND/OR ...
 +
 +=  <  <=  >  >=  !=  <=>(égal pour NULL)
 +AND OR XOR NOT
 +IS NOT NULL
 +
 +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/décroissant
 +ORDER BY col1 , col2 -- trier selon col1, puis col2
 +
 +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
 +</code>
 +
 +== Supprimer des DONNEES ==
 +<code mysql>
 +DELETE FROM table WHERE critères ; -- supprime les lignes de la table pour lesquels le critère est vrai
 +</code>
 +
 +== Modifier des DONNEES ==
 +<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
 + WHERE critère
 +</code>
  
mysql.1394024474.txt.gz · Dernière modification: 2018/10/13 20:32 (modification externe)