|
Services webmasters |
|
|
|
|
|
Partenaires |
|
|
|
4.8 MySQL Scripts clients et utilitaires
4 Administration du serveur
Manuel de Référence MySQL 4.1 : Version Française
. Présentation des scripts serveurs et utilitaires . mysql , l'outil en ligne de commande . mysqladmin , administrer un serveur MySQL . Utiliser mysqlcheck pour l'entretien et la réparation . mysqldump , exporter les structures de tables et les données . mysqlhotcopy , copier les bases et tables MySQL ->mysqlimport , importer des données depuis des fichiers texte . Afficher les bases, tables et colonnes . perror , expliquer les codes d'erreurs . Comment exécuter des commandes SQL depuis un fichier texte
|
4.8.7 mysqlimport , importer des données depuis des fichiers texte
mysqlimport
fournit une interface en ligne de commande à la
commande SQL
LOAD DATA INFILE
. La plupart des options de
mysqlimport
correspondent directement aux mêmes options de
LOAD DATA INFILE
.
Syntaxe des
LOAD DATA INFILE
.
mysqlimport
est appelé comme ceci :
shell> mysqlimport [options] database textfile1 [textfile2 ...]
|
Pour chaque fichier texte indiqué dans la ligne de commande,
mysqlimport
supprime toute extension du nom du fichier, et utilise
le résultat pour déterminer le nom de la table qui va recevoir
le contenu du fichier. Par exemple, pour des fichiers appelés
patient.txt
,
patient.text
et
patient
seront
tous importés dans la table
patient
.
mysqlimport
supporte les options suivantes :
-
-c, --columns=...
-
Cette option prend une liste de noms de colonnes, séparés par des virgules.
Ce champs est utilisé pour créer une commande
LOAD DATA INFILE
correcte,
qui sera alors passée à MySQL. Syntaxe des
LOAD DATA INFILE
.
-
-C, --compress
-
Compresse toutes les informations entre le client et le serveur, si c'est possible.
-
-#, --debug[=option_string]
-
Trace l'utilisation du programme (pour le débogage).
-
-d, --delete
-
Vide la table avant d'importer le fichier texte.
-
--fields-terminated-by=...
-
-
--fields-enclosed-by=...
-
-
--fields-optionally-enclosed-by=...
-
-
--fields-escaped-by=...
-
-
--lines-terminated-by=...
-
Ces options ont la même signification que les clauses correspondantes de
LOAD DATA INFILE
. Syntaxe des
LOAD DATA INFILE
.
-
-f, --force
-
Ignore les erreurs. Par exemple, si une table n'existe pas pour un fichier
texte,
mysqlimport
va continuer de traiter les autres fichiers.
Sans
--force
,
mysqlimport
se termine dès qu'une erreur survient.
-
--help
-
Affiche le message d'aide et quitte.
-
-h host_name, --host=host_name
-
Importe les données sur le serveur MySQL, avec l'hôte spécifié. La
valeur par défaut est
localhost
.
-
-i, --ignore
-
Voir la description de
--replace
.
-
-l, --lock-tables
-
Verrouille
toutes
les tables en écriture avant de ne traiter les fichiers
textes. Cela assure que toutes les tables sont synchronisée sur le serveur.
-
-L, --local
-
Lit le fichier d'entrée dans le client. Par défaut, les fichiers textes sont
supposés être lus par le serveur, si vous vous connectez à
localhost
(qui l'hôte par défaut).
-
-pyour_pass, --password[=your_pass]
-
Le mot de passe à utiliser lors de la connexion au serveur. Si vous
ne spécifiez pas la partie
'=your_pass'
,
mysqlimport
va vous demander le mot de passe en ligne.
-
-P port_num, --port=port_num
-
Le port TCP/IP utilisé avec l'hôte. Cela sert pour les connexions à des hôtes
qui ne sont pas
localhost
, pour lequel la socket Unix est utilisée.
-
-r, --replace
-
Les options
--replace
et
--ignore
contrôles la gestion des lignes lues
envers les lignes qui existent déjà sur le serveur. Si vous spécifiez l'option
--replace
, les nouvelles lignes remplaceront les lignes existantes.
Si vous spécifiez
--ignore
, les lignes qui sont en double dans une table
qui dispose d'une colonne de type unique. Si vous ne spécifiez pas ces options,
une erreur surviendra lorsqu'une clé en double sera trouvée, et la lecture du reste du
fichier sera annulé.
-
-s, --silent
-
Mode silencieux. N'affiche que les erreurs qui surviennent.
-
-S /path/to/socket, --socket=/path/to/socket
-
Le fichier de socket à utiliser lors de la connexion à
localhost
(qui
est l'hôte par défaut).
-
-u user_name, --user=user_name
-
Le nom de l'utilisateur MySQL à utiliser lors de la connexion au serveur MySQL.
La valeur par défaut est celui de votre utilisateur Unix.
-
-v, --verbose
-
Mode détaillé. Affiche bien plus d'informations sur les actions du programme.
-
-V, --version
-
Affiche la version et quitte.
Voici un exemple d'utilisation de
mysqlimport
:
$ mysql --version mysql Ver 9.33 Distrib 3.22.25, for pc-linux-gnu (i686) $ uname -a Linux xxx.com 2.2.5-15 #1 Mon Apr 19 22:21:09 EDT 1999 i586 unknown $ mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test $ ed a 100 Max Sydow 101 Count Dracula . w imptest.txt 32 q $ od -c imptest.txt 0000000 1 0 0 \t M a x S y d o w \n 1 0 0000020 1 \t C o u n t D r a c u l a \n 0000040 $ mysqlimport --local test imptest.txt test.imptest: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0 $ mysql -e 'SELECT * FROM imptest' test +------+---------------+ | id | n | +------+---------------+ | 100 | Max Sydow | | 101 | Count Dracula | +------+---------------+
|
|
|
|
|
Services webmasters |
|
|
|
|
|