Мақала анықтамалығы
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
