MySql数据库学习笔记(2)
DELETE
语法:delete from 表名 [where condition]
delete from grade;
TRUNCATE
用于完全清空表数据,但表结构、索引、约束不变;
语法:
truncate [table] table_name;
事务 transaction
- 原子性(A):执行事务,要么都成功,要么都失败。
- 一致性(C):执行后,保持数据的一致。
- 隔离性(I): 事务之间相互独立,互不影响
- 持久性(D):数据永久存储在数据库中
事务的隔离级别:
- 读取未提交(Read-uncommitted): 处于此模式下可能会出现脏读、幻象读、不可重复读
- 读取提交(Read-committed):处于此模式下可能会出现幻象读、不可重复读
- 重复读取(repeatable-read):处于此模式下可能会出现幻象读
- 串行化(Serialize):不会出现幻象读
- 脏读:
- 幻读:
SET Autocommit
- set autocommit = 0;关闭自动提交模式
- set autocommit = 1;开启自动提交模式
注意:MySQL默认是自动提交,使用事务时应先关闭自动提交
mysql> select @@autocommit;
+--------------+
| @@autocommit |
+--------------+
| 1 |
+--------------+
mysql> set autocommit = 0;
mysql> select @@autocommit;
+--------------+
| @@autocommit |
+--------------+
| 0 |
+--------------+
事务的实现方式:
- Start transaction :开始一个事务,标记事务的起点
- Commit : 提交一个事务给数据库
- Rollback : 将事务回滚,数据回到本事务的初始状态
- Set autocommit = 1; 还原MyAQL数据库的自动提交
查看默认事务提交方式:
mysql> select @@autocommit;
关闭自动提交事务:
mysql> set autocommit = 0;
过程:
- 开始事务:start transaction;
- 执行一系列SQL : mysql> update tbl_name set name =999 where name = 12;
- 假设出现异常事务回滚mysql> rollback;
- 假设一切正常 :mysql> commit;
课堂案例:
mysql> create database shop;
mysql> use shop;
mysql> create table account
-> (
-> id int not null primary key auto_increment,
-> name varchar(32) not null,
-> cash decimal(9,2) not null
-> );
mysql> insert into account(name,cash) values('A',2000.00);
mysql> insert into account(name,cash) values('B',10000.00);
mysql> select * from account;
+----+------+----------+
| id | name | cash |
+----+------+----------+
| 1 | A | 2000.00 |
| 2 | B | 10000.00 |
+----+------+----------+
mysql> update account set cash = cash - 500 where id =1;
mysql> update account set cash = cashh +500 where id =2;\\发生错误
ERROR 1054 (42S22): Unknown column 'cashh' in 'field list'
mysql> select * from account;
+----+------+----------+
| id | name | cash |
+----+------+----------+
| 1 | A | 1500.00 |
| 2 | B | 10000.00 |
+----+------+----------+
mysql> rollback;
mysql> select * from account;
+----+------+----------+
| id | name | cash |
+----+------+----------+
| 1 | A | 2000.00 |
| 2 | B | 10000.00 |
+----+------+----------+
MySql数据库学习笔记(2)的更多相关文章
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Mysql数据库学习笔记之数据库索引(index)
什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...
- MYSQL数据库学习笔记1
MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...
- MySQL数据库学习笔记<一>
MySQL基本概念以及简单操作 一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系 ...
- MySQL数据库学习笔记(四)----MySQL聚合函数、控制流程函数(含navicat软件的介绍)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(三)----基本的SQL语句
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- mysql 数据库学习笔记一
一.navicat的引入: (第三方可视化的客户端,方便MySQL数据库的管理和维护)安装网址:https://www.navicat.com.cn/ NavicatTM是一套快速.可靠并价格相宜的数 ...
- MySql数据库学习笔记(1)
MySql数据库 下载地址 https://dev.mysql.com/downloads/mysql/5.1.html#downloads 连接到本机上的MYSQL mysql -u root -p ...
随机推荐
- AtCoder arc061C Snuke's Subway Trip
大意: 给你一张无向图,边有种类. 当你第一次/重新进入某种边时费用 + 1 在同一种边之间行走无费用. 求 1 到 n 的最小费用. 嗯...乍一看有一个很直观的想法:记录每个点的最短路的上一条边的 ...
- 笔记:用标准c写 com dll
在 [XXX.idl] 中 1. 如果想在脚本语言中传递一个值,并且在dll(c代码)中修改这个值并返回的话, 这个参数必须写为:[in, out] VARIANT* 如果写成 [in, out] i ...
- 缓存数据库-redis数据类型和操作(list)
转: 狼来的日子里! 奋发博取 缓存数据库-redis数据类型和操作(list) 一:Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部( ...
- 向redis中添加删除list列表
转: 向redis中添加删除list列表 2018年04月18日 15:44:54 luo_yu_1106 阅读数:4082 一.添加 向redis中添加队列有两种方式 1.lpush l是lef ...
- 改xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" ...
- ojdbc6下载地址
https://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html oracle驱动先去官网下 ...
- HDFS集群优化篇
HDFS集群优化篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.操作系统级别优化 1>.优化文件系统(推荐使用EXT4和XFS文件系统,相比较而言,更推荐后者,因为XF ...
- Hadoop记录-Ganglia监控HDFS和HBase指标说明
HDFS相关 datanode相关 参数 解释 dfs.datanode.blockChecksumOp_avg_time 块校验平均时间 dfs.datanode.blockChecksumOp_n ...
- Ado.NET基础必备
一.SqlConnection对象 第一次需要连接数据库时要和服务器握手,解析连接字符串,授权,约束的检查等等操作,而物理连接建立后,这些操作就不会去做了(默认使用了连接池技术). SqlConnec ...
- Tips and Tricks for Debugging in chrome
Tips and Tricks for Debugging in chrome Pretty print On sources panel ,clicking on the {} on the bot ...