设为首页 加入收藏

TOP

MySQL优化之――备份和恢复(七)
2015-11-21 01:47:11 来源: 作者: 【 】 浏览:4
Tags:MySQL 优化 备份 恢复
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
首页 上一页 4 5 6 7 8 9 下一页 尾页 7/9/9
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MySql5.6Window超详细安装教程 下一篇警惕MySql更新sql的WHERE从句中的..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: