Komut satırını kullanarak mysql veritabanına tek bir tablo nasıl alınır


141

Komut satırını kullanarak bir veritabanını başarıyla içe aktarmıştım, ancak şimdi ağrı alanım, komut satırını kullanarak mevcut veritabanına verileri içeren tek bir tablo nasıl aktarılacağı.


3
sadece tek masa ihracat ve ithalat
Shakti Singh

3
Ayrıca bu yinelenen soruya bakın: daha alakalı cevapları ile stackoverflow.com/q/1013852/385571
MattBianco

Yanıtlar:


317

Linux:

Komut satırında

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

tablonuzu example.sql dosyasına koyun

Tek tablo için içe / dışa aktarma:

  1. Tablo şemasını dışa aktar

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

    Bu, example.sqlbelirtilen yolda bir dosya create tableoluşturur ve tablo oluşturmak için sql komutunu yazar tableName.

  2. Verileri tabloya aktar

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

    Bu komut, inserttablo için deyimler biçiminde veriler içeren bir sql dosyasına ihtiyaç duyar tableName. Tüm insertifadeler yürütülür ve veriler yüklenir.


2
-u kaçırıldı;) mysqldump -u kullanıcı adı -p veri tabanı adı tabloAdı> yol /
örnek.sql

2
İçe aktarmak için mysql dökümü kullanmanıza gerek yoktur. mysql -u kullanıcı adı -p veri tabanı adı tabloAdı <yol / örnek.sql İşinizi yapmalı
Prabhakar Undurthi

8
tableNameAd, tüm MySQL sürümleri için gerekli ve hatalar üretir yoktur, bu nedenle bunu ihmal gerekebilir!
mchar

1
Ben yürütürken mysql değil bash olduğunu fark edene kadar bir sözdizimi hatası alıyordum.
Christia

2
Bu, yalnızca belirli bir tabloyu dışa aktarabileceğim veritabanına erişimim varsa çalışır. Ancak, veritabanının tam bir dökümü varsa ve içe aktarılacak tabloları kiraz almak istiyorsanız, bu çözüm çalışmaz. Bağlı yazı Tam bir mysql mysqldump dosyasından tek bir tabloyu geri yükleyebilir miyim? bu sorunu giderir.
codeforester

34

İhracat:

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

İçe Aktar :

Tüm veritabanı :

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

Tekli masa :

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


12

Tek Tabloyu İçe Aktarma

Tek bir tabloyu varolan bir veritabanına içe aktarmak için aşağıdaki komutu kullanırsınız:

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

Not: sql dosyasının tableName.sql dosyasının tam yolunu kullanmak daha iyidir


5

Komut satırı

Tek tablo için içe / dışa aktarma:

Tablo şemasını dışa aktarma

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

Bu, test.sql adlı bir dosya oluşturur ve table_name tablosunu oluşturmak için table sql komutu oluşturur.

Verileri tabloya aktarma

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

Test.sql dosyanızın aynı dizinde olduğundan emin olun, eğer yolda gezinmeyin ve komutu çalıştırın.


3
Dışa aktarılan SQL dosyası tabloyu oluşturmak için ilgili çağrıya sahip olduğundan, komut satırında tablo adını belirtmeniz gerekmez. Tek ihtiyacınız olan şey mysql -u your_user_name -p database_name < test.sql.
Michael De Silva

1
Aşağıda, dışa aktarılan bir tablodan bir örnek verilmiştir: `22 VARSA, DÜŞME TABLOSU account_product_prices; 23 / *! 40101 SET @saved_cs_client = @@ character_set_client /; 24 / ! 40101 SET character_set_client = utf8 * /; 25 TABLO OLUŞTUR account_product_prices(``
Michael De Silva

5

Her şeyden önce, veritabanınıza giriş yapın ve almak istediğiniz veritabanı tablosunun veritabanınızda bulunup bulunmadığını kontrol edin.

Varsa, komutu kullanarak tabloyu silin. Aksi takdirde tablo içe aktarılırken bir hata verir.

DROP TABLE Table_Name;

Ardından, .sqliçe aktarılacak dosyanın bulunduğu klasöre gidin ve terminalinizden aşağıdaki komutu çalıştırın

mysql -u username -p  databasename  < yourtable.sql

Terminal sizden şifreyi girmenizi isteyecektir. Girin ve veritabanını kontrol edin.


4

Doğru çalışıyor ...

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

lütfen .sql dosyasının mevcut veritabanınızı belirttiğini unutmayın.


2

CMD kullanarak tek tabloyu aşağıdaki gibi içe aktarabiliriz:

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

2

veritabanınızda zaten istediğiniz tablo varsa, önce silin ve ardından aşağıdaki komutu çalıştırın:

 mysql -u username -p  databasename  < yourtable.sql

2

Sunucudan yerel konuma (Dışa aktarma)

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;

Yerelden sunucuya (İçe aktarma)

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
Yeni başlayanlar için u komut komutu vurduktan sonra mysql içinde değil terminalden çalıştırmak zorunda unutmayın db_password
Venkatesh Kakalwar 4:18

2

Ayrıca çalışıyor. Komut formunda

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

2
  • Bu kombinasyonu olacağını EXPORT INTO OUTFILEveLOAD DATA INFILE

  • Bu tek tabloyu dışa aktarmanız gerekir EXPORT INTO OUTFILE; bu tablo verilerini bir dosyaya dışa aktarır. Bu tabloyu kullanarak içe aktarabilirsinizLOAD DATA INFILE

  • Bakınız doc1 , doc2


1

linux komutu yerine mysql komutuyla yapabilirsiniz.
1. MySQL'inizi açın.
2. mysql komutunda bunu uygulayın:
use DATABASE_NAME;
SET autocommit=0 ; source ABSOLUTE_PATH/TABLE_SQL_FILE.sql ; COMMIT ;


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

1
Bu kod parçacığı açığız ve bazı yardım sağlamak görülebilir fakat bunun olacağını bunun bir açıklama dahil eğer büyük ölçüde geliştirilmiş bir nasıl ve niçin bu çözer sorunu. Sadece şu anda soran kişi için değil, gelecekte okuyucular için soruyu cevapladığınızı unutmayın! Lütfen açıklama eklemek için cevabınızı düzenleyin ve hangi sınırlamaların ve varsayımların geçerli olduğunu belirtin.
Toby Speight


0

Geçici bir veritabanı kullanmak, veritabanının boyutuna bağlı olarak bir çözüm olabilir.

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

Bir tabloyu veritabanına almak için, tablo zaten varsa bu satırı sql dosyanıza ekleyin DROP TABLE IF EXIST 'table_name've komutunu çalıştırın mysql -u username -p database_name < import_sql_file.sql. Komutu çalıştırmadan önce lütfen sql dosya yolunu doğrulayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.