Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
mysql [2015/01/05 13:55] 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 | ^ NOM ^ Taille | ||
| TINYINT | | TINYINT | ||
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) | | VARCHAR(25) | ||
Ligne 27: | Ligne 27: | ||
| ENUM | permet de prendre une valeur parmi celles prédéfinies (par exemple ' | | ENUM | permet de prendre une valeur parmi celles prédéfinies (par exemple ' | ||
- | === 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 35: | Ligne 35: | ||
- | ==== Utilisateurs | + | ==== Gérer les UTILISATEURS |
- | créer un utilisateur et lui donner les pleins droits sur une unique base de données | + | |
<code mysql> | <code mysql> | ||
- | CREATE USER ' | + | CREATE USER ' |
- | GRANT ALL ON nomBase.* TO ' | + | |
+ | GRANT ALL ON nomBase.* TO ' | ||
</ | </ | ||
==== Gérer les BASES de données du serveur ==== | ==== Gérer les BASES de données du serveur ==== | ||
<code mysql> | <code mysql> | ||
- | CREATE DATABASE nom [CHARACTER SET ' | + | SHOW DATABASES; |
- | DROP DATABASE nom ; permet de supprimer une base de données | + | CREATE DATABASE nom [CHARACTER SET ' |
- | USE nom ; | + | DROP DATABASE nom ; -- permet de supprimer une base de données |
+ | USE nom ; -- spécifie quelle base de données on doit utiliser | ||
</ | </ | ||
- | '' | + | == SAUVEGARDE |
+ | outil console : | ||
+ | <code bash> | ||
==== Gérer les TABLES d'une base ==== | ==== Gérer les TABLES d'une base ==== | ||
- | CREAT TABLE nom ( permet la création d'une table qui s' | + | == créer == |
- | colonne1 description_colonne1, | + | <code mysql> |
- | .. par exemple : prenom VARCHAR(25) | + | CREATE |
+ | colonne1 description_colonne1, | ||
+ | .. -- par exemple : prenom VARCHAR(25) | ||
[PRIMARY KEY (colonnex)] | [PRIMARY KEY (colonnex)] | ||
) | ) | ||
- | [ENGINE=moteur] ; | + | [ENGINE=moteur] ; -- MYISAM, INNODB |
+ | </ | ||
- | DESCRIBE table ; permet de d' | + | == Visualiser |
- | DROP TABLE nom_table ; permet de supprimer une table, irreversible... | + | |
- | - MODIFICATION STRUCTURE TABLE - | + | <code mysql> |
- | ALTER TABLE nom_table permet de modifier une table, plusieurs fonctions sont disponibles : | + | DESCRIBE table ; -- permet de d' |
- | ADD nom_colonne description ; ajouter une colonne | + | </ |
- | DROP nom_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 | + | |
- | -- INDEX -- | + | == Modifier la structure == |
- | ils peuvent être créés directement à la création | + | <code mysql> |
+ | ALTER TABLE nom_table | ||
+ | ADD nom_colonne description ; | ||
+ | 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 | ||
+ | </ | ||
- | ALTER TABLE nom-table méthode 1 pour créer un index | + | == Supprimer == |
- | ADD INDEX [nom index](col, | + | <code mysql> |
- | ADD UNIQUE un index avec contrainte d' | + | DROP TABLE nom_table ; -- permet de supprimer une table, irréversible... |
- | ADD FULLTEXT MyISAM seulement, sur les colonnes de texte; caractères... | + | </ |
+ | |||
+ | == 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 | ||
+ | ADD INDEX [nom index](col, | ||
+ | ADD UNIQUE | ||
+ | ADD FULLTEXT | ||
- | CREATE [UNIQUE/ | + | CREATE [UNIQUE/ |
ON nom_table (col,..) | ON nom_table (col,..) | ||
- | ALTER TABLLE | + | ALTER TABLE nom_table |
DROP INDEX nom_index | DROP INDEX nom_index | ||
+ | </ | ||
- | ------------------------ | ||
- | - AGIR SUR LES DONNEES - | ||
- | ------------------------ | ||
- | -- INSERTION DE DONNEES -- | ||
- | INSERT INTO table (col1, col2) requete pour l' | ||
- | VALUES (valeur1, | ||
- | INSERT requete | + | ==== AGIR SUR LES DONNEES ==== |
- | INTO table (col1, | + | |
+ | == Ajouter des DONNEES == | ||
+ | <code mysql> | ||
+ | INSERT | ||
+ | VALUES (valeur1, | ||
+ | |||
+ | INSERT -- requête | ||
+ | INTO table (col1, | ||
VALUES (valeur, valeur) | VALUES (valeur, valeur) | ||
ON DUPLICATE KEY UPDATE col=valeur, .. | ON DUPLICATE KEY UPDATE col=valeur, .. | ||
- | SOURCE fichier.sql; | + | SOURCE fichier.sql; |
- | LOAD DATA LOCAL INFILE ' | + | LOAD DATA LOCAL INFILE ' |
INTO TABLE nom_table | INTO TABLE nom_table | ||
FIELDS TERMINATED BY ';' | FIELDS TERMINATED BY ';' | ||
Ligne 103: | Ligne 121: | ||
IGNORE 1 LINES | IGNORE 1 LINES | ||
(col1, | (col1, | ||
+ | </ | ||
- | -- SELECTION DE DONNEES | + | == Récupérer des DONNEES |
- | SELECT ' | + | <code mysql> |
- | SELECT col1, Col2 FROM nom_table ; renvoi | + | SELECT ' |
- | SELECT * FROM nom_table ; renvoi | + | SELECT col1, Col2 FROM nom_table ; -- renvoie |
- | SELECT colonne renvoi | + | SELECT * FROM nom_table ; -- renvoie |
+ | SELECT colonne -- renvoie | ||
FROM table | FROM table | ||
WHERE col=... AND/OR ... | WHERE col=... AND/OR ... | ||
Ligne 116: | 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' | + | ORDER BY col DESC/ASC -- |
- | ORDER BY col1 , col2 trier selon col1, puis col2 | + | ORDER BY col1 , 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 |
+ | </ | ||
- | -- 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 | ||
+ | </ | ||
- | -- 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 -- | ||
SET col1=valeur, | SET col1=valeur, | ||
WHERE critère | WHERE critère | ||
+ | </ | ||
- | -- SAUVEGARDE D'UNE BASE -- | ||
- | outil console : | ||
- | mysqldump -u user -ppassword -B base > file |