Makale Rehberi
Linux MySQL veritabanıVeri dosyaları nasıl dışa aktarılır?csv deyimini dışa aktar komutu
MySQLveri verilerini dışa aktar
MySQL'de kullanabilirsinizSEÇİN ... OUTFILE İÇİNDEverileri bir metin dosyasına dışa aktarmak için ifade.
SELECT ... INTO OUTFILE deyimini kullanarak verileri dışa aktarın
Aşağıdaki örnekte veri tablosunu /tmp/tutorials.txt dosyasına aktaracağız:
mysql > SELECT * FROM chenweiliang_tbl - > INTO OUTFILE '/tmp/tutorials.txt' ;
Komut seçenekleri aracılığıyla belirtilen veri çıkışı biçimini ayarlayabilirsiniz.Aşağıdaki örnek, CSV biçimini dışa aktarmak içindir:
mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
Aşağıdaki örnekte, virgülle ayrılmış değerlerle bir dosya oluşturulur.Bu format birçok program tarafından kullanılabilir.
SELECT a ,b ,a + b INTO OUTFILE '/tmp/result.text'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行 终止'\ n'FROM test_table ;
SELECT ... INTO OUTFILE deyimi aşağıdaki özniteliklere sahiptir:
- LOAD DATA INFILE, SELECT ... INTO OUTFILE, SELECT sözdiziminin ters işlemidir.Bir veritabanından bir dosyaya veri yazmak için SELECT ... INTO OUTFILE'ı kullanın ve dosyayı veritabanına geri okumak için LOAD DATA INFILE'ı kullanın.
- SELECT ... INTO OUTFILE 'dosya_adı' biçimindeki bir SELECT, seçilen satırları bir dosyaya yazabilir.Dosya, sunucu ana bilgisayarında oluşturulur, dolayısıyla bu sözdizimini kullanmak için FILE iznine sahip olmanız gerekir.
- Çıktı mevcut bir dosya olamaz.Dosya verilerinin kurcalanmasını önleyin.
- Dosyaları almak için sunucuda oturum açmak için bir hesabınızın olması gerekiyor mu?Aksi takdirde SELECT ... INTO OUTFILE'ın hiçbir etkisi olmayacaktır.
- UNIX'te dosya okunabilir olacak şekilde oluşturulur ve izinler MySQL sunucusuna aittir.Bu, dosyayı okuyabildiğiniz halde silemeyeceğiniz anlamına gelir.
Tabloyu ham veri olarak dışa aktar
Temel olarak, veritabanını sıfırdan yeniden oluşturmak için gereken CREATE TABLE INSERT vb. komutlarını içeren bir SQL betiği üretir.
Verileri mysqldump kullanarak dışa aktarmak için, dışa aktarma dosyası tarafından belirtilen dizini belirtmek üzere –tab seçeneğini kullanmanız gerekir ve hedef yazılabilir olmalıdır.
Aşağıdaki örnek, chenweiliang_tbl veri tablosunu /tmp dizinine aktarır:
$ mysqldump - u root - p - no - create - info - tab = / tmp chenweiliang chenweiliang_tbl 密码******
Verileri SQL formatında dışa aktarma
Verileri SQL formatında belirtilen dosyaya aşağıdaki gibi dışa aktarın:
$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 。文本 密码******
Yukarıdaki komutla oluşturulan dosyanın içeriği aşağıdaki gibidir:
- MySQL 转储8.23 - - 主机:localhost 数据库:chenweiliang ----------------------------------- ---------------------- - 服务器版本 3.23 。58 - - 表结构为表`chenweiliang_tbl` - CREATE TABLE chenweiliang_tbl ( chenweiliang_id INT (11 )NOT NULL的auto_increment , chenweiliang_title VARCHAR (100 )NOT NULL 默认'' , chenweiliang_author VARCHAR (40 )NOT NULL 默认'' , submission_date日期默认NULL , PRIMARY KEY (chenweiliang_id ), UNIQUE KEY AUTHOR_INDEX (chenweiliang_author ))TYPE = MyISAM ; - - 转储数据的表`chenweiliang_tbl` - INSERT INTO chenweiliang_tbl VALUES (1 ,'Learn PHP' ,'John Poul' ,'2007-05-24' ); INSERT INTO chenweiliang_tbl VALUES (2 ,'学习MySQL' ,'Abdul S' ,'2007-05-24' ); INSERT INTO chenweiliang_tbl VALUES (3 ,'JAVA Tutorial' ,'Sanjay' ,'2007-05-06' );
Tüm veritabanının verilerini dışa aktarmanız gerekirse, aşağıdaki komutu kullanabilirsiniz:
$ mysqldump - u root - p chenweiliang > database_dump 。文本 密码******
Tüm veritabanlarını yedeklemeniz gerekiyorsa, aşağıdaki komutu kullanabilirsiniz:
$ mysqldump - u root - p - all - databases > database_dump 。文本 密码******
--all-databases seçeneği MySQL 3.23.12 ve sonrasında eklenmiştir.
Bu yöntem, bir veritabanı yedekleme stratejisi uygulamak için kullanılabilir.
Veri tablolarını ve veritabanlarını diğer ana bilgisayarlara kopyalayın
Verileri başka bir MySQL sunucusuna kopyalamanız gerekiyorsa, mysqldump komutunda veritabanı adını ve tablosunu belirtebilirsiniz.
Verileri dump.txt dosyasına yedeklemek için kaynak ana bilgisayarda aşağıdaki komutu yürütün:
$ mysqldump - u root - p database_name table_name > dump 。文本 密码*****
Veritabanını tam olarak yedeklerseniz, belirli bir tablo adı kullanmanıza gerek yoktur.
Yedek veritabanını MySQL sunucusuna aktarmanız gerekiyorsa, aşağıdaki komutu kullanabilirsiniz, aşağıdaki komutu kullanarak veritabanının oluşturulduğunu onaylamanız gerekir:
$ mysql - u root - p database_name < dump 。文本 密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > $ mysqldump的- ü根- p DATABASE_NAME \ | mysql - h other - host 。com database_name
Yukarıdaki komut, dışa aktarılan verileri belirtilen uzak ana bilgisayara almak için bir kanal kullanır.
Umut Chen Weiliang Blogu ( https://www.chenweiliang.com/ ) "Linux MySQL veritabanından veri dosyaları nasıl dışa aktarılır?Size yardımcı olması için csv deyimi komutunu dışa aktarın.
Bu makalenin bağlantısını paylaşmaya hoş geldiniz:https://www.chenweiliang.com/cwl-501.html
Daha fazla gizli numarayı keşfetmek için🔑 Telegram kanalımıza katılmaya hoş geldiniz!
Beğendiyseniz paylaşın ve beğenin! Paylaşımlarınız ve beğenileriniz bizim sürekli motivasyonumuzdur!