在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫/ MySQL 數(shù)據(jù)導(dǎo)出
MySQL 復(fù)制表
MySQL ALTER 命令
MySQL 安裝
MySQL 日期與時(shí)間方面的函數(shù)
MySQL SQL Injection
MySQL 排序結(jié)果
MySQL 臨時(shí)表
MySQL 介紹
MySQL 數(shù)據(jù)導(dǎo)出
MySQL 索引
MySQL 數(shù)值函數(shù)
MySQL 更新查詢
MySQL UNION 關(guān)鍵字
MySQL RAND 函數(shù)
創(chuàng)建 MySQL 數(shù)據(jù)庫
MySQL AVG 函數(shù)
MySQL Using Join
MySQL Handling Duplicates
MySQL SUM 函數(shù)
MySQL 數(shù)據(jù)類型
MySQL 插入查詢
MySQL 字符串函數(shù)
MySQL Using Sequences
MySQL 管理
MySQL 數(shù)據(jù)導(dǎo)入
MySQL BETWEEN 子句
MySQL MIN 函數(shù)
創(chuàng)建 MySQL 表
MySQL Group By 子句
MySQL COUNT 函數(shù)
MySQL 匯報(bào)
MySQL 選擇數(shù)據(jù)庫
MySQL Where Clause
MySQL 選擇查詢
MySQL Like Clause
MySQL 正則表達(dá)式
一些非常有用的學(xué)習(xí)資源
MySQL NULL Values
MySQL 刪除查詢
MySQL 數(shù)據(jù)庫信息
一些有用的 MySQL 函數(shù)與子句
MySQL 刪除表
MySQL MAX 函數(shù)
MySQL SQRT 函數(shù)
MySQL 終止數(shù)據(jù)庫
連接 MySQL 服務(wù)器
MySQL IN 子句
MySQL CONCAT 函數(shù)
MySQL PHP語法

MySQL 數(shù)據(jù)導(dǎo)出

將表中數(shù)據(jù)導(dǎo)出為一個(gè)文本文件,最簡(jiǎn)單的方法是用 SELECT...INTO OUTFILE 語句,它會(huì)將查詢結(jié)果直接導(dǎo)出為服務(wù)器主機(jī)上的一個(gè)文件。

利用 SELECT...INTO OUTFILE 語句組合導(dǎo)出數(shù)據(jù)

該語句組合的語法為:使用正常的 SELECT 語句,后跟 INTO OUTFILE,最后加上要導(dǎo)出的文件名。默認(rèn)的輸出格式和 LOAD DATA 一樣,因此下列語句會(huì)將表 tutorials_tbl 導(dǎo)出為 /tmp/tutorials.txt,其中的數(shù)據(jù)以制表符分隔開,以換行符作為每行的終止符。

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

你可以通過一些選項(xiàng)來改變輸出格式,來指定如何以引用并限定列與記錄。下面這個(gè)例子將表 tutorials_tbl 以逗號(hào)分隔各值,以 CRLF(回車換行符)來作為行的終止符:

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

SELECT ... INTO OUTFILE 具有下列特點(diǎn):

  • 輸出文件直接由 MySQL 服務(wù)器創(chuàng)建,因此文件名應(yīng)該指明其在服務(wù)器主機(jī)上的保存位置。該語句沒有 LOCAL 版,這一點(diǎn)跟 LOAD DATA 不同。
  • 必須擁有 MySQL 的 FILE 權(quán)限,才能執(zhí)行 SELECT ... INTO OUTFILE。
  • 輸出文件不能是已有文件。這一特點(diǎn)保證了 MySQL 不會(huì)覆蓋掉一些可能是非常重要的文件。
  • 你必須有服務(wù)器主機(jī)的登錄賬號(hào),或者能夠利用其它方式獲取主機(jī)文件,否則 SELECT ... INTO OUTFILE 對(duì)你來說沒有任何用處。
  • 在 UNIX 系統(tǒng)下,創(chuàng)建的文件是全局可讀的,但可寫權(quán)限卻屬于 MySQL 服務(wù)器。這意味著雖然你可以讀取文件,但可能無法刪除它。

將表導(dǎo)出為原始數(shù)據(jù)

mysqldump 程序用于復(fù)制或備份表與數(shù)據(jù)庫。它能把表輸出為一個(gè)原始數(shù)據(jù)文件,或者是一個(gè)能重建表中記錄的 INSERT 語句集合。

要想把表轉(zhuǎn)儲(chǔ)為一個(gè)數(shù)據(jù)文件,必須指定一個(gè) --tab 選項(xiàng),用它來指明 MySQL 服務(wù)器寫入文件的目錄。

