MySQL
- Index et astuces
[Configuration]
[Commandes
utiles] [Liens
utiles]
Configuration
et lancement :
les outils se
trouvent généralement dans c:\mysql\bin
si le service mySql n'existe pas (sous NT) exécuter la commande
c:\mysql\bin\mysqld-shareware.exe --install (ou mysqld.exe)
démarrer
ensuite le service NT MySQL depuis le Control Panel -> Services
sous Win95,
démarrer mysqld-shareware.exe
depuis une console MsDos
pour entrer
dans le serveur de base de données (depuis Command Prompt MsDOS)
c:
cd
\mysql\bin
mysql
//
Le prompt mysql> s'affiche
mysql
< batch-file > mysql.out
// lancement en batch
syntaxe du fichier batch : # pour les commentaires, instruction
QUIT inutile en fin de fichier
Commandes
utiles (sous mysql) :
Remarques
doskey
est normalement activé (historique des commandes par les flèches)
;
est attendu en fin de commande pour celles qui peuvent s'étendre sur plus d'une
ligne
0
signifie false (ex. 1 is null) et 1 signifie true (ex.
1 is not null)
Fonctions
diverses
SELECT
VERSION(), CURRENT_DATE, NOW(), USER();
SELECT SIN(PI()/4);
SHOW
DATABASES; // liste les bases
USE test; //
changer de base listée avant
SHOW tables; //
lister les tables de la base courante
DESC[ribe] nom_de_table;
//
charger une table - 'pet.txt'
contenant un enregistrement par ligne, tab-delimited, \N pour les valeurs null
LOAD DATA LOCAL INFILE "pet.txt"
INTO TABLE pet;
SELECT * FROM pet WHERE birth
>= "1989-07-30";
INSERT INTO pet VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
UPDATE pet SET birth = "1989-08-31"
WHERE name = "Bowser";
DELETE FROM pet;
Clause
FROM :
FROM tbl1, tbl2 WHERE tbl1.c
= tbl2.c (syntaxe d'un INNER JOIN sur le champ 'c')
FROM tbl1 LEFT JOIN tbl2 ON tbl1.c
= tbl2.c (pour
obtenir les données de tbl1 même si le lien pointe sur null dans
tbl2).
Clause
WHERE :
LIKE "____"; LIKE "%w%";
RLIKE and NOT RLIKE (regexp)
(ex. SELECT * FROM pet WHERE name REGEXP "fy$"; se terminant par fy,
"^[bB]"
commençant par 'b' ou 'B', "^.....$" ou "^.{5}$" de cinq caractères exactement)
TO_DAYS() // ex. SELECT (TO_DAYS(NOW())-TO_DAYS(birth))/365
FROM tbl; // age actuel
CONCAT()
QUIT
Création
d'une table de test
CREATE
TABLE tbl1 (nom VARCHAR(5), prenom VARCHAR(10), sexe CHAR(1), age INT);
INSERT
INTO tbl1 (prenom, sexe, age, nom) VALUES ('SEB', 'M', 15, 'NENNE');
//
attention ligne suivante 'nom' tronqué à 5 caractères
INSERT
INTO tbl1 (prenom, sexe, age, nom) VALUES ('SEB', 'M', 15, 'NENNES');
INSERT INTO tbl1 (prenom, sexe,
age, nom) VALUES ('SEB', 'M', 15, 'NOM1');
SELECT * FROM tbl1;
Outils
d'import/export
mysqldump
permet de créer un script de création des tables avec les données
(export) ;
mysqlimport
permet d'importer des données depuis un fichier tab-delimited dans des
tables.
Liens
utiles (ouvre une nouvelle fenêtre) :
site
officiel de référence en anglais .
[Configuration]
[Commandes
utiles] [Liens
utiles]
Date
de modification : 17 mai 2000