国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

MySQL表的導(dǎo)入導(dǎo)出

2019-11-09 13:34:34
字體:
供稿:網(wǎng)友

有時經(jīng)常會需要將MySQL數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出到外部存儲文件中,MySQL數(shù)據(jù)庫中的數(shù)據(jù)庫可以導(dǎo)出成sql文本文件、xml文件或者h(yuǎn)tml文件以及txt文本文件,同樣這些導(dǎo)出文件也可以導(dǎo)入到MySQL數(shù)據(jù)庫中。

導(dǎo)出文本文件

1)用SELECT * INTO OUTFILE導(dǎo)出文本文件

MySQL數(shù)據(jù)庫導(dǎo)出數(shù)據(jù)時,允許使用包含導(dǎo)出定義的SELECT語句進(jìn)行數(shù)據(jù)的導(dǎo)出操作。該文件被創(chuàng)建到服務(wù)器主機(jī)上,因此必須擁有文件的寫入權(quán)限并且此文件不能提前存在,才能使用此語法。語法如下:

1SELECT col1.. FROM table_name WHERE condition INTO OUTFILE "file_name" [options];

[options]

123456FIELDSTERMINATEDBY'value'            #設(shè)置字段之間的分割字符,可以為單個或多個字符,默認(rèn)為制表符'/t';FIELDS[OPTIONALLY]ENCLOSEDBY'value'  #設(shè)置字段的包圍字符,只能夠?yàn)閱蝹€字符,如果使用OPTIONALLY則只有CHAR和VARCHAR等字符數(shù)據(jù)字段被包括;FIELDSESCAPEDBY'value'                #設(shè)置如何寫入或讀取特殊字符,只能夠?yàn)閱蝹€字符,即設(shè)置轉(zhuǎn)衣服,默認(rèn)值為'/';LINESSTARTINGBY'value'                #設(shè)置每行數(shù)據(jù)開頭的字符,可以為單個或多個字符,默認(rèn)情況下不適用任何字符;LINESTERMINATEDBY'value'              #設(shè)置每行數(shù)據(jù)結(jié)尾的字符,可以為單個或多個字符,默認(rèn)值為'/n';                                        #FIELDS和LINES兩個子句都是自選的,但是如果兩個都被指定了,F(xiàn)IELDS必須位于LINES的前面。

實(shí)例

12345# 以默認(rèn)制表符“/t”格式導(dǎo)出數(shù)據(jù)到/tmp/1.txt文件;Mysql> select * from TABLE_NAME into outfile "/tmp/1.txt"; # 以分號格式導(dǎo)出數(shù)據(jù)到/tmp/1.txt文件;Mysql> select * from TABLE_NAME into outfile "/tmp/1.txt" FIELDS TERMINATED BY ':';

PS:可以把導(dǎo)入的文本文件格式化,命令“unix2dos 1.txt“是把linux格式的文本格式化成Windows格式的,命令”dos2unix“相反。如果要把文本文件導(dǎo)入到Excel中,可以創(chuàng)建新表格—–打開文件(所有文件)—–選擇txt文件—–選擇分割方式(tab/space/,)。

2)用mysqldump命令導(dǎo)出文本文件

Mysqldump工具不僅可以做備份數(shù)據(jù)的工具可以將數(shù)據(jù)導(dǎo)出為包含CREATE、INSERT的sql文件,也可以導(dǎo)出為文本文件。

1mysqldump-Tpath-uroot-PRedhatdb_name[tables][options]

[options]

12345--fields-terminated-by=value           #設(shè)置字段之間的分割字符,可以為單個或多個字符,默認(rèn)為制表符'/t';--field-enclosed-by=value              #設(shè)置字段的包圍字符;--fields-optionally-enclosed-by=valu   #設(shè)置字段的包圍字符,只能夠?yàn)閱蝹€字符,如果使用OPTIONALLY則只有CHAR和VARCHAR等字符數(shù)據(jù)字段被包括;--fields-escaped-by=value              #設(shè)置如何寫入或讀取特殊字符,只能夠?yàn)閱蝹€字符,即設(shè)置轉(zhuǎn)衣服,默認(rèn)值為'/';--lines-terminated-by=value            #設(shè)置每行數(shù)據(jù)結(jié)尾的字符,可以為單個或多個字符,默認(rèn)值為'/n';

只有指定了-T參數(shù)才可以導(dǎo)出純文本文件,path表示導(dǎo)出數(shù)據(jù)的目錄,tables為指定要導(dǎo)出的表名稱,如果不指定,將導(dǎo)出數(shù)據(jù)庫db_name中所有的表。[options]為可選參數(shù)選項(xiàng),這些選項(xiàng)需要結(jié)合-T選項(xiàng)使用才有效。