例如,把數(shù)據(jù)庫 TUTORIALS 中的表 tutorials_tbl 轉(zhuǎn)儲(chǔ)為 /tmp 中的一個(gè)文件,需要使用如下命令:

$ mysqldump -u root -p --no-create-info \
            --tab=/tmp TUTORIALS tutorials_tbl
password ******

將表內(nèi)容或定義以 SQL 格式導(dǎo)出

以 SQL 格式將表導(dǎo)出為文件,使用類似下列命令:

$ mysqldump -u root -p TUTORIALS tutorials_tbl > dump.txt
password ******

這樣創(chuàng)建的文件將包含如下內(nèi)容:

-- MySQL dump 8.23
--
-- Host: localhost    Database: TUTORIALS
---------------------------------------------------------
-- Server version       3.23.58

--
-- Table structure for table `tutorials_tbl`
--

CREATE TABLE tutorials_tbl (
  tutorial_id int(11) NOT NULL auto_increment,
  tutorial_title varchar(100) NOT NULL default '',
  tutorial_author varchar(40) NOT NULL default '',
  submission_date date default NULL,
  PRIMARY KEY  (tutorial_id),
  UNIQUE KEY AUTHOR_INDEX (tutorial_author)
) TYPE=MyISAM;

--
-- Dumping data for table `tutorials_tbl`
--

INSERT INTO tutorials_tbl 
       VALUES (1,'Learn PHP','John Poul','2007-05-24');
INSERT INTO tutorials_tbl 
       VALUES (2,'Learn MySQL','Abdul S','2007-05-24');
INSERT INTO tutorials_tbl 
       VALUES (3,'JAVA Tutorial','Sanjay','2007-05-06');

轉(zhuǎn)儲(chǔ)多張表,按照數(shù)據(jù)庫命名》》。轉(zhuǎn)儲(chǔ)整個(gè)數(shù)據(jù)庫,不需要命名數(shù)據(jù)庫中的任何表:

$ mysqldump -u root -p TUTORIALS > database_dump.txt
password ******

備份主機(jī)上的所有數(shù)據(jù)庫,使用如下命令:

$ mysqldump -u root -p --all-databases > database_dump.txt
password ******

自MySQL 3.23.12版本開始,可以使用 --all-databases 選項(xiàng)。

這種方法可以實(shí)現(xiàn)數(shù)據(jù)庫備份。

將一臺(tái)主機(jī)上的表或數(shù)據(jù)庫復(fù)制到另一臺(tái)主機(jī)上

如果想把一臺(tái) MySQL 服務(wù)器上的表或數(shù)據(jù)庫復(fù)制到另一臺(tái)主機(jī)上,可以使用 mysqldump 程序,加上數(shù)據(jù)庫名稱和表名稱。

在源主機(jī)上運(yùn)行以下命令,它會(huì)將整個(gè)數(shù)據(jù)庫都轉(zhuǎn)儲(chǔ)到 dump.txt 文件中。

$ mysqldump -u root -p database_name table_name > dump.txt
password *****

如前所述,你可以將整個(gè)數(shù)據(jù)庫都復(fù)制下來,無需使用任何具體的表名稱。

接下來,在另一臺(tái)主機(jī)上ftp dump.txt 文件,并運(yùn)行如下命令。在運(yùn)行這行命令之前,先要確保已經(jīng)在目標(biāo)服務(wù)器上創(chuàng)建了 database_name。

$ mysql -u root -p database_name < dump.txt
password *****

在主機(jī)間復(fù)制數(shù)據(jù)庫也可以使用另一種方法,它的優(yōu)點(diǎn)就是無需使用中介文件。將 mysqldump的輸出結(jié)果直接通過網(wǎng)絡(luò)傳到遠(yuǎn)端的 MySQL 服務(wù)器上。如果你能從源數(shù)據(jù)庫所在的主機(jī)上連接到兩個(gè)服務(wù)器上,使用如下命令(一定要確保你能訪問兩臺(tái)服務(wù)器):

$ mysqldump -u root -p database_name \
       | mysql -h other-host.com database_name

以上命令的 mysqldump 部分會(huì)連接本地服務(wù)器,將轉(zhuǎn)儲(chǔ)結(jié)果寫入管線。剩下的命令連接到另一臺(tái)主機(jī)的遠(yuǎn)端服務(wù)器上,讀取管線上傳來的轉(zhuǎn)儲(chǔ)結(jié)果,將每個(gè)語句送到目的主機(jī)所在的服務(wù)器上。