108 lines
4.8 KiB
Markdown
108 lines
4.8 KiB
Markdown
|
# mysqlloadcsv
|
||
|
|
||
|
~~~
|
||
|
mysqlloadcsv: Charger une table MySQL avec un fichier csv
|
||
|
|
||
|
USAGE
|
||
|
mysqlloadcsv [db.]table [fields...] [-- mysql options]
|
||
|
|
||
|
db est le nom de la base de données
|
||
|
table est le nom de la table à charger
|
||
|
fields est la liste des colonnes. Si cette valeur est spécifiée, il faudra
|
||
|
peut-être utiliser l'option -s pour ignorer le cas échéant la ligne des
|
||
|
en-têtes dans le fichier en entrée. Sinon, les colonnes à utiliser sont
|
||
|
calculées à partir du fichier en entrée.
|
||
|
|
||
|
Dans les données en entrées, qui doivent être en UTF8, les conversions suivantes
|
||
|
sont effectuées par MySQL:
|
||
|
|
||
|
\0 --> <caractère NUL>
|
||
|
\b --> <backspace>
|
||
|
\n --> <newline>
|
||
|
\r --> <carriage return>
|
||
|
\t --> <tab>
|
||
|
\Z --> Ctrl+Z
|
||
|
\N --> NULL
|
||
|
|
||
|
OPTIONS
|
||
|
-h, --host host
|
||
|
-P, --port port
|
||
|
-u, --user user
|
||
|
-ppassword
|
||
|
Informations de connexion à la base de données
|
||
|
-C, --config CONFIG
|
||
|
Prendre les informations de connexion depuis le fichier spécifié.
|
||
|
Le fichier doit être de la forme
|
||
|
host=HOST.TLD
|
||
|
#post=3306
|
||
|
user=USER
|
||
|
password=PASS
|
||
|
#dbtable=DB.TABLE
|
||
|
#fields=(FIELDS...)
|
||
|
# Il est possible aussi de spécifier DB et TABLE séparément:
|
||
|
#database=DB
|
||
|
#table=TABLE
|
||
|
Les variables port, dbtable et fields sont facultatives.
|
||
|
Les valeurs définies dans ce fichier sont prioritaires par rapport à
|
||
|
celles qui auraient été spécifiées sur la ligne de commande.
|
||
|
Utiliser password=--NOT-SET-- s'il faut se connecter sans mot de passe
|
||
|
Cette option peut être utilisée plusieurs fois, auquel cas les fichiers
|
||
|
sont chargés dans l'ordre.
|
||
|
--profile PROFILE
|
||
|
La variable $PROFILE est définie avec la valeur spécifiée avant de
|
||
|
sourcer les fichiers de configuration. Cela permet d'avoir des fichiers
|
||
|
de configuration qui calculent dynamiquement les paramètres en fonction
|
||
|
de la valeur du profil.
|
||
|
-f, --input INPUT
|
||
|
Fichier en entrée. Ne pas spécifier cette option ou utiliser '-' pour
|
||
|
lire depuis l'entrée standard.
|
||
|
-d, --auto-dbtable DB
|
||
|
Spécifier la base de données avec laquelle se connecter. De plus, si le
|
||
|
nom de la table n'est pas spécifié, prendre par défaut le nom de base du
|
||
|
fichier spécifié avec l'option -f
|
||
|
-s, --skip-lines NBLINES
|
||
|
Nombre de lignes à sauter dans le fichier en entrée
|
||
|
-n, --fake
|
||
|
Ne pas effectuer l'opération. Afficher simplement la commande SQL.
|
||
|
--run
|
||
|
Forcer le lancement de l'opération. Utiliser cette option avec -A pour
|
||
|
créer la table avec les paramètres analysés.
|
||
|
-T, --truncate
|
||
|
Vider la table avant d'effectuer le chargement
|
||
|
-L, --load-data
|
||
|
Charger les données avec la commande 'load data local'. C'est l'option
|
||
|
par défaut. Le fichier est transmis tel quel à MySQL.
|
||
|
-I, --insert-data
|
||
|
Charger les données en générant des commandes 'insert into'. L'effet est
|
||
|
en principe le même avec l'option -L (sauf que certains formats de date
|
||
|
exotiques seront correctement importés). Cette option peut aussi être
|
||
|
utilisée avec l'option -n pour générer une liste de commande à corriger
|
||
|
et/ou adapter.
|
||
|
-U, -k, --update-data KEY
|
||
|
Au lieu de charger de nouvelles données, essayer de mettre à jour la
|
||
|
table. KEY est le nom de la colonne qui est utilisée comme clé. Toutes
|
||
|
les autres colonnes sont les nouvelles données à mettre à jour. Si
|
||
|
aucune ligne ne correspond à une clé donnée, la mise à jour pour cette
|
||
|
ligne est ignorée.
|
||
|
Note: utiliser les options -T et -U ensemble n'a pas de sens, mais -T
|
||
|
est quand même honoré.
|
||
|
-Z, --null-value VALUE
|
||
|
Avec les options -I et -U, considérer que NULL est représenté par la
|
||
|
chaine spécifiée. Par défaut, utiliser \N
|
||
|
-z, --null-is-empty
|
||
|
Avec les options -I et -U, considérer que NULL est représenté par la
|
||
|
chaine vide. Cette option est équivalente à -Z ''
|
||
|
-t, --types [DEFAULT_TYPE,]FIELD:TYPE,...
|
||
|
Spécifier pour chaque champ mentionné le type de donnée à forcer. Le
|
||
|
type 'auto' signifie que le type est autodétecté. C'est la valeur par
|
||
|
défaut. Les autres types valides sont 'str', 'int' et 'date'
|
||
|
Cette option est ignorée avec l'option -L
|
||
|
-A, --analyse
|
||
|
Analyser les données et afficher une requête pour créer une table qui
|
||
|
pourrait contenir ces données.
|
||
|
Cette option implique --fake et affiche simplement la commande SQL.
|
||
|
Pour lancer la commande SQL générée, il faut ajouter l'option --run
|
||
|
APRES cette option
|
||
|
~~~
|
||
|
|
||
|
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary
|