MySQL学习笔记_10_MySQL高级操作(下)
MySQL高级操作(下)
五、MySQL预处理语句
1、设置预处理stmt,传递一个数据作为where的判断条件
prepare stmt from “select * from table_name where id > ?”;
2、设置一个变量
set @i = 1;
3、执行预处理语句
execute stmt using @i;
4、删除预处理指令
drop prepare stmt;
六、MySQL事务处理
【注意】MyISAM存储引擎对事务并不支持,应该使用InnoDB存储引擎
1、set autocommit = 0; #关闭自动提交
2、delete from t1 where id > 4;
3、savepoint p1; #设置还原点
4、delete from t1;
5、rollback to p1; #回滚到p1还原点
6、rollback; #回滚到最原始的还原点
7、commit ; #提交数据到服务器
8、set autocommit = 1; #开启自动提交,关闭事务处理
七、MySQL存储
1、创建一个存储p1()
mysql>\d // #修改定界符为//
mysql>create procedure p1()->begin->set @i = 0;->while @i < 100 do->insert into t2(name) values(concat("user",@i));->set @i = @i + 1;->end while;->end;//
mysql>\d ;
2、执行p1()
callp1();
3、查看procedure的status信息
showprocedure status \G
4、查看procedurep1的具体信息
show create procedure p1 \G
八、MySQL触发器
1、创建触发器
#创建一个名为t1的触发器,当向t1表中插入数据时,就引发动作:向t2表中插入数
mysql>\d //
mysql>create trigger t1 before inserton t1 for each row->begin->insert into t2(name) values(new.name);->end//
mysql>\d ;
#创建触发器t2,如果表t1删除数据,则引发触发器,表t2中的数据也相应删除
mysql>\d //
mysql>create trigger t2 before delete on t1 for each row->begin->delete from t2 where id =old.id;->end//
mysql>\d ;
#创建触发器t3,如果修改表t1则t2中的记录也相应修改
mysql>\d //
mysql>create trigger t3 before update on t1 for each row->begin->update t2 set id =new.id where id = old.id;->end//
mysql>\d ;
2、删除触发器
drop trigger trigger_name;
【附】删除表中所有数据:truncatetable_name; #速度更快,同时也可以清空auto_increment列表
九、重排auto_increment值
MySQL中自动增长的ID如何恢复?
1、清空表的时候,不要用delete from table_name;
而是:truncate [table] table_name;
或者
2、清空内容之后直接使用alter命令修改表
alter table table_name auto_increment = 1;
MySQL学习笔记_10_MySQL高级操作(下)相关推荐
- MySQL学习笔记_9_MySQL高级操作(上)
MySQL高级操作(上) 一.MySQL表复制 create table t2 like t1; #复制表结构,t2可以学习到t1所有的表结构 insert into t2 ...
- 【PHP+MySQL学习笔记】php操作MySQL数据库中语句
我们常常用conn.php文件来建立与数据库的链接,然后在所需的文件中利用include 进行调用.这样有效防止对数据库属性的改动 而引起其他有关文件对数据调用的错误. 现在来看一个conn.php文 ...
- MySQL学习笔记-03高级查询、多表联合查询、聚合函数、子查询、视图、存储过程、权限、
关于作者 金山老师:从事Java.大数据.Python职业化培训6年,项目管理.软件开发14年.欢迎添加我的微信号[jshand],最近建了一些微信交流群,扫描下方二维码添加公众号,回复:进群 文章目 ...
- JavaEE 企业级分布式高级架构师(六)MySQL学习笔记(6)
MySQL学习笔记 性能优化篇 性能优化的思路 慢查询日志 慢查询日志介绍 开启慢查询功能 演示一 演示二 分析慢查询日志 MySQL自带的mysqldumpslow 使用percona-toolki ...
- 数据库MySQL学习笔记高级篇(周阳)
数据库MySQL学习笔记高级篇 1. mysql的架构介绍 mysql简介 高级Mysql mysqlLinux版的安装 mysql配置文件 mysql逻辑架构介绍 mysql存储引擎 2. 索引优化 ...
- MySQL学习笔记05【多表操作、三大范式、数据库的备份和还原】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- MySQL学习笔记04【数据库的查询操作、今日内容、表的约束】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- MySQL学习笔记02【SQL基本概念与通用语法、数据库的CRUD操作】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
最新文章
- 微信公众号Java开发-笔记02【开发接入准备、开发接入】
- boost::multi_array模块实现index_base 修改工具的测试
- 使用 SAP Cloud SDK 开发应用时,如何通过环境变量的配置避免硬编码
- oracle -239报错,解决: ./check_oracle_health --connect orcl --mode connection-time 报错的问题...
- 工作260:js判断一个数组是否包含一个指定的值
- Linux下程序开机启动
- 移动端常见兼容性问题及解决办法
- Spark 基础 —— RDD(一)
- 如何防范短信接口被恶意攻击
- 热门手机刷锤子ROM什么样?
- 集成电路制造工艺及设备
- 计算机图形学上机心得,计算机图形学学习的心得体会
- LTE的基础知识与关键技术
- asp.net 面试题目
- 汇编指令中 Rd Rm Rn Ra 的 具体含义 ?
- qcustomplot圆_Qt之QCustomPlot(图形库)
- 购买阿里云GPU虚拟化型实例规格族vgn6i抢占式实例并搭建CUDA 11.5和cuDNN 8.3.0
- Thinkpad E40 Xp下安装AHCI驱动
- 运动理想型耳机是什么样子——飞利浦骨传导运动耳机A6606有料分享
- 035 Rust死灵书之Vec处理零尺寸类型
热门文章
- java中发红包案例之红包界面不出来的解决方案
- Java 文件操作一(写文件、按行读文件、删除文件、复制文件、追加数据、创建临时文件、修改最后修改日期、获取文件大小)
- builtins.TypeError: sequence item 0: expected a bytes-like object, str found
- 在Linux下锁住键盘和鼠标而不锁屏
- 如何掌握所有的程序设计语言?
- 【转】【Linux】sed命令详解
- LeetCode 链表的插入排序
- PowerEdge服务器生命周期控制器:Lifecycle Controller
- 全球数据库--基金/管理产品--分类/行业平均
- 转:怎样在VMware ESXi上 克隆虚拟机