8 MySQL Scripts clients et utilitaires
Manuel de Référence MySQL 4.1 : Version Française
. Présentation des scripts serveurs et utilitaires . myisampack , le générateur de tables MySQL compressées en lecture seule . mysql , l'outil en ligne de commande . mysqladmin , administration d'un serveur MySQL . mysqlbinlog , Exécuter des requêtes dans le log binaire . mysqlcc , MySQL Control Center . Utiliser mysqlcheck pour l'entretien et la réparation . mysqldump , sauvegarde des 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 . L'utilitaire de remplacement de chaînes replace
|
8.10 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 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
. 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 | +------+---------------+
|
|