Come importare una singola tabella nel database mysql usando la riga di comando


141

Avevo importato con successo un database usando la riga di comando, ma ora la mia area problematica è come importare una singola tabella con i suoi dati nel database esistente usando la riga di comando.


3
esporta solo una tabella e importa
Shakti Singh,

3
Vedi anche questa domanda duplicata: stackoverflow.com/q/1013852/385571 con le sue risposte più pertinenti
MattBianco,

Risposte:


317

Linux:

Nella riga di comando

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

metti la tua tabella in example.sql

Importa / Esporta per tabella singola:

  1. Esporta schema tabella

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

    Questo creerà un file chiamato example.sqlnel percorso indicato e scriverà il create tablecomando sql per creare una tabella tableName.

  2. Importa i dati nella tabella

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

    Questo comando richiede un file sql contenente dati in forma di insertistruzioni per la tabella tableName. Tutte le insertdichiarazioni verranno eseguite e i dati verranno caricati.


2
il -u è stato perso;) mysqldump -u username -p nomefile nome tabella tableName> percorso / esempio.sql
Kazmin

2
Per l'importazione non è necessario utilizzare mysql dump. mysql -u username -p nome database nome tabella <percorso / esempio.sql Dovrebbe fare il tuo lavoro
Prabhakar Undurthi,

8
Il tableNamenome non è necessario per tutte le versioni di MySQL e produce errori, quindi potrebbe essere necessario ometterlo!
Mchar

1
Stavo ricevendo un errore di sintassi fino a quando mi sono reso conto di essere in bash e non mysql durante l'esecuzione.
Christia,

2
Funzionerebbe solo se avessi accesso al database da cui posso esportare una tabella specifica. Tuttavia, se ho un dump completo del database e desidero selezionare le tabelle da importare, questa soluzione non funzionerà. Il post collegato Posso ripristinare una singola tabella da un file mysql mysqldump completo? risolve tale problema.
codeforester,

34

Esportare:

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

Importazione :

Database intero :

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

Tavolo unico :

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


12

Importazione della tabella singola

Per importare una singola tabella in un database esistente, utilizzare il seguente comando:

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

Nota: è meglio utilizzare il percorso completo del file sql tableName.sql


5

Riga di comando

Importa / Esporta per tabella singola:

Esportazione dello schema di tabella

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

Questo creerà un file chiamato test.sql e crea il comando sql table per creare table table_name.

Importazione di dati nella tabella

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

Assicurarsi che il file test.sql sia nella stessa directory, in caso contrario navigare nel percorso e quindi eseguire il comando.


3
Non è necessario specificare il nome della tabella nella riga di comando, poiché il file SQL esportato ha la chiamata rilevante per creare la tabella. Tutto ciò che serve è mysql -u your_user_name -p database_name < test.sql.
Michael De Silva,

1
Ecco un esempio da una tabella esportata, `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

Prima di tutto, accedi al tuo database e controlla se la tabella del database che desideri importare non è disponibile sul tuo database.

Se è disponibile, eliminare la tabella utilizzando il comando Altrimenti genererà un errore durante l'importazione della tabella.

DROP TABLE Table_Name;

Quindi, passa alla cartella in cui hai il .sqlfile da importare ed esegui il seguente comando dal tuo terminale

mysql -u username -p  databasename  < yourtable.sql

Il terminale ti chiederà di inserire la password. Inseriscilo e controlla il database.


4

Funziona correttamente ...

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

si prega di notare che il file .sql ha specificato il database corrente.


2

Possiamo importare una singola tabella usando CMD come di seguito:

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

2

se hai già la tabella desiderata sul tuo database, prima cancellala e poi esegui il comando seguente:

 mysql -u username -p  databasename  < yourtable.sql

2

Dal server al locale (esportazione)

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;

Da locale a server (importazione)

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
Per i principianti, tieni presente che devi operare dal terminale non all'interno del mysql dopo aver premuto il comando chiederà la password db_password
Venkatesh Kakalwar

2

Funziona anche. Nel modulo di comando

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

2
  • Sarebbe una combinazione di EXPORT INTO OUTFILEeLOAD DATA INFILE

  • Devi esportare quella singola tabella con EXPORT INTO OUTFILE, questo esporterà i dati della tabella in un file. Puoi importare quella particolare tabella usandoLOAD DATA INFILE

  • Consultare doc1 , doc2


1

puoi farlo nel comando mysql invece che nel comando linux.
1.login il tuo mysql.
2. Esegui questo nel comando 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
Sebbene questo frammento di codice sia il benvenuto e possa fornire qualche aiuto, sarebbe notevolmente migliorato se includesse una spiegazione di come e perché questo risolve il problema. Ricorda che stai rispondendo alla domanda per i lettori in futuro, non solo per la persona che chiede ora! Si prega di modificare la risposta di aggiungere una spiegazione, e dare un'indicazione di ciò si applicano le limitazioni e le assunzioni.
Toby Speight,

0
-> mysql -h host -u user -p database_name table_name < test_table.sql

0

L'uso di un database temporaneo potrebbe essere una soluzione a seconda delle dimensioni del database.

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

Per importare una tabella nel database, se esiste già una tabella, aggiungi questa riga nel tuo file sql DROP TABLE IF EXIST 'table_name'ed esegui il comando mysql -u username -p database_name < import_sql_file.sql. Verificare il percorso del file sql prima di eseguire il comando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.