前言:我们如果要整合Ant与MySQL数据库,那么首先我们需要熟悉数据库的CRUD操作,创建用户和授权操作,以及数据库的备份和导入操作。针对数据库的基本操作我不想提及,但是我会针对我感觉重点的MySQL知识点进行说明。
一、备份及还原数据库
需要导出数据的原因有很多,一个重要的原因是用于备份数据库,而另一个原因是希望导出数据来共享。
1.1 mysqldump程序
我们可以通过mysqldump程序很方便的导入/导出数据。mysqldump程序位于mysql/bin目录中,可以把整个数据库装载到一个单独的文件文本中。这个文件包含所有重建导出的数据库所需要的SQL语句。
我在Windows的控制台下进行了测试得出的结论:执行命令,最后一定不要有分号;执行的时候与MySQL登录时一样需要指定账号和密码,例如(mysqldump -uroot -p ~或者mysqldump -uroot -proot ~)。
<1>将数据库保存到文件中
mysqldump -u账户 -p密码 [数据库] > [导出文件名称]
<2>将特定表保存到文件中
mysqldump -u账户 -p密码 [数据库] [数据表] > [导出文件名称]
注意:导出多个表的时候,在数据表之间用空格。
<3>使用查询语句
mysqldump -u账户 -p密码 -where="" [数据库] [数据表] > [导出文件名称]
下面会对-where参数进行详解。
mysqldump工具的选项
针对选项的详细介绍可以参考:mysqldump参数详细说明
下文中介绍的选项一定要注意大小写。
- --complete-insert或-c:每一个产生INSERT语句加上具体字段(列)的名称。
- --delayed-insert:在INSERT命令中加入DELAY选项。
- -F或者-flush-logs:在执行导出之前将会刷新MySQL服务器的日志。
- -f或者-force:在发生错误的情况下,仍继续导出。
- --full:将附加信息也加到CREATE TABLE的语句中。
- -l或者--lock-tables:导出数据表时服务期将会给表加锁。
- -t或者-no-create-info:该选项使得mysqldump命令不创建CREATE TABLE语句,在用户只需要数据而不需要DDL(数据库定义语句)时很方便。
- -d或者-no-data:该选项使得mysqldump命令不创建INSERT语句,在用户只需要DDL语句时,可以使用这个选项。
- --opt:此选项将打开所有会提高文件导出速度和创建一个可以更快导入的文件的选项。
- -q或者-quick:这个选项使得MySQL不会把整个导出的内容读入内存再执行导出,而是在读到时就写入文件中。
- -T path或者-tab=path:这个选项将会创建两个文件,一个文件包含DDL语句或者表创建语句,另一个文件包含数据。DDL文件被命名为table_name.sql,数据文件被命名为table