Como importar uma única tabela para o banco de dados mysql usando a linha de comando

141

Eu havia importado com sucesso um banco de dados usando a linha de comando, mas agora minha área de atuação é como importar uma única tabela com seus dados para o banco de dados existente usando a linha de comando.

tismon
fonte
3
exportar apenas mesa única e importação
Shakti Singh
3
Veja também esta pergunta duplicado: stackoverflow.com/q/1013852/385571 com suas respostas mais relevantes
Matt Bianco

Respostas:

317

Linux:

Na linha de comando

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

coloque sua tabela em example.sql

Importar / Exportar para tabela única:

  1. Esquema da tabela de exportação

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

    Isso criará um arquivo nomeado example.sqlno caminho mencionado e create tablegravará o comando sql para criar a tabela tableName.

  2. Importar dados para a tabela

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

    Este comando precisa de um arquivo sql contendo dados em forma de insertinstruções para a tabela tableName. Todas as insertinstruções serão executadas e os dados serão carregados.

sush
fonte
2
o -u foi perdido;) mysqldump -u nome de usuário -p nome do banco de dados nome_da_tabela> caminho / exemplo.sql
Kazmin
2
Para importar, você não precisa usar o mysql dump. mysql -u usuário -p databasename tableName <path / example.sql Ele deve fazer o seu trabalho
Prabhakar Undurthi
8
O tableNamenome não é necessário para todas as versões do MySQL e produz erros, portanto, você pode precisar omiti-lo!
Mchar 25/08
1
Eu estava recebendo um erro de sintaxe até perceber que estava no bash e não no mysql ao executar.
Christia
2
Isso funcionaria apenas se eu tivesse acesso ao banco de dados do qual posso exportar uma tabela específica. No entanto, se eu tiver um despejo completo do banco de dados e desejar escolher as tabelas a serem importadas, essa solução não funcionará. O post vinculado Posso restaurar uma única tabela de um arquivo mysql mysqldump completo? aborda esse problema.
codeforester
34

Exportar:

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

Importar :

Banco de dados inteiro :

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

Mesa única :

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

fonte
12

Importando a tabela única

Para importar uma única tabela para um banco de dados existente, você usaria o seguinte comando:

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

Nota: É melhor usar o caminho completo do arquivo sql tableName.sql

Tanmay Patel
fonte
5

Linha de comando

Importar / Exportar para tabela única:

Exportando esquema da tabela

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

Isso criará um arquivo chamado test.sql e cria o comando table sql para criar a tabela table_name.

Importando dados para a tabela

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

Verifique se o arquivo test.sql está no mesmo diretório, se não navegar pelo caminho e, em seguida, execute o comando

Prabhakar Undurthi
fonte
3
Você não precisa especificar o nome da tabela na linha de comandos, pois o arquivo SQL exportado possui a chamada relevante para criar a tabela. Tudo que você precisa é mysql -u your_user_name -p database_name < test.sql.
Michael De Silva
1
Aqui está um exemplo de uma tabela 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 CREATE TABLE account_product_prices(`
Michael De Silva
5

Primeiro, entre no seu banco de dados e verifique se a tabela do banco de dados que você deseja importar não está disponível no seu banco de dados.

Se estiver disponível, exclua a tabela usando o comando Caso contrário, ocorrerá um erro ao importar a tabela.

DROP TABLE Table_Name;

Em seguida, vá para a pasta na qual você tem o .sqlarquivo a ser importado e execute o seguinte comando no seu terminal

mysql -u username -p  databasename  < yourtable.sql

O terminal solicitará que você digite a senha. Digite e verifique o banco de dados.

Varun PV
fonte
4

Funciona corretamente ...

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

observe que o arquivo .sql especificou seu banco de dados atual.

Ranjith
fonte
2

Podemos importar uma única tabela usando o CMD, como abaixo:

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

se você já possui a tabela desejada no seu banco de dados, primeiro exclua-a e execute o comando abaixo:

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

Do servidor para o 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;

Do local para o 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
fonte
2
Para iniciantes Observe que u tem que operar a partir de terminal não dentro do mysql depois de bater o comando que irá pedir a senha do db_password
Venkatesh Kakalwar
2

Também está funcionando. Em forma de comando

cd C:\wamp\bin\mysql\mysql5.5.8\bin //hit enter
mysql -u -p databasename //-u=root,-p=blank
dinheiro
fonte
2
  • Seria combinação de EXPORT INTO OUTFILEeLOAD DATA INFILE

  • Você precisa exportar essa tabela única com EXPORT INTO OUTFILE, isso exportará dados da tabela para um arquivo. Você pode importar essa tabela específica usandoLOAD DATA INFILE

  • Consulte doc1 , doc2

Shamit Verma
fonte
1

você pode fazer isso no comando mysql em vez do comando linux.
1.login seu mysql.
2.excute isso no comando mysql:
use DATABASE_NAME;
SET autocommit=0 ; source ABSOLUTE_PATH/TABLE_SQL_FILE.sql ; COMMIT ;

GeekLei
fonte
1
mysql -u root -p -D dbname < tablename.sql
Nids Barthwal
fonte
1
Embora esse trecho de código seja bem-vindo e possa fornecer alguma ajuda, ele seria bastante aprimorado se incluísse uma explicação de como e por que isso resolve o problema. Lembre-se de que você está respondendo à pergunta dos leitores no futuro, não apenas à pessoa que está perguntando agora! Por favor edite sua resposta para adicionar explicação, e dar uma indicação do que limitações e premissas se aplicam.
precisa
0
-> mysql -h host -u user -p database_name table_name < test_table.sql
Kesha Viveki
fonte
0

Usar um banco de dados temporário pode ser uma solução, dependendo do tamanho do banco de dados.

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

Para importar uma tabela no banco de dados, se a tabela é já existem em seguida, adicione essa linha em seu arquivo sql DROP TABLE IF EXIST 'table_name'comando e correr mysql -u username -p database_name < import_sql_file.sql. Por favor, verifique o caminho do arquivo sql antes de executar o comando.

Vijay
fonte