ਲੀਨਕਸ MySQL ਡੇਟਾਬੇਸ ਤੋਂ ਡੇਟਾ ਫਾਈਲਾਂ ਨੂੰ ਕਿਵੇਂ ਨਿਰਯਾਤ ਕਰਨਾ ਹੈ?ਐਕਸਪੋਰਟ csv ਸਟੇਟਮੈਂਟ ਕਮਾਂਡ

ਲੀਨਕਸ 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 ਸੰਟੈਕਸ ਦਾ ਉਲਟ ਕਾਰਜ ਹੈ।ਡੇਟਾਬੇਸ ਤੋਂ ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਡੇਟਾ ਲਿਖਣ ਲਈ, SELECT ... INTO OUTFILE ਦੀ ਵਰਤੋਂ ਕਰੋ, ਅਤੇ ਫਾਈਲ ਨੂੰ ਵਾਪਸ ਡੇਟਾਬੇਸ ਵਿੱਚ ਪੜ੍ਹਨ ਲਈ, LOAD DATA INFILE ਦੀ ਵਰਤੋਂ ਕਰੋ।
  • SELECT... INTO OUTFILE ਫਾਰਮ 'file_name' ਵਿੱਚੋਂ ਇੱਕ ਚੁਣਨ ਨਾਲ ਚੁਣੀਆਂ ਗਈਆਂ ਲਾਈਨਾਂ ਨੂੰ ਫਾਈਲ ਵਿੱਚ ਲਿਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।ਫਾਈਲ ਸਰਵਰ ਹੋਸਟ 'ਤੇ ਬਣਾਈ ਗਈ ਹੈ, ਇਸਲਈ ਤੁਹਾਡੇ ਕੋਲ ਇਸ ਸੰਟੈਕਸ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ FILE ਅਨੁਮਤੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।
  • ਆਉਟਪੁੱਟ ਇੱਕ ਮੌਜੂਦਾ ਫਾਈਲ ਨਹੀਂ ਹੋ ਸਕਦੀ ਹੈ।ਫਾਈਲ ਡੇਟਾ ਨਾਲ ਛੇੜਛਾੜ ਹੋਣ ਤੋਂ ਰੋਕੋ।
  • ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਫਾਈਲਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਰਵਰ ਵਿੱਚ ਲੌਗਇਨ ਕਰਨ ਲਈ ਇੱਕ ਖਾਤਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ.ਨਹੀਂ ਤਾਂ SELECT... INTO OUTFILE ਦਾ ਕੋਈ ਅਸਰ ਨਹੀਂ ਹੋਵੇਗਾ।
  • UNIX ਵਿੱਚ, ਫਾਈਲ ਨੂੰ ਪੜ੍ਹਨਯੋਗ ਬਣਾਉਣ ਲਈ ਬਣਾਇਆ ਗਿਆ ਹੈ, ਅਤੇ ਅਨੁਮਤੀਆਂ MySQL ਸਰਵਰ ਦੀ ਮਲਕੀਅਤ ਹਨ।ਇਸਦਾ ਮਤਲਬ ਇਹ ਹੈ ਕਿ ਜਦੋਂ ਤੁਸੀਂ ਫਾਈਲ ਨੂੰ ਪੜ੍ਹ ਸਕਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਇਸਨੂੰ ਮਿਟਾ ਨਹੀਂ ਸਕਦੇ ਹੋ।

ਸਾਰਣੀ ਨੂੰ ਕੱਚੇ ਡੇਟਾ ਵਜੋਂ ਨਿਰਯਾਤ ਕਰੋ

ਇਹ ਮੁੱਖ ਤੌਰ 'ਤੇ ਇੱਕ 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-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

ਉਪਰੋਕਤ ਕਮਾਂਡ ਨਿਰਯਾਤ ਕੀਤੇ ਡੇਟਾ ਨੂੰ ਨਿਰਧਾਰਿਤ ਰਿਮੋਟ ਹੋਸਟ ਵਿੱਚ ਆਯਾਤ ਕਰਨ ਲਈ ਇੱਕ ਪਾਈਪ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ।

ਹੋਪ ਚੇਨ ਵੇਇਲਿਯਾਂਗ ਬਲੌਗ ( https://www.chenweiliang.com/ ) ਨੇ ਸਾਂਝਾ ਕੀਤਾ "ਲੀਨਕਸ ਮਾਈਐਸਕਯੂਐਲ ਡੇਟਾਬੇਸ ਤੋਂ ਡੇਟਾ ਫਾਈਲਾਂ ਨੂੰ ਕਿਵੇਂ ਨਿਰਯਾਤ ਕਰਨਾ ਹੈ?ਤੁਹਾਡੀ ਮਦਦ ਕਰਨ ਲਈ csv ਸਟੇਟਮੈਂਟ ਕਮਾਂਡ" ਨੂੰ ਐਕਸਪੋਰਟ ਕਰੋ।

ਇਸ ਲੇਖ ਦਾ ਲਿੰਕ ਸਾਂਝਾ ਕਰਨ ਲਈ ਸੁਆਗਤ ਹੈ:https://www.chenweiliang.com/cwl-501.html

ਹੋਰ ਲੁਕਵੇਂ ਗੁਰੁਰ🔑 ਨੂੰ ਅਨਲੌਕ ਕਰਨ ਲਈ, ਸਾਡੇ ਟੈਲੀਗ੍ਰਾਮ ਚੈਨਲ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਣ ਲਈ ਸਵਾਗਤ ਹੈ!

ਜੇ ਚੰਗਾ ਲੱਗੇ ਤਾਂ ਸ਼ੇਅਰ ਅਤੇ ਲਾਈਕ ਕਰੋ! ਤੁਹਾਡੇ ਸ਼ੇਅਰ ਅਤੇ ਪਸੰਦ ਸਾਡੀ ਨਿਰੰਤਰ ਪ੍ਰੇਰਣਾ ਹਨ!

 

ਇੱਕ ਟਿੱਪਣੀ ਪੋਸਟ

您的邮箱地址不会被公开. ਲੋੜੀਂਦੇ ਖੇਤਰ ਵਰਤੇ ਜਾ ਰਹੇ ਹਨ * ਲੇਬਲ

ਚੋਟੀ ੋਲ