የአንቀጽ ማውጫ
ሊኑክስ MySQL የውሂብ ጎታየውሂብ ፋይሎችን እንዴት ወደ ውጭ መላክ ይቻላል?የ csv መግለጫ ትዕዛዝ ወደ ውጪ መላክ
MySQLየውሂብ ወደ ውጪ መላክ
በ MySQL ውስጥ መጠቀም ይችላሉምረጥ… ወደ ውጭመረጃን በቀላሉ ወደ የጽሑፍ ፋይል ለመላክ መግለጫ።
የ 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 ... INTO OUTFILEን ይጠቀሙ እና ፋይሉን ወደ ዳታቤዝ መልሰው ለማንበብ LoAD DATA INFILE ይጠቀሙ።
- ምረጥ ... ወደ ውጭ ውስጥ የ'ፋይል_ስም' ቅፅ መምረጥ የተመረጡትን መስመሮች ወደ ፋይል መፃፍ ይችላል።ፋይሉ የተፈጠረው በአገልጋይ አስተናጋጅ ላይ ነው፣ ስለዚህ ይህን አገባብ ለመጠቀም የFILE ፍቃድ ሊኖርዎት ይገባል።
- ውጤቱ ነባር ፋይል ሊሆን አይችልም።የፋይል ውሂብ ከመነካካት ይከልከል።
- ፋይሎችን ለማውጣት ወደ አገልጋዩ ለመግባት መለያ ሊኖርዎት ይገባል?ያለበለዚያ ምረጥ ... ወደ ውጭ ውስጥ ምንም ውጤት አይኖረውም።
- በ UNIX ውስጥ፣ ፋይሉ የሚነበብ እንዲሆን ነው የተፈጠረው፣ እና ፈቃዶች በ MySQL አገልጋይ የተያዙ ናቸው።ይህ ማለት ፋይሉን ማንበብ በሚችሉበት ጊዜ, ሊሰርዙት አይችሉም.
ሰንጠረዥን እንደ ጥሬ መረጃ ይላኩ።
በዋናነት የ SQL ስክሪፕት ያዘጋጃል ዳታቤዙን ከባዶ ለመፍጠር የሚያስፈልጉትን ፍጠር TABLE INSERT ወዘተ.
mysqldumpን በመጠቀም ውሂብን ወደ ውጭ ለመላክ በኤክስፖርት ፋይል የተገለጸውን ማውጫ ለመጥቀስ -tab የሚለውን አማራጭ መጠቀም አለብዎት እና ኢላማው መፃፍ አለበት።
የሚከተለው ምሳሌ የውሂብ ሠንጠረዡን chnweiliang_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-databases አማራጭ በ 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
ከላይ ያለው ትዕዛዝ ወደ ውጭ የተላከውን ውሂብ ወደተገለጸው የርቀት አስተናጋጅ ለማስመጣት ቧንቧ ይጠቀማል።
ተስፋ Chen Weiliang ብሎግ ( https://www.chenweiliang.com/ ) የተጋራ "የውሂብ ፋይሎችን ከሊኑክስ MySQL ዳታቤዝ እንዴት ወደ ውጭ መላክ ይቻላል?እርስዎን ለማገዝ የ csv መግለጫ ትዕዛዝ ወደ ውጪ ላክ።
እንኳን በደህና መጡ የዚህን ጽሁፍ ማገናኛ ለማጋራት፡-https://www.chenweiliang.com/cwl-501.html
ተጨማሪ ድብቅ ዘዴዎችን ለመክፈት የቴሌግራም ቻናላችንን እንኳን በደህና መጡ።
ከወደዳችሁት ሼር እና ላይክ አድርጉ! የእርስዎ ማጋራቶች እና መውደዶች የእኛ ቀጣይ ተነሳሽነት ናቸው!