12# 此語句將會在/tmp目錄下生成兩個文件,一個是1.sql和1.txt;$ mysqldump-T/tmp/1.txtdb_name.table_name-uroot-predhat

1$ mysqldump -T /tmp/1.txt db_name.table_name -uroot -predhat --fields-terminated-by=: --fields-optionally-enclosed-by=/" --fields-escaped-by=? --lines-terminated-by=/r/n

PS:所有操作中-uroot是指定登陸用戶,-predht是指定登陸使用的密碼。

3)用mysql命令導(dǎo)出文本文件

MySQL是一個功能豐富的工具命令,使用mysql還可以在命令行模式下執(zhí)行SQL指令,將查詢結(jié)果導(dǎo)入到文本文件中。相比mysqldump,mysql工具導(dǎo)出的結(jié)果可讀性更強(qiáng)。語法如下:

12345# 把查詢結(jié)果導(dǎo)出到文本文件;$mysql-uroot-predhat-e"SELECT * FROM table_name;"db_name>filename.txt # 把查詢結(jié)果導(dǎo)出成html格式;$mysql-uroot--predhat--html-e"SELECT * FROM table_name;"db_name>filename.html

導(dǎo)入文本文件

1)用LOAD DATA INFILE方式導(dǎo)入文本文件

MySQL允許將數(shù)據(jù)導(dǎo)出到外部文件,也可以從外部文件導(dǎo)入數(shù)據(jù)。MySQL提供了一些導(dǎo)入數(shù)據(jù)的工具,這些工具有LOAD DATA語句、source命令和mysql命令。LOAD DATA INFILE語句用于高速地從一個文本文件中讀取行,并裝入一個表中。文件名稱必須為文字字符串。下面介紹LOAD DATA語句的語法。

1LOAD DATA INFILE ‘filename.txt’ INTO TABLE table_name [options] [IGNORE number LINES]

[options]

123456FIELDSTERMINATEDBY'value'            #設(shè)置字段之間的分割字符,可以為單個或多個字符,默認(rèn)為制表符'/t';FIELDS[OPTIONALLY]ENCLOSEDBY'value'  #設(shè)置字段的包圍字符,只能夠?yàn)閱蝹€字符,如果使用OPTIONALLY則只有CHAR和VARCHAR等字符數(shù)據(jù)字段被包括;FIELDSESCAPEDBY'value'                #設(shè)置如何寫入或讀取特殊字符,只能夠?yàn)閱蝹€字符,即設(shè)置轉(zhuǎn)衣服,默認(rèn)值為'/';LINESSTARTINGBY'value'                #設(shè)置每行數(shù)據(jù)開頭的字符,可以為單個或多個字符,默認(rèn)情況下不適用任何字符;LINESTERMINATEDBY'value'              #設(shè)置每行數(shù)據(jù)結(jié)尾的字符,可以為單個或多個字符,默認(rèn)值為'/n';[IGNOREnumberLINES]                    #選項(xiàng)表示忽略文件開始處的行數(shù),number表示忽略的行數(shù)。執(zhí)行LOAD DATA語句需要FILE權(quán)限;

實(shí)例:將/tmp/2.txt文件以':’為分隔符將多個字段數(shù)據(jù)導(dǎo)入到user.aa表中,aa表必須提前存在,且表字段需設(shè)定好。

1Mysql> load data infile '/tmp/2.txt' into table user.aa fields terminated by ':';

2)用mysqlimport命令導(dǎo)入文本文件

Mysqlimport是MySQL內(nèi)置的一個工具,使用mysqlimport可以導(dǎo)入文本文件,并且不需要登陸MySQL客戶端。Mysqlimport命令提供許多與LOAD DATA INFILE語句相同的功能。大多數(shù)選項(xiàng)直接對應(yīng)LOAD DATA INFILE子句,語法如下:

12345678mysqlimport-uroot-predhatdb_namefilename.txt[options][options]--fields-terminated-by=value--field-enclosed-by=value--fields-optionally-enclosed-by=value--fields-escaped-by=value--lines-terminated-by=value--ignore-lines=n


如果您覺得本站
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 兰州市| 泾阳县| 孙吴县| 定南县| 舒兰市| 金湖县| 合肥市| 岳阳市| 达拉特旗| 易门县| 迁西县| 翼城县| 色达县| 昌都县| 阳山县| 新宾| 宜兰市| 工布江达县| 贵阳市| 内乡县| 太谷县| 芷江| 同德县| 岑巩县| 灵宝市| 襄城县| 黄冈市| 桓仁| 墨江| 石狮市| 鄄城县| 抚顺市| 镶黄旗| 高密市| 秦安县| 博罗县| 齐齐哈尔市| 仁布县| 阜平县| 博白县| 金堂县|