【数据库】sql语句汇总(四)

/*SQL语句备份与恢复*/

1.SQL语句备份:
①导出表数据-----------
使用SELECT INTO … OUTFILE语句将表数据导出到一个文本文件中,语法格式如下:
SELECT * INTO OUTFILE ‘FILENAME’
[FIELDS
[TERMINATED BY ‘string’]
[[OPTIONALLY] ENCLOSED BY ‘char’]
[ESCAPED BY ‘char’]
]
[LINES TERMINATED BY ‘string’];
2.比如用不同的后缀名备份DBEM数据库中的employee, salary两个基本表,employee表要求只备份employeeID, name, education等三个字段,书写语句为:
①对于表employee:

select employeeID,name,education from employee into outfile 'D:\\dataset2\\employee_back.doc'
fields terminated by '\t'
enclosed by ''
escaped by ';'
lines terminated by '\r';

注:备份的数据文件存储路径要已知且存在,文件路径的书写,可能不同电脑斜杠'\'数量和方向不一致,结合自身情况而定;

②对于表salary:

select * from salary 
into outfile 'D:\\dataset2\\salary.txt';

或者

select * from salary 
into outfile 'D:\\dataset2\\salary_back.txt'
Fileds terminated by ‘\t’
Enclosed by ‘’
Escaped by ‘,’
Lines teriminated by ‘\r’;

3.SQL语句恢复:
①导入表数据----------
使用LOAD DATA INTO … INFILE语句将一个文件中的数据导入到数据库中,语法格式如下:
LOAD DATA INFILE ‘FILENAME’ [REPLACE|IGNORE] INTO TABLE table_name
[FIELDS
[TERMINATED BY ‘string’]
[[OPTIONALLY] ENCLOSED BY ‘char’]
[ESCAPED BY ‘char’]
]
[LINES [STARTING BY ‘string’] [TERMINATED BY ‘string’]]
[IGNORE number LINES]
[(列名或用户变量)]
[SET 列名=表达式]
①对于employee表:

LOAD DATA INFILE 'D:\\dataset2\\employee_back.doc' replace into TABLE employee
fields terminated by '\t'
enclosed by ''
escaped by ';'
lines terminated by '\r'
(employeeID,name,education);

②表salary同理

LOAD DATA INFILE 'D:\\dataset2\\salary_back.txt' replace into table salary
fields terminated by '\t'
enclosed by ''
escaped by ';'
lines terminated by '\r';

效果如下图:

/*客户端备份与恢复*/ 

顾名思义,即使用客户端工具对数据库进行备份和恢复;

①使用mysqldump备份数据:
mysqldump程序可用于备份数据,并且可以在导出的文件中包含表结构的SQL语句,因此可以备份数据库表的结构,而且可以备份整个 数据库,甚至整个数据库系统。
*比如使用mysqldump命令备份DBEM数据库中的employee表,语句为

mysqldump -hlocalhost -uroot -p123456 dbem employee >D:\dataset2\employee.sql

注:'-uroot'表示数据库的登录用户名为root,'-p123456'表示数据库的登录密码为123456;而且备份的数据文件存储路径要已知且存在,文件路径的书写,可能不同电脑斜杠'\'数量和方向不一致,结合自身情况而定;
*比如使用mysqldump命令备份整个DBEM数据库 ,语句为

mysqldump -hlocalhost -uroot -p123456 dbem >D:\dataset2\dbem.sql

②使用mysql恢复数据库 
mysql命令可以恢复由mysqldump备份的数据库文件
*比如删除employee表,然后使用mysql命令,利用上述保存的文件恢复employee表 ,语句为:

mysql -uroot -p123456 dbem <D:\dataset2\employee.sql

恢复数据库为:

mysql -uroot -p123456 dbem <D:\dataset2\dbem.sql

③使用mysqlimport恢复数据 
mysqlimport程序可以恢复基本表中的数据,它提供了一个LOAD DATA INFILE语句的命令行接口,发送命令到服务器来运作;
*比如删除salary表的部分数据,然后使用mysqlimport命令及--replace功能恢复salary表,其中salary表的数据备份文件使用实验4.1中的文件,语句为:

mysqlimport -uroot -p123456 --replace dbem D:/dataset2/salary.txt

效果如下图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值