来源:自学PHP网 时间:2015-04-16 10:51 作者: 阅读:次
[导读] 平时对数据库的操作基本是对数据表以及表中的数据操作,对数据库的备份和还原用到的较少,今天在此总结下,当作是一个自我学习的过程。1,数据库的备份用mysqldump命令,原因:该...
平时对数据库的操作基本是对数据表以及表中的数据操作,对数据库的备份和还原用到的较少,今天在此总结下,当作是一个自我学习的过程。 1,数据库的备份 用mysqldump命令,原因:该工具在多个存储引擎上使用,此外其备份的数据库文件只要进行简单的修改便可在sql server和sybase上使用。 格式:mysqldump -h localhost(填数据所在的主机名) -u root(用户名) -p db_name(要备份的数据库名)>path(要备份的地址) 例如:打开dos窗输入 mysqldump -u root -p db_name>E:/11.sql; 如果只想单独备份数据库中的某个表就在数据库名后加表名就好 例如备份db_name数据库中的table1表:mysqldump -u root -p db_nametable1>E:/11.sql; 如果想备份多个数据库,则加入关键字--databases 如下:mysqldump -u root -p--databases db_name1db_name2>E:/db.sql; 实现了对db_name1和数据库db_name2的备份。 此外需要特别注意的一点时,不加--databases对数据库进行备份后,如过被备份的数据库直接被删除后,无法直接用备份进行恢复,因为 “mysqldump -u root -p db_name>E:/db.sql”只备份了db_name数据库下的所有表,文件中不包括创建数据库的CREATE DATABASE语句,因此如果把db_name删了使用db.sql还原时会出现:“No database selected”的错误信息,因此在还原前必须先创建db_name数据库,并用use db_name选中。或者在备份时,直接用mysqldump -u root -p --databases db_name>db.sql,这样不仅备份了所用数据库下的表结构,而且包括了创建数据库的语句。 2,数据的还原 如果没有登录mysql数据库,mysql -h localhost -u root -p db_name(数据库名)<filename.sql(备份文件名) 如果已经登录了mysql里面则通过source语句还原:先在mysql中选择要还原的数据库,即use db_name; 然后执行source filename.sql(文件路径名) 3,表的导入导出 mysql关键的操作是对数据操作,而数据是存储在表中,因此对数据的直接操作是通过表的导入导出实现的,表的导入与导出有多种方法下面我们就总结一下: 一、已登录mysql,用select...into outfile导出文件,用load data infile导入文件 格式:use db_name 进入某个数据库 select * from table_name into outfile "filepath.txt"; 将表table_name导出filepath路径下的文件中 load data infile "filepath.txt" into table table_name; 将filepath.txt的数据导入到表table_name中; 上面这两条语句都有一些可选项[options]来规定导入、导出时数据的格式,如: select * from table_name into outfile "filepath.txt" fields terminated by ',' enclosed by ' \" ' escaped by ' \' ' lines terminated by '\r\n' staring by '>' fields下的terminated by ','表示导出的数据字段之间用,相隔,enclosed by ' \" ' 表示每个字段被双引号包围,escaped by ' \' '表示将转义字符定义为单引号。lines下的terminated by '\r\n'表示每行记录以回车换行符结尾,staring by '>'表示每一行以‘ > ’字符开始。例子如下: 不加option的导出数据格式为 1Tale of AAA Dickes28 1995novel 112EmmaT Jane lura40 1993drama 22 加了如上option的导出数据格式为 > "1","Tale of AAA",...
二 不登录mysql 用mysqldump命令导出文件,感觉跟备份数据库相似,命令如下: mysqldump -T path dbname table_name -u root -p path为导出的路径,dbname为数据库名 table_name为数据库中的表名。 也可像select ... into outfile 一样加option可选项如下: mysqldump -T path dbname table_name -u root -p --fields-terminated-by=,--fields-enclosed-by=\"--fields-escaped-by=?--lines-terminated-by=\r\n 用mysql命令导出数据库 mysql -u root -p --execute="select 语句" dbname>filename.txt 同样可以用mysql导出html格式的数据,使用--html选项即可 mysql -u root -p --html --execute="select 语句" dbname>filename.html mysql -u root -p --xml --execute="select 语句" dbname>filename.xml 用mysqlimport导入文本文件 mysqlimport -u root -p db_name filename.txt 也可以带有可选参数如mysqldump的参数。 mysqlimport -u root -p db_name filename.txt --fields-terminated-by=,--fields-enclosed-by=\"--fields-escaped-by=?--lines-terminated-by=\r\n
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com