XISTS `person`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `person` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(20) NOT NULL,
`Age` int(10) unsigned DEFAULT NULL,
`job` varchar(90) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2014-07-27 23:56:01
?
person.sql的内容跟之前解释的是一样的
person.txt
?
1 green 29 lawer
2 suse 26 dancer
3 evans 27 sports man
4 mary 26 singer
?
3、使用mysql命令导出文本文件
mysql是一个功能丰富的工具命令,使用mysql还可以在命令行模式下执行SQL指令,将查询结果导入到文本文件中。
相比mysqldump,mysql工具导出的结果可读性更强
如果mysql服务器是单独的机器,用户是在一个client上进行操作,用户要把数据结果导入到client机器上,可以使用mysql -e语句
基本格式如下:
?
mysql -u root -p --execute="SELECT 语句" dbname >filename.txt
?
该命令使用--execute 选项,表示执行该选项后面的语句并退出,后面的语句必须用双引号括起来
dbname为要导出的数据库名称,导出的文件中不同列之间使用制表符分隔,第一行包含了字段名称
使用mysql命令,导出test库的person表记录到文本文件,输入语句如下:
?
mysql -u root -p --execute="SELECT * FROM person;" test>C:\person3.txt
?
person3.txt的内容如下
?
ID Name Age job
1 green 29 lawer
2 suse 26 dancer
3 evans 27 sports man
4 mary 26 singer
?
可以看到,person3.txt文件中包含了每个字段的名称和各条记录,如果某行记录字段很多,可能一行不能完全显示,可以使用
--vertical参数,将每条记录分为多行显示
使用mysql命令导出test库的person表使用--vertical参数显示
?
mysql -u root -p --vertical --execute="SELECT * FROM person;" test>C:\person4.txt
*************************** 1. row ***************************
ID: 1
Name: green
Age: 29
job: lawer
*************************** 2. row ***************************
ID: 2
Name: suse
Age: 26
job: dancer
*************************** 3. row ***************************
ID: 3
Name: evans
Age: 27
job: sports man
*************************** 4. row ***************************
ID: 4
Name: mary
Age: 26
job: singer
?
如果person表中记录内容太长,这样显示将会更加容易阅读
使用mysql命令导出test库的person表记录到html文件,输入语句如下
?
mysql -u root -p --html --execute="SELECT * FROM PERSON;"test >C:\person5.html
?

如果要导出为xml文件,那么使用--xml选项
使用mysql命令导出test库的person表的中记录到xml文件
?
mysql -u root -p --xml --execute="SELECT * FROM PERSON;" test >C:\person6.xml
1
green
29
lawer
2
suse
26
dancer
3
evans
27
sports man
4
mary
26
singer
?
导入
1、使用LOAD DATA INFILE 方式导入文本文件
mysql允许将数据导出到外部文件,也可以从外部文件导入数据。
MYSQL提供了一些导入数据的工具,这些工具有:LOAD DATA语句、source命令、mysql命令
LOAD DATA INFILE语句用于高速地从一个文本文件中读取行,并装入一个表中。文件名称必须为文字字符串
语法如下:
?
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char' ]
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number LINES]
[(col_name_or_user_var,...)]
[SET col_name = ex