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ğı.
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ğı.
Yanıtlar:
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:
Tablo şemasını dışa aktar
mysqldump -u username -p databasename tableName > path/example.sql
Bu, example.sql
belirtilen yolda bir dosya create table
oluşturur ve tablo oluşturmak için sql komutunu yazar tableName
.
Verileri tabloya aktar
mysql -u username -p databasename < path/example.sql
Bu komut, insert
tablo için deyimler biçiminde veriler içeren bir sql dosyasına ihtiyaç duyar tableName
. Tüm insert
ifadeler yürütülür ve veriler yüklenir.
tableName
Ad, tüm MySQL sürümleri için gerekli ve hatalar üretir yoktur, bu nedenle bunu ihmal gerekebilir!
İ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
Verileri yeniden dışa aktarma seçeneğiniz varsa, tüm bu seçenekler uygundur.
Ancak varolan bir SQL dosyasını kullanmanız ve bu tablodan belirli bir tablo kullanmanız gerekiyorsa, TimeSheet blogundaki bu perl betiği , tabloyu ayrı bir SQL dosyasına ayıklamanıza ve ardından almanıza olanak tanır.
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
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.
mysql -u your_user_name -p database_name < test.sql
.
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
(``
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, .sql
iç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.
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
mysql -u root -p -D dbname < tablename.sql
-> mysql -h host -u user -p database_name table_name < test_table.sql
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