mysqlhotcopy , copier les bases et tables MySQL
<<<
mysqlimport , importer des données depuis des fichiers texte Afficher les bases, tables et colonnes
>>>

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 |
+------+---------------+

<< mysqlimport , importer des données depuis des fichiers texte >>
mysqlhotcopy , copier les bases et tables MySQL MySQL Scripts clients et utilitaires Afficher les bases, tables et colonnes