Cómo importar una sola tabla a la base de datos mysql usando la línea de comando

141

Había importado con éxito una base de datos usando la línea de comando, pero ahora mi área de dolor es cómo importar una sola tabla con sus datos a la base de datos existente usando la línea de comando.

tismon
fuente
3
exportar una sola tabla e importar
Shakti Singh
3
Vea también esta pregunta duplicada: stackoverflow.com/q/1013852/385571 con sus respuestas más relevantes
MattBianco

Respuestas:

317

Linux:

En línea de comando

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

pon tu tabla en example.sql

Importar / Exportar para una sola tabla:

  1. Exportar esquema de tabla

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

    Esto creará un archivo nombrado example.sqlen la ruta mencionada y escribirá el create tablecomando sql para crear la tabla tableName.

  2. Importar datos a la tabla

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

    Este comando necesita un archivo sql que contenga datos en forma de insertdeclaraciones para la tabla tableName. insertSe ejecutarán todas las declaraciones y se cargarán los datos.

sush
fuente
2
se perdió el -u;) mysqldump -u nombre de usuario -p databasename tableName> ruta / ejemplo.sql
Kazmin
2
Para importar no necesita usar mysql dump. mysql -u username -p databasename tableName <ruta / ejemplo.sql Debería hacer su trabajo
Prabhakar Undurthi
8
El tableNamenombre no es necesario para todas las versiones de MySQL y produce errores, por lo que es posible que deba omitirlo.
mchar
1
Estaba recibiendo un error de sintaxis hasta que me di cuenta de que estaba en bash y no mysql al ejecutar.
Christia
2
Esto funcionaría solo si tengo acceso a la base de datos desde la cual puedo exportar una tabla específica. Sin embargo, si tengo un volcado completo de la base de datos y quiero seleccionar las tablas para importar, esta solución no funcionará. La publicación vinculada ¿Puedo restaurar una sola tabla desde un archivo mysql mysqldump completo? aborda ese problema.
codeforester
34

Exportar:

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

Importar :

Base de datos completa :

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

Mesa individual :

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

fuente
12

Importar la tabla individual

Para importar una sola tabla a una base de datos existente, usaría el siguiente comando:

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

Nota: es mejor utilizar la ruta completa del archivo sql tableName.sql

Tanmay Patel
fuente
5

Línea de comando

Importar / Exportar para una sola tabla:

Exportar esquema de tabla

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

Esto creará un archivo llamado test.sql y creará el comando table sql para crear la tabla nombre_tabla.

Importar datos a la tabla

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

Asegúrese de que su archivo test.sql esté en el mismo directorio, si no navega por la ruta y luego ejecute el comando.

Prabhakar Undurthi
fuente
3
No necesita especificar el nombre de la tabla en la línea de comando, ya que el archivo SQL exportado tiene la llamada relevante para crear la tabla. Todo lo que necesita es mysql -u your_user_name -p database_name < test.sql.
Michael De Silva
1
Aquí hay un ejemplo de una tabla exportada, `22 DROP TABLE IF EXISTS account_product_prices; 23 / *! 40101 SET @saved_cs_client = @@ character_set_client /; 24 / ! 40101 SET character_set_client = utf8 * /; 25 CREAR TABLA account_product_prices(`
Michael De Silva
5

En primer lugar, inicie sesión en su base de datos y verifique si la tabla de la base de datos que desea importar no está disponible en su base de datos.

Si está disponible, elimine la tabla con el comando. De lo contrario, arrojará un error al importar la tabla.

DROP TABLE Table_Name;

Luego, vaya a la carpeta en la que tiene el .sqlarchivo para importar y ejecute el siguiente comando desde su terminal

mysql -u username -p  databasename  < yourtable.sql

El terminal le pedirá que ingrese la contraseña. Ingrese y verifique la base de datos.

PV Varun
fuente
4

Funciona correctamente ...

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

tenga en cuenta que el archivo .sql especificó su base de datos actual.

Ranjith
fuente
2

Podemos importar una sola tabla usando CMD de la siguiente manera:

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

Si ya tiene la tabla deseada en su base de datos, primero elimínela y luego ejecute el siguiente comando:

 mysql -u username -p  databasename  < yourtable.sql
jsina
fuente
2

De servidor a local (Exportando)

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;

De local a servidor (Importando)

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
fuente
2
Para principiantes, tenga en cuenta que debe operar desde la terminal que no está dentro del mysql después de presionar el comando, le pedirá la contraseña db_password
Venkatesh Kakalwar
2

También está funcionando. En forma de comando

cd C:\wamp\bin\mysql\mysql5.5.8\bin //hit enter
mysql -u -p databasename //-u=root,-p=blank
dinero
fuente
2
  • Sería una combinación de EXPORT INTO OUTFILEyLOAD DATA INFILE

  • Necesita exportar esa única tabla con EXPORT INTO OUTFILE, esto exportará los datos de la tabla a un archivo. Puede importar esa tabla en particular usandoLOAD DATA INFILE

  • Consulte doc1 , doc2

Shamit Verma
fuente
1

puede hacerlo en el comando mysql en lugar del comando linux.
1.Inicie sesión en mysql.
2.explica esto en el comando mysql:
use DATABASE_NAME;
SET autocommit=0 ; source ABSOLUTE_PATH/TABLE_SQL_FILE.sql ; COMMIT ;

GeekLei
fuente
1
mysql -u root -p -D dbname < tablename.sql
Nids Barthwal
fuente
1
Si bien este fragmento de código es bienvenido y puede proporcionar algo de ayuda, mejoraría mucho si incluyera una explicación de cómo y por qué esto resuelve el problema. ¡Recuerde que está respondiendo la pregunta para los lectores en el futuro, no solo la persona que pregunta ahora! Por favor, editar su respuesta para agregar explicación y dar una indicación de lo que se aplican limitaciones y supuestos.
Toby Speight
0
-> mysql -h host -u user -p database_name table_name < test_table.sql
Kesha Viveki
fuente
0

El uso de una base de datos temporal podría ser una solución dependiendo del tamaño de la base de datos.

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
fuente
0

Para importar una tabla a la base de datos, si la tabla ya existe, agregue esta línea en su archivo sql DROP TABLE IF EXIST 'table_name'y ejecute el comando mysql -u username -p database_name < import_sql_file.sql. Verifique la ruta del archivo sql antes de ejecutar el comando.

Vijay
fuente