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 ...
- MySQL学习笔记(cmd模式下的操作)
1.登入MySQL 1.1 登入MySQL 1.1.1命令如下: C:\Users\zjw>mysql -hlocalhost -uroot -p Enter password: ****** ...
- 【PHP+MySQL学习笔记】php操作MySQL数据库中语句
1.连接 MYSQL 服务器的函数 mysql_connect();<?php $con = mysql_connect("localhost","root&quo ...
- mysql学习笔记02 CRUD操作
添加数据insert into 表名(字段列表) values(对应字段的列表值) 查询数据 select *from 表名 where 条件select *from 表名 where 1条件 1表示 ...
- 数据库MySQL学习笔记高级篇
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...
- MySQL学习笔记-锁相关话题
在事务相关话题中,已经提到事务隔离性依靠锁机制实现的.在本篇中围绕着InnoDB与MyISAM锁机制的不同展开,进而描述锁的实现方式,多种锁的概念,以及死锁产生的原因. Mysql常用存储引擎的锁 ...
- mysql basic operation,mysql总结,对mysql经常使用语句的详细总结,MySQL学习笔记
mysql> select * from wifi_data where dev_id like "0023-AABBCCCCBBAA" ; 1.显示数据库列表.show d ...
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- Hadoop学习笔记(7) ——高级编程
Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...
随机推荐
- 终止Docker容器
可以使用 docker stop 来终止一个运行中的容器. 此外,当Docker容器中指定的应用终结时,容器也自动终止. 例如对于上一章节中只启动了一个终端的容器,用户通过 exit 命令或 Ctrl ...
- Nginx之(三)Nginx配置
一个简单的配置文件如下: #定义Nginx运行的用户及用户组 user userName userGroupName; #工作进程数目,根据硬件调整,通常等于CPU数量或者2倍于CPU worker_ ...
- R语言:安装及使用
http://blog.csdn.net/pipisorry/article/details/53640638 ubuntu下安装 sudo apt-get install -y r-base源码安装 ...
- J2EE进阶(十八)基于留言板分析SSH工作流程
J2EE进阶(十八)基于留言板分析SSH工作流程 留言板采用SSH(Struts1.2 + Spring3.0 + Hibernate3.0)架构. 工作流程(以用户登录为例): 首先是用 ...
- Swift下多个Storyboard的项目结构
我是个比较喜欢用storyboard和xib的人.我个人的习惯就是,能用storyboard的一定不用代码手工撸.当然自己业余个人写的项目,基本上一个storyboard就搞定了.但涉及到多人合作下时 ...
- Android开发艺术探索——第二章:IPC机制(中)
Android开发艺术探索--第二章:IPC机制(中) 好的,我们继续来了解IPC机制,在上篇我们可能就是把理论的知识写完了,然后现在基本上是可以实战了. 一.Android中的IPC方式 本节我们开 ...
- EBS开发附件上传和下载功能
上传 Oracle ERP二次开发中使用的方式有两种,一是通过标准功能,在系统管理员中定义即可,不用写代码,就可以使几乎任何Form具有附件功能,具体参考系统管理员文档:二是通过PL/SQL Gate ...
- 阻塞IO服务器模型之单线程服务器模型
单线程服务器模型是最简单的一个服务器模型,几乎我们所有程序员在刚开始接触网络编程(不管是B/S结构还是C/S结构)都是从这个简单的模型开始.这种模型只提供同时一个客户端访问,多个客户端访问必须要等到前 ...
- Ant简介
Ant,apache开源项目,基于Java的构建工具,是一个小程序.它通过自动完成所有的编译代码,运行测试以及 打包重新部署等繁琐费力的任务来帮助软件团队开发大程序: Ant的目标是自动完成所有的构建 ...
- 【移动开发】 Android隐藏输入法软键盘的一些说明
刚刚在写一个仿微信的Android聊天软件,在编写的过程中,发现一个严重的BUG---当用户点击输入框用软键盘输入文本的时候点击了"返回好友列表"的按钮,返回到好友列表时软键盘无法 ...