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 'файл_аты' формасындагы SELECT тандалган саптарды файлга жаза алат.Файл сервердик хостто түзүлгөн, андыктан бул синтаксисти колдонууга 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 каналыбызга кошулуңуз!

Бөлүшүп, жакса лайк! Сиздин бөлүшүүлөрүңүз жана лайктарыңыз биздин туруктуу мотивациябыз!

 

发表 评论

Сиздин электрондук почта дарегиңиз жарыяланбайт. Милдеттүү талаалар колдонулат * 标注

Жылдыруу үчүн Top