网站首页 > 教程文章 正文
我们经常会使用到备份数据表再操作相应数据表数据情况,那就可以写一个脚步进行,备份我们相应数据库表结构和数据,在对原本表进行操作,以防万一,操作不当。
1:如果只对数据进行备份,对表结构(主键,索引,id自增,字段非空等没做保留的情况下可以直接使用下面这个备份方法):
CREATE TABLE new_table_name AS SELECT * FROM table_name;
例子:对下面这个表进行一个备份
运行:
结果:
2:如果是备份当前完整表结构和数据:可以使用下面这个方法。
在MySQL5.1以上的版本中,prepare语句可以支持这样的操作。
我们可以用set @var=...设置变量,然后用prepare stml from @var设置动态sql语句,最后用EXECUTE stml;执行语句。
下面是以时间为表名,动态备份一个表的sql执行过程:
SET @sqlstr = CONCAT( 'create table test_delete_data_', DATE_FORMAT( CURDATE(), '%Y_%m_%d' ), ' like test_delete_data' );
PREPARE stmt1
FROM
@sqlstr;
EXECUTE stmt1;
SET @sqlstr = CONCAT( 'insert into test_delete_data_', DATE_FORMAT( CURDATE(), '%Y_%m_%d' ), ' select * from test_delete_data' );
PREPARE stmt1
FROM
@sqlstr;
EXECUTE stmt1;
运行:
结果:
再说个删除操作语句:场景:要删除当前表与另外一张表相关联数据,保存不关联数据;
例子:还是以上面test_delete_data表为关联的表当例子,要删除的表名为:delete_table。
语句:delete delete_table from delete_table
where id in (select apply_id from test_delete_data);
- 上一篇: MySQL巧用公共表表达式(CTE)解决字符串的拆分
- 下一篇: 油猴和脚本 油猴和脚本详细教程
猜你喜欢
- 2024-12-18 MySQL巧用公共表表达式(CTE)解决字符串的拆分
- 2024-12-18 在 Pandas 中使用 Merge、Join 、Concat合并数据的效率对比
- 2024-12-18 使用SQL语句将相同名的多行字段内容拼接起来
- 2024-12-18 如何避免出现 SQL 注入漏洞 如何有效防止sql注入
- 2024-12-18 MySQL递归查询上下级菜单 mysql如何递归查询
- 2024-12-18 做测试不会 SQL?超详细的 SQL 查询语法教程来啦
- 2024-12-18 mysql拼接函数讲解及配合截取函数使用
- 2024-12-18 Python语法之:Pandas数据合并总结
- 2024-12-18 比较常见类型漏洞讲解(三):SQL注入(一)
- 2024-12-18 SQL的基本函数 sql中的函数有哪些
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)