Comment importer une seule table dans la base de données mysql en utilisant la ligne de commande


141

J'avais importé avec succès une base de données en utilisant la ligne de commande, mais maintenant mon problème est de savoir comment importer une seule table avec ses données dans la base de données existante en utilisant la ligne de commande.


3
exporter une seule table uniquement et importer
Shakti Singh

3
Voir aussi cette question en double: stackoverflow.com/q/1013852/385571 avec ses réponses les plus pertinentes
MattBianco

Réponses:


317

Linux:

En ligne de commande

 mysql -u username -p  databasename  < path/example.sql

mettez votre table dans example.sql

Importation / exportation pour une seule table:

  1. Exporter le schéma de table

    mysqldump -u username -p databasename tableName > path/example.sql

    Cela créera un fichier nommé example.sqlau chemin mentionné et écrira la create tablecommande sql pour créer une table tableName.

  2. Importer des données dans une table

    mysql -u username -p databasename < path/example.sql

    Cette commande nécessite un fichier sql contenant des données sous forme d' insertinstructions pour table tableName. Toutes les insertinstructions seront exécutées et les données seront chargées.


2
le -u a été manqué;) mysqldump -u username -p databasename tableName> path / example.sql
Kazmin

2
Pour l'importation, vous n'avez pas besoin d'utiliser mysql dump. mysql -u username -p databasename tableName <chemin / exemple.sql Cela devrait faire votre travail
Prabhakar Undurthi

8
Le tableNamenom n'est pas nécessaire pour toutes les versions de MySQL et il produit des erreurs, vous devrez peut-être l'omettre!
mchar

1
J'obtenais une erreur de syntaxe jusqu'à ce que je réalise que j'étais dans bash et non mysql lors de l'exécution.
Christia

2
Cela ne fonctionnerait que si j'ai accès à la base de données à partir de laquelle je peux exporter une table spécifique. Cependant, si j'ai un vidage complet de la base de données et que je souhaite sélectionner la ou les tables à importer, cette solution ne fonctionnera pas. Le message lié Puis-je restaurer une seule table à partir d'un fichier mysql mysqldump complet? résout ce problème.
codeforester

34

Exportation:

mysqldump --user=root databasename > whole.database.sql
mysqldump --user=root databasename onlySingleTableName > single.table.sql

Importer :

Base de données entière :

mysql --user=root wholedatabase < whole.database.sql

Table simple :

mysql --user=root databasename < single.table.sql


12

Importer la table unique

Pour importer une seule table dans une base de données existante, vous utiliserez la commande suivante:

mysql -u username -p -D database_name < tableName.sql

Remarque: il est préférable d'utiliser le chemin complet du fichier sql tableName.sql


5

Ligne de commande

Importation / exportation pour une seule table:

Exportation du schéma de table

 -> mysqldump -u your_user_name -p your_database_name table_name > test.sql

Cela créera un fichier nommé test.sql et créera une commande table sql pour créer la table nom_table.

Importation de données dans une table

 -> mysql -u your_user_name -p database_name table_name < test.sql

Assurez-vous que votre fichier test.sql se trouve dans le même répertoire, sinon parcourez le chemin, puis exécutez la commande.


3
Vous n'avez pas besoin de spécifier le nom de la table dans la ligne de commande, car le fichier SQL exporté a l'appel approprié pour créer la table. Tout ce dont vous avez besoin est mysql -u your_user_name -p database_name < test.sql.
Michael De Silva

1
Voici un exemple d'une table exportée, `22 DROP TABLE IF EXISTS account_product_prices; 23 / *! 40101 SET @saved_cs_client = @@ character_set_client /; 24 / ! 40101 SET jeu_caractères_client = utf8 * /; 25 CREATE TABLE account_product_prices(`
Michael De Silva

5

Tout d'abord, connectez-vous à votre base de données et vérifiez si la table de base de données que vous souhaitez importer n'est pas disponible dans votre base de données.

S'il est disponible, supprimez la table à l'aide de la commande. Sinon, une erreur sera générée lors de l'importation de la table.

DROP TABLE Table_Name;

Ensuite, placez-vous dans le dossier dans lequel vous avez le .sqlfichier à importer et exécutez la commande suivante depuis votre terminal

mysql -u username -p  databasename  < yourtable.sql

Le terminal vous demandera de saisir le mot de passe. Entrez-le et vérifiez la base de données.


4

Cela fonctionne correctement ...

C:\>mysql>bin>mysql -u USERNAME DB_NAME < tableNameFile.sql

veuillez noter que le fichier .sql a spécifié votre base de données actuelle.


2

Nous pouvons importer une seule table en utilisant CMD comme ci-dessous:

D:\wamp\bin\mysql\mysql5.5.24\bin>mysql -h hostname -u username -p passowrd databasename < filepath

2

si vous avez déjà la table souhaitée dans votre base de données, supprimez-la d'abord, puis exécutez la commande ci-dessous:

 mysql -u username -p  databasename  < yourtable.sql

2

Du serveur au local (exportation)

mysqldump -u username -p db_name table_name > path/filename.sql;
mysqldump -u root -p remotelab welcome_ulink > 
/home_local/ladmin/kakalwar/base/welcome_ulink.sql;

Du local au serveur (importation)

mysql -u username -p -D databasename < path/x/y/z/welcome_queue.sql
mysql -u root -p -D remotelab < 
/home_local/ladmin/kakalwar/instant_status/db_04_12/welcome_queue.sql

2
Pour les débutants, veuillez noter que vous devez opérer à partir d'un terminal non à l'intérieur du mysql après avoir appuyé sur la commande, il vous demandera le mot de passe db_password
Venkatesh Kakalwar

2

Aussi son fonctionnement. Sous forme de commande

cd C:\wamp\bin\mysql\mysql5.5.8\bin //hit enter
mysql -u -p databasename //-u=root,-p=blank

2
  • Ce serait une combinaison de EXPORT INTO OUTFILEetLOAD DATA INFILE

  • Vous devez exporter cette table unique avec EXPORT INTO OUTFILE, cela exportera les données de la table dans un fichier. Vous pouvez importer cette table particulière en utilisantLOAD DATA INFILE

  • Référez-vous doc1 , doc2


1

vous pouvez le faire dans la commande mysql au lieu de la commande linux.
1. connectez-vous à votre mysql.
2. exécutez ceci dans la commande mysql:
use DATABASE_NAME;
SET autocommit=0 ; source ABSOLUTE_PATH/TABLE_SQL_FILE.sql ; COMMIT ;


1
mysql -u root -p -D dbname < tablename.sql

1
Bien que cet extrait de code soit le bienvenu et puisse fournir une aide, il serait grandement amélioré s'il incluait une explication sur comment et pourquoi cela résout le problème. N'oubliez pas que vous répondez à la question des lecteurs à l'avenir, pas seulement à la personne qui la pose maintenant! Veuillez modifier votre réponse pour ajouter une explication et donner une indication des limites et des hypothèses applicables.
Toby Speight


0

L'utilisation d'une base de données temporaire peut être une solution en fonction de la taille de la base de données.

mysql -u [username] -p -e "create database tempdb"
mysql -u [username] -p tempdb < db.sql
mysqldump -u [username] -p tempdb _table_to_import_ > table_to_import.sql
mysql -u [username] -p maindb < table_to_import.sql

0

Pour importer une table dans la base de données, si la table existe déjà, ajoutez cette ligne dans votre fichier sql DROP TABLE IF EXIST 'table_name'et exécutez la commande mysql -u username -p database_name < import_sql_file.sql. Veuillez vérifier le chemin du fichier sql avant d'exécuter la commande.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.