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.

Tismon
la source
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.

sush
la source
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

la source
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

Tanmay Patel
la source
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.

Prabhakar Undurthi
la source
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.

Varun PV
la source
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.

Ranjith
la source
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
Digisha
la source
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
jsina
la source
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
Venkatesh Kakalwar
la source
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
argent
la source
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

Shamit Verma
la source
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 ;

GeekLei
la source
1
mysql -u root -p -D dbname < tablename.sql
Nids Barthwal
la source
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
-> mysql -h host -u user -p database_name table_name < test_table.sql
Kesha Viveki
la source
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
noego
la source
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.

Vijay
la source