Linux MySQL дерекқорынан деректер файлдарын қалай экспорттауға болады?csv мәлімдемесін экспорттау пәрмені

Linux MySQL деректер қорыДеректер файлдарын қалай экспорттауға болады?csv мәлімдемесін экспорттау пәрмені

MySQLдеректер деректерін экспорттау

MySQL-де сіз пайдалана аласызТАҢДАУ … OUTFILEдеректерді жай ғана мәтіндік файлға экспорттау үшін мәлімдеме.


SELECT ... INTO OUTFILE операторы арқылы деректерді экспорттаңыз

Келесі мысалда деректер кестесін /tmp/tutorials.txt файлына экспорттаймыз:

mysql > SELECT * FROM chenweiliang_tbl 
     - > INTO OUTFILE '/tmp/tutorials.txt' ;

Пәрмен опциялары арқылы деректер шығарудың көрсетілген пішімін орнатуға болады.Келесі мысал CSV пішімін экспорттауға арналған:

mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
    
    

Келесі мысалда файл үтірмен бөлінген мәндермен жасалады.Бұл пішімді көптеген бағдарламалар пайдалана алады.

SELECT a b a + b INTO OUTFILE '/tmp/result.text'FIELDS 
TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行
终止'\ 
n'FROM test_table ;

SELECT ... INTO OUTFILE операторында келесі атрибуттар бар:

  • LOAD DATA INFILE — SELECT ... INTO OUTFILE, SELECT синтаксисінің кері әрекеті.Дерекқордан файлға деректерді жазу үшін SELECT ... INTO OUTFILE пәрменін пайдаланыңыз және файлды дерекқорға қайта оқу үшін LOAD DATA INFILE пайдаланыңыз.
  • ТАҢДАУ ... OUTFILE INTO 'file_name' пішіміндегі ТАҢДАУ таңдалған жолдарды файлға жаза алады.Файл сервер хостында жасалған, сондықтан осы синтаксисті пайдалану үшін FILE рұқсаты болуы керек.
  • Шығару бар файл болуы мүмкін емес.Файл деректерінің бұрмалануын болдырмаңыз.
  • Файлдарды алу үшін серверге кіру үшін тіркелгіңіз болуы керек пе?Әйтпесе SELECT ... INTO OUTFILE ешқандай әсер етпейді.
  • UNIX жүйесінде файл оқуға болатындай етіп жасалған және рұқсаттар MySQL серверіне тиесілі.Бұл файлды оқи отырып, оны жоя алмауыңыз мүмкін дегенді білдіреді.

Кестені бастапқы деректер ретінде экспорттау

Ол негізінен дерекқорды нөлден қайта құру үшін қажет CREATE TABLE INSERT және т.б. командалары бар SQL сценарийін шығарады.

Деректерді mysqldump арқылы экспорттау үшін экспорт файлында көрсетілген каталогты көрсету үшін –tab опциясын пайдалану керек және мақсат жазылатын болуы керек.

Келесі мысал chenweiliang_tbl деректер кестесін /tmp каталогына экспорттайды:

$ mysqldump - u root - p - no - create - info
             - tab = / tmp chenweiliang chenweiliang_tbl
密码******

SQL пішімінде деректерді экспорттау

SQL пішіміндегі деректерді көрсетілген файлға келесідей экспорттаңыз:

$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 文本 
密码******

Жоғарыдағы пәрмен арқылы жасалған файлдың мазмұны келесідей:

- 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' );

Бүкіл дерекқордың деректерін экспорттау қажет болса, келесі пәрменді пайдалануға болады:

$ mysqldump - u root - p chenweiliang > database_dump 文本
密码******

Барлық дерекқорлардың сақтық көшірмесін жасау қажет болса, келесі пәрменді пайдалануға болады:

$ mysqldump - u root - p - all - databases > database_dump 文本
密码******

--all-database опциясы MySQL 3.23.12 және одан кейінгі нұсқаларында қосылды.

Бұл әдіс дерекқордың сақтық көшірмесін жасау стратегиясын жүзеге асыру үшін пайдаланылуы мүмкін.


Деректер кестелері мен дерекқорларды басқа хосттарға көшіріңіз

Деректерді басқа MySQL серверіне көшіру қажет болса, mysqldump пәрменінде дерекқор атын және кестесін көрсетуге болады.

dump.txt файлына деректердің сақтық көшірмесін жасау үшін бастапқы хостта келесі пәрменді орындаңыз:

$ mysqldump - u root - p database_name table_name > dump 文本 
密码*****

Дерекқордың сақтық көшірмесін толығымен жасасаңыз, нақты кесте атауын пайдаланудың қажеті жоқ.

Сақтық көшірме дерекқорын MySQL серверіне импорттау қажет болса, дерекқордың жасалғанын растау үшін келесі пәрменді пайдаланып келесі пәрменді пайдалануға болады:

$ mysql - u root - p database_name < dump 文本 
密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > 
$ mysqldump的- ü根- p DATABASE_NAME \
        | mysql - h other - host com database_name

Жоғарыдағы пәрмен экспортталған деректерді көрсетілген қашықтағы хостқа импорттау үшін құбырды пайдаланады.

Hope Chen Weiliang блогы ( https://www.chenweiliang.com/ ) бөлісті "Linux MySQL дерекқорынан деректер файлдарын қалай экспорттауға болады?Сізге көмектесу үшін csv мәлімдемесі пәрменін экспорттау.

Осы мақаланың сілтемесін бөлісуге қош келдіңіз:https://www.chenweiliang.com/cwl-501.html

Көбірек жасырын трюктердің құлпын ашу үшін🔑 Telegram каналымызға қосылыңыз!

Бөлісу және ұнаса лайк! Сіздің бөлісулеріңіз бен лайктарыңыз біздің тұрақты мотивациямыз болып табылады!

 

Пікірлер

Электрондық пошта мекенжайыңыз жарияланбайды. 必填 项 已 用 * 标注

Топ Scroll