备份乃不死之王!
一、全表结构备份:
SELECT INTO 语句:表示从一个表中选取数据,然后把数据插入另一个表中,常用来备份一张表
INSERT INTO new_table_name SELECT * FROM old_tablename;
示例:备份student表,备份表取名为student_backup
insert into student_backup select * from student ;
则会生成一张与student表结构及数据一样的备份表。
insert into 新表名 select * from 旧表名
先需要建好表和表结构;
INSERT INTO listen_class_access_bak201910311531 SELECT * FROM listen_class_access;
INSERT INTO listen_course_access_bak201910311538 SELECT * FROM listen_course_access;
INSERT INTO course_increment_201910311547 SELECT * FROM course_increment;
二、如果只备份表中的某些列:
SELECT column_name1,column_name2... INTO new_table_name FROM old_tablename
示例:只备份student表中的sno,name列入新表student_backup
select sno,name into student_backup from student ;
三、如果需要将表中满足一定条件的记录进行备份,则可以使用where字句配套使用
示例:将所有性别为男的学生记录备份到新表student_backup
select * into student_backup
from student
where sex='男';
注:但是在mysql中使用SELECT INTO语句是无法进行备份操作,执行命令时会提示新表未定义

所以,我们应该使用下列语句进行数据表的备份操作。
1.只复制表结构到新表 :(只有结构无数据)
create table 新表 select * from 旧表 where1=2
或
create table 新表 like 旧表
此两种方法的区别:
使用第一条语句,备份的新表并没有旧表的primary key 、auto_increment等属性,需要重新对新表进行设置
示例:
create table newstudent select * from student where 1=2;

或者
create table newstudent like sutdent;

2.复制表结构及数据到新表
create table 新表 select * from 旧表;
这种方法会将oldtable中所有的内容都拷贝过来,同时也存在备份的新表不具备旧表 primary key、auto_increment等属性,需要对新表再次设置。
示例:复制student表中所有数据到新表student_backup1;
create table student_backup1 select * from student;


「真诚赞赏,手留余香」
真诚赞赏,手留余香
使用微信扫描二维码完成支付

转载请注明:首页 > 投稿 » 数据库如何做备份(数据库备份操作之指南)
发表评论
版权声明
求资源网所发布的一切破解补丁,软件,以及其他分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途。
否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。