Pourquoi ?
Hébergement
Création
Vérifier
F. A. Q.
Manuel
Conditions
Commander
Réserver
Contact
Manuel
Votre compte
Les scripts CGI
PHP
MySQL
MySQL et PHP
SSI
Les domaines
Petit glossaire
|
MySQL est un serveur de bases de données de
type SQL (Structured Query Language ou langage de requête structurée)
puissant, rapide, multi-utilisateurs et en libre utilisation (sous certaines conditions).
1 : Connexion au serveur MySQL
Sous telnet, pour se connecter en mode interactif au serveur MySQL, tapez :
mysql -u votreidentifiant -p -h hôte votrebase
-u votreidentifiant : désigne l'utilisateur, remplacez
"votreidentifiant" par votre identifiant.
-p : indique que vous aurez à entrer votre mot de passe
ensuite.
-h hôte : remplacez "hôte" par le nom du serveur où est
hébergé votre site.
votrebase : à remplacer par le nom de votre base de données.
2 : Création d'une table
Tapez par exemple :
CREATE TABLE nomtable (
numero SMALLINT,
nom CHAR(20),
prenom CHAR(20),
PRIMARY KEY (numero)
);
Remplacez "nomtable" par le nom de la table, suivi entre parenthèses
de la définition des champs. Chaque nom de champ est défini
par son type. A la fin de la dernière instruction, ne mettez pas de virgule. N'oubliez
pas le ; après la dernière parenthèse qui indique
à MySQL que vous lui envoyez pour exécution toutes les instructions
précédent le ; . Voici les types de champ les plus
utiles :
-
SMALLINT : nombre entier compris entre -32768 et 32767, si l'option
UNSIGNED est utilisée, ce nombre sera compris entre 0 et 65535.
-
MEDIUMINT : nombre entier compris entre -8388608 et 8388607, si
l'option UNSIGNED est utilisée, ce nombre sera compris entre 0 et
16777215.
-
INT : nombre entier compris entre -2147483648 et 2147483647, si
l'option UNSIGNED est utilisée, ce nombre sera compris entre 0 et
4294967295.
-
DECIMAL (entier,décimal) : nom réel, définissez
la longueur de chacune des deux parties.
-
DATE : date au format "YYYY-MM-DD" ou "YY-MM-DD" ou "YYMMDD" comprise
entre 0000-00-00 et 9999-12-31.
-
TIME : heure au format "HH:MM:SS" ou "HHMMSS" ou "HHMM' ou
"HH".
-
DATETIME : date et heure au format "YYYY-MM-DD HH:MM:SS".
-
CHAR(M) : texte avec une longeur fixée par M qui peut être
compris entre 1 et 255, si l'option BINARY est utilisée, une recherche
sur le contenu sera effectuée avec une casse sensible.
-
VARCHAR(M) : pareil que CHAR(M) mais la longueur est incluse dans
le champ et des espaces vides ne seront pas ajoutés à la
fin du texte.
-
TINYTEXT ou TINYBLOB : objet d'une longueur maximale de 255 caractères,
TINYTEXT aura un contenu de type ASCII (casse insensible) et TINYBLOB aura
un contenu de type binaire (casse sensible).
-
TEXT ou BLOB : objet d'une longueur maximale de 65535 caractères,
TEXT aura un contenu de type ASCII (casse insensible) et BLOB aura un contenu
de type binaire (casse sensible).
-
MEDIUMTEXT ou MEDIUMBLOB : objet d'une longueur maximale de 16777216
caractères, MEDIUMTEXT aura un contenu de type ASCII (casse insensible)
et MEDIUMBLOB aura un contenu de type binaire (casse sensible).
-
LONGTEXT ou LONGBLOB : objet d'une longueur maximale de 4294967295
caractères, LONGTEXT aura un contenu de type ASCII (casse insensible)
et LONGBLOB aura un contenu de type binaire (casse sensible).
-
ENUM('valeur','valeur2',...) : objet texte qui ne peut avoir qu'une
des valeurs 'valeur','valeur2',...
-
SET('valeur','valeur2',...) : objet texte qui peut avoir une ou
plusieurs des valeurs 'valeur','valeur2',...
Ajouter de préférence une clé primaire sur un champ avec "PRIMARY KEY" pour un meilleur
fonctionnement de la table.
3 : Ajouter des enregistrements
Tapez :
INSERT INTO nomtable VALUES(20,'Nom','Prénom');
Remplacez "nomtable" par le nom de votre table et les données
entre parenthèses par celles que vous désirez entrer dans
la table. Si vous désirez intégrer une apostrophe dans un
texte, mettez obligatoirement une barre oblique inversée juste
avant.
Ex. : l\'amour
4 : Modifier un enregistrement
Tapez :
UPDATE nomtable SET nomchamp='nouvellevaleur'
WHERE conditions;
Remplacez "nouvellevaleur" par la valeur qui modifiera l'ancienne valeur
de "nomchamp" pour les enregistrements satisfaisant "conditions".
Ex. : UPDATE ville SET nom='La Ciotat', region='PACA'
WHERE code_postal='13600';
Remplacez "conditions" par vos instructions de conditions séparées
par AND ou OR. Les opérandes de condition sont : =, <>, <=,
>=, ISNULL(champ), BETWEEN.
Ex.1 : table2.champ1 <= table1.champ1 AND
table2.champ1 >= table3.champ2
Ex.2 : table2.champ1 BETWEEN table1.champ1 AND
table3.champ2
A noter que si "WHERE conditions" n'est pas utilisée, la modification
s'effectuera sur tous les enregistrements. Vous pouvez aussi utiliser les
deux caractères de carte blanche % et _ avec LIKE.
% remplace un ou plusieurs caractères et _ remplace
un seul caractère.
Ex.3 : SELECT * FROM ville WHERE nom LIKE 'Par%' (pour
Paris)
Ex.4 : SELECT * FROM ville WHERE nom LIKE 'Par_s' (pour
Paris)
5 : Effacer un enregistrement
Tapez :
DELETE FROM nomtable WHERE conditions;
Ex. : DELETE FROM ville WHERE code_postal='13600' AND nom='LA
Ciotat';
A noter que si "WHERE conditions" n'est pas utilisée, la table
sera entièrement vidée.
6 : Sélectionner des enregistrements
Cette opération s'effectue avec la commande SELECT. Sa syntaxe
est en général :
SELECT quelchose FROM nomtable WHERE conditions ORDER
BY nomchamp;
Cette série de commandes affiche des enregistrements d'une table
selon certaines conditions et les classe en fonction d'un champ.
Remplacez "quelquechose" par * pour sélectionner tous les champs
ou par un ou plusieurs champs séparés par des virgules. Vous
pouvez sélectionner des champs de tables différents séparés
par des virgules ainsi : table1.champ1, table2.champ1, table3.champ2...
Remplacez nomtable par les noms d'une ou plusieurs tables séparés
par des virgules.
WHERE et ORDER BY sont optionnelles.
7 : Importer une table
Vous avez deux possibilités.
La première, en mode interactif,
Tapez :
LOAD DATA INFILE '/chemin/votretable.txt' INTO
TABLE nomtable options;
Remplacez "/chemin/votretable.txt" par la table à importer avec
son chemin sur le serveur, "nomtable" par la table MySQL de destination.
En options, vous pouvez indiquer entre autres :
-
FIELDS TERMINATED BY ';' : définit le
séparateur, ici ";", par défaut, "\t" (tabulation).
-
LINES TERMINATED BY '\n' : définit le
caractère de fin de ligne, par défaut, "\n".
La deuxième,
Vous devez d'abord quitter le mode interactif de MySQL en tapant "quit".
Ensuite, tapez :
mysqlimport -u votreidentifiant -p -h hôte -v
votrebase votretable.txt
La table "votretable.txt" sera importée dans la base "votrebase"
mais devra se trouver dans le répertoire courant, sinon définissez
son chemin. Vous devez au préalable avoir crée la structure
de la table d'accueil avec "CREATE TABLE votretable (...);".
L'argument optionnel -v vous permet de voir des informations
intéressantes durant le processus d'importation. Vous pouvez rajouter
entre autres :
--fields-terminated-by=;
Pour indiquer le caractère de séparation des champs, remplacez
;
par le caractère voulu.
Tapez mysqlimport -h pour connaître
les autres options.
8 : Exporter une table
Vous avez deux possibilités.
La première, en mode interactif,
Tapez :
SELECT * FROM nomtable WHERE conditions INTO OUTFILE
'/chemin/votretable.txt' options;
Remplacez "nomtable" par la table MySQL à exporter, '/chemin/votretable.txt'
par le nom du fichier de destination. Vous pouvez remplacer le *
par une sélection plus fine de champs. WHERE est optionnelle. En
options, vous pouvez indiquer entre autres :
-
FIELDS TERMINATED BY ';' : définit le
séparateur,
ici ";", par défaut, "\t" (tabulation).
-
LINES TERMINATED BY '\n' : définit le
caractère de fin de ligne, par défaut, "\n".
La deuxième,
Vous devez d'abord quitter le mode interactif de MySQL en tapant "quit".
Ensuite, tapez :
mysqldump -u votreidentifiant -p -h hôte -v votrebase
nomtable -T /repertoire
La table "nomtable" de la base "votrebase" sera exportée vers
le fichier "nomtable.txt" dans le répertoire voulu grâce à
l'argument -T.
MySQL devra pouvoir écrire dans le répertoire désigné. Pour cela, attribuez
temporairement le chmod 777 à ce répertoire.
9 : Modifier la structure d'une table
Tapez :
ALTER TABLE nomtable commandes;
Remplacez "commandes" suivant les exemples ci-dessous :
-
ALTER TABLE table1 RENAME table2; pour changer
le nom de table1 en table2
-
ALTER TABLE table2 CHANGE champ1 champ2 TINYINT;
change le nom de champ1 en champ2 avec le type TINYINT
-
ALTER TABLE table2 ADD heure TIMESTAMP; ajoute
le champ heure de type TIMESTAMP
-
ALTER TABLE table2 ADD INDEX (d); ajoute un
champ index nommé d
-
ALTER TABLE table2 DROP COLUMN c; efface le
champ c
10 : Effacer une table
Tapez :
DROP TABLE nomtable;
Vous pouvez effacer plusieurs tables en même temps en les séparant
d'une virgule.
11 : Obtenir des informations
Tapez en mode interactif :
-
SHOW TABLES; pour afficher les noms des tables
de votre base de données
-
SHOW COLUMNS FROM nomtable; pour avoir des
informations sur les champs de "nomtable"
-
SHOW VARIABLES; pour afficher les variables
d'environnement de MySQL
-
SHOW STATUS; pour afficher l'état de
MySQL
Cette introduction à MySQL ne montre qu'une
infime partie de ses énormes possibilités. Téléchargez
une version de MySQL
depuis un site miroir.
 |