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
. See Section 13.1.5, « Syntaxe de 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 :
--help, -?
Affiche le message d'aide et quitte.
--columns=column_list, -c column_list
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.
--compress, -C
Compresse toutes les informations entre le client et le serveur, si c'est possible.
--debug[=debug_options], -# [debug_options]
Active le débogage. la valeur de
debug_options
est souvent :
'd:t:o,file_name'
.
--delete, -D
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
. See
Section 13.1.5, « Syntaxe de LOAD DATA INFILE
».
--force, -f
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.
--host=host_name, -h host_name
Importe les données sur le serveur MySQL, avec l'hôte
spécifié. La valeur par défaut est
localhost
.
--ignore, -i
Voir la description de --replace
.
--ignore-lines=n
Ignore les n
premières lignes du fichier
de données.
--local, -L
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).
--lock-tables, -l
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.
--password[=password], -p[password]
Le mot de passe à utiliser lors de la connexion au serveur.
Notez que si vous utilisez l'option courte
(-p
), vous ne pouvez
pas laisser d'espace entre l'option est le mot de
passe. Si vous ne spécifiez pas le mot de passe avec
l'option, mysqlimport
va vous demander le
mot de passe en ligne.
--port=port_num, -P 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.
--protocol={TCP | SOCKET | PIPE | MEMORY}
Spécifie le protocole à utiliser pour se connecter. Nouveau en MySQL version 4.1.
--replace, -r
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é.
--silent, -s
Mode silencieux. N'affiche que les erreurs qui surviennent.
--socket=path, -S path
Le fichier de socket à utiliser lors de la connexion à
localhost
(qui est l'hôte par défaut).
--user=user_name, -u 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.
--verbose, -v
Mode détaillé. Affiche bien plus d'informations sur les actions du programme.
--verbose, -v
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 | +------+---------------+
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.