MySQL入門教程系列一 表的匯出與匯入

2021-07-27 15:40:33 字數 4140 閱讀 4329

有時需要將mysql資料庫的資料匯出到外部儲存檔案中,mysql資料庫中的資料可以匯出成sql文字檔案,xml檔案或者html檔案,同樣這些匯出的檔案也可以匯入mysql資料庫中,

mysql資料庫在匯出資料時,允許使用包含匯出定義的select語句進行資料的匯出操作,該檔案在伺服器主機上建立,因此,必須擁有檔案寫入許可權(file 許可權),才能使用。其基本語法格式如下:

select columnlist from

table

where condition into outfile 'filename' [options]

--options 選項

fields terminated by

'value'

fields [optionally] enclosed by

'value'

fields escaped by

'value'

lines starting by

'value'

lines terminated by

'value'

可以看到select columnlist from table where condition為查詢語句;into outfile 『filename』的作用就是把select語句查詢的結果匯出到名為filename的外部檔案中,filename不能是乙個已經存在的檔案。[options]為可選引數項,options部分的語法包括fields和lines子句,其可能的取值介紹如下:

fields terminated by 『value』:設定字段之間的分隔符,可以為單個或多個字元,預設情況為製表符「\t」。

fields [optionally] enclosed by 『value』:設定欄位的包圍字元,只能為單個字元,如果使用了optionally則只包括char和varchar等字元資料字段。

fields escaped by 『value』:設定如何寫入或者讀取特殊字元,只能為單個字元,即設定轉義字元,預設值為「\」。

lines starting by 『value』:設定每行資料開頭的字元,可以為單個或多個字元,預設情況下不使用任何字元。

lines terminated by 『value』:設定每行資料結尾的字元,可以為單個或者多個字元,預設值為「\n」。

fields和lines兩個子句都是自選的,但是如果兩個都被指定了,fields必須位於lines前面。

示例:

select * from test.person into outfile 「c:\person0.txt」;
使用mysqldump工具不僅可以把資料匯出為包含create,insert的sql檔案,也可以匯出為純文字檔案。

mysqldump將建立乙個包含create table語句的tablename.sql檔案和乙個包含其資料的tablename.txt檔案。mysqldump匯出檔案的基本語法格式如下:

mysqldump –t path-u root –p dbname [table]  [options]

--options

--fields-terminated-by=value

--fields-enclosed-by=value

--fields-optionally-enclosed-by=value

--fields-escaped-by=value

--lines-terminated-by=value

只有指定了-t引數才可以匯出純文字檔案;path表示匯出資料的目錄:tables為指定要匯出的表名稱,如果不指定,將匯出資料庫dbname中所有的表;[options]為可選引數,這些引數要結合引數t使用;

options常用的取值如下:

–fields-terminated-by=value:設定字段之間的分割字元,預設為「\t」;

–fields-enclosed-by=value;設定欄位的包圍字元;

–fields-optionally-enclosed-by=value;設定欄位的包圍字元,只能為單個字元,只能包括char和varchar等字元資料字段

–fields-escaped-by=value:控制如何寫入或讀取特殊字元,只能為單個字元,即設定轉義字元,預設為反斜線「\」

–fields-terminated-by=value: 控制每行資料結尾的字元,可以為單個或多個字元,預設為「\n」;

示例:

mysqldump  –t c:\test person –u root –p
以上命令執行成功後,會在c盤建立兩個檔案,person.sql和person.txt。其中,person.sql包含建立person表的create語句;

load data infile 『filename.txt』 into

table tablename [options] [ignore number lines]

--options 選項

fields terminated bu 『value』

fields [optionally] enclosed by 『value』

fields escaped by 『value』

lines starting by 『value』

lines terminated by 『value』

可以看到infile後面的filename檔案為匯入資料的**;tablename表示待匯入的資料表的名稱;[options]為可選引數選項,包含fields和lines子句,其可能取值如下:

fields terminated bu 『value』:設定字段之間的分割字元,預設為「\t」;

fields [optionally] enclosed by 『value』;設定欄位的包圍字元,只能為單個字元,只能包括char和varchar等字元資料字段;

fields escaped by 『value』: 控制如何寫入或讀取特殊字元,只能為單個字元,即設定轉義字元,預設為反斜線「\」;

lines starting by 『value』設定每行字元的開頭字元,可以為單個或多個字元,預設不使用;

lines terminated by 『value』:設定每行資料結尾的字元,可以為單個或多個字元,預設為「\n」;

ignore number lines表示忽略檔案開始處的行數,執行load data語句需要file許可權。

示例:

load data infile 『c:\person.txt』 into

table test.person

使用mysqlimport語句需要指定所需的選項,匯入的資料庫名稱以及匯入的資料檔案的路徑和名稱。mysqlimport命令的基本語法格式如下:

mysqlimport –u root –p dbname filename.txt [options]

--options選項

--fields-terminated-by=value

--fields-enclosed-by=value

--fields-optionally-enclosed-by=value

--fields-escaped-by=value

--lines-terminated-by=value

--ignore-lines=n

–fields-terminated-by=value:設定字段之間的分隔字元,可以為單個或多個字元,預設為「\t」;

–fields-enclosed-by=value設定欄位的包圍字元;

–fields-optionally-enclosed-by=value設定欄位的包圍字元,只能為單個字元,包括char和varchar等字段的包圍字元;

–fields-escaped-by=value:控制如何寫入或讀取特殊字元,只能為單個字元,即設定轉義字元,預設為反斜線「\」;

–lines-terminated-by=value設定每行資料結尾的字元,可以為單個或多個字元,預設為「\n」;

–ignore-lines=n忽略資料的前n行;

除了前面介紹的幾個選項之外,mysqlimport還支援許多選項,由於不常用這些選項,不再介紹。

WPF入門教程系列一

一 前言 公司專案基於wpf開發,最近專案上線有點空閒時間寫一篇基於wpf的基礎教材,wpf也是近期才接觸,學習wpf也是在網上查資料與微軟的msdn進行學習,寫本部落格的目為了溫故而知新把學習過程記錄下來,以備後查。學習wpf的基礎知識 1 wpf是微軟提供的一種用來開發 桌面應用 的技術 框架 ...

WPF入門教程系列一 基礎

一 前言 最近在學習wpf,學習wpf首先上的是微軟的msdn,然後再搜尋了一下網路有關wpf的學習資料。為了溫故而知新把學習過程記錄下來,以備後查。這篇主要講wpf的開發基礎,介紹了如何使用visual studio 2013建立乙個wpf應用程式。首先說一下學習wpf的基礎知識 1 要會一門.n...

WPF入門教程系列一 基礎

原文 wpf入門教程系列目錄 wpf入門教程系列四 dispatcher介紹 wpf入門教程系列五 window 介紹 wpf入門教程系列六 布局介紹與canvas 一 wpf入門教程系列八 布局之grid與uniformgrid 三 wpf入門教程系列九 布局之dockpanel與viewbox ...