Maison > Article > base de données > [Tutoriel MySQL] Importer des données MySQL
Importer des données MySQL
Il existe deux manières simples d'importer des données exportées par MySQL dans MySQL.
Utilisez LOAD DATA pour importer des données
MySQL fournit l'instruction LOAD DATA INFILE pour insérer des données. Dans l'exemple suivant, le fichier dump.txt sera lu depuis le répertoire courant et les données du fichier seront insérées dans la table mytbl de la base de données actuelle.
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
Si le mot clé LOCAL est spécifié, il indique que le fichier est lu depuis l'hôte client selon le chemin. S'il n'est pas spécifié, le fichier est lu par chemin sur le serveur.
Vous pouvez spécifier explicitement des séparateurs de valeurs de colonne et des marqueurs de fin de ligne dans l'instruction LOAD DATA, mais les marqueurs par défaut sont des localisateurs et des nouvelles lignes.
La syntaxe des clauses FIELDS et LINES des deux commandes est la même. Les deux clauses sont facultatives, mais si les deux sont spécifiées, la clause FIELDS doit apparaître avant la clause LINES.
Si l'utilisateur spécifie une clause FIELDS, ses clauses (TERMINATED BY, [OPTIONALLY] ENCLOSED BY et ESCAPED BY) sont également facultatives, cependant, l'utilisateur doit spécifier au moins l'une d'entre elles.
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl -> FIELDS TERMINATED BY ':' -> LINES TERMINATED BY '\r\n';
CHARGER LES DONNÉES Par défaut, les données sont insérées dans l'ordre des colonnes dans le fichier de données. Si les colonnes du fichier de données sont incohérentes avec les colonnes du tableau inséré, vous devez spécifier l'ordre. des colonnes.
Par exemple, l'ordre des colonnes dans le fichier de données est a, b, c, mais l'ordre des colonnes dans le tableau inséré est b, c, a, alors la syntaxe d'importation des données est la suivante :
mysql> LOAD DATA LOCAL INFILE 'dump.txt' -> INTO TABLE mytbl (b, c, a);
Utilisez mysqlimport pour importer des données
Le client mysqlimport fournit une interface de ligne de commande pour l'instruction LOAD DATA INFILEQL. La plupart des options de mysqlimport correspondent directement à la clause LOAD DATA INFILE.
Pour importer des données du fichier dump.txt dans la table de données mytbl, vous pouvez utiliser la commande suivante :
$ mysqlimport -u root -p --local database_name dump.txt password *****
La commande mysqlimport peut spécifier des options pour définir le format spécifié. Le format de l'instruction de commande est le suivant :
$ mysqlimport -u root -p --local --fields-terminated-by=":" \ --lines-terminated-by="\r\n" database_name dump.txt password *****
Utilisez l'option --columns dans l'instruction mysqlimport pour définir l'ordre des colonnes :
$ mysqlimport -u root -p --local --columns=b,c,a \ database_name dump.txt password *****
Introduction aux options courantes de mysqlimport
option
Fonction
-d ou --delete Supprimez toutes les informations de la table de données avant que de nouvelles données ne soient importées dans le table de données
-f ou - -force Qu'une erreur soit rencontrée ou non, mysqlimport forcera à continuer l'insertion de données
-i ou --ignore mysqlimport ignore ou ignore les lignes avec le même unique mot-clé et les données du fichier importé seront ignorées.
-l ou -lock-tables Verrouillez la table avant que les données ne soient insérées, empêchant ainsi les requêtes et les mises à jour des utilisateurs d'être affectées lorsque vous mettez à jour la base de données.
-r ou -replace Cette option a l'effet inverse de l'option -i ; cette option remplacera les enregistrements avec la même clé unique dans la table.
--fields-enclosed-by= char Spécifie comment mettre les enregistrements de données dans le fichier texte. Dans de nombreux cas, les données sont placées entre guillemets. Par défaut, les données ne sont pas entourées de caractères.
--fields-terminated- by=char Spécifie le délimiteur entre les valeurs de chaque donnée Dans un fichier délimité par des points, le délimiteur est un point. Vous pouvez utiliser cette option pour spécifier le délimiteur entre les données. Le délimiteur par défaut est le caractère de tabulation (Tab)
--lines-terminated-by=str Cette option spécifie la chaîne ou le caractère qui sépare les données entre les lignes du fichier texte. Par défaut, mysqlimport utilise la nouvelle ligne comme séparateur de ligne. Vous pouvez choisir de remplacer un seul caractère par une chaîne : une nouvelle ligne ou un retour chariot.
Les options couramment utilisées de la commande mysqlimport incluent -v pour afficher la version (version), -p pour demander un mot de passe (mot de passe), etc.
Ce qui précède est le contenu du [tutoriel mysql] MySQL pour l'importation de données. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !