yllplay 发表于 2018-10-3 13:17:38

MySQL索引与事务

mysql> create database 数据;  Query OK, 1 row affected (0.00 sec)
  mysql> use 数据;
  Database changed
  mysql> use 学院班级信息;
  Reading table information for completion of table and column names
  You can turn off this feature to get a quicker startup with -A
  Database changed
  mysql> begin;
  Query OK, 0 rows affected (0.00 sec)
  mysql>insert
  -> into 六年级二班学生数据表 values (5,'田七',2,1); #在表中插入这段信息
  Query OK, 1 row affected (0.00 sec)
  mysql> select
  -> * from 六年级二班学生数据表;
  +--------+--------+--------+--------+
  | 编号   | 姓名   | 学分   | 爱好   |
  +--------+--------+--------+--------+
  |      1 | 张三   |   80 |      1 |
  |      2 | 李四   |   81 |      2 |
  |      3 | 王五   |   81 |      3 |
  |      4 | 赵六   |   99 |      2 |
  |      5 | 田七   |      2 |      1 |
  +--------+--------+--------+--------+
  5 rows in set (0.00 sec)#查看表中数据有田七这个人员信息
  #我们另开一个终端登入数据库再查看表的信息
  mysql> select * from 六年级二班学生数据表;
  +--------+--------+--------+--------+
  | 编号   | 姓名   | 学分   | 爱好   |
  +--------+--------+--------+--------+
  |      1 | 张三   |   80 |      1 |
  |      2 | 李四   |   81 |      2 |
  |      3 | 王五   |   81 |      3 |
  |      4 | 赵六   |   99 |      2 |
  +--------+--------+--------+--------+
  4 rows in set (0.00 sec)
  #从另一个终端的数据库看不到田七数据因为begin只是开始一个事务并没有提交
  #想要提交事务用commit提交 如果怕后面出错可以在这边进行一个留档
  mysql> savepoint s1;
  Query OK, 0 rows affected (0.00 sec)
  mysql> insert into 六年级二班学生数据表 values (6,'黑八',77,4);
  Query OK, 1 row affected (0.00 sec)
  mysql> savepoint s2;
  Query OK, 0 rows affected (0.00 sec)
  mysql> select * from 六年级二班学生数据表;
  +--------+--------+--------+--------+
  | 编号   | 姓名   | 学分   | 爱好   |
  +--------+--------+--------+--------+
  |      1 | 张三   |   80 |      1 |
  |      2 | 李四   |   81 |      2 |
  |      3 | 王五   |   81 |      3 |
  |      4 | 赵六   |   99 |      2 |
  |      5 | 田七   |      2 |      1 |
  |      6 | 黑八   |   77 |      4 |
  +--------+--------+--------+--------+
  6 rows in set (0.00 sec)
  #如果再第二个留档中出错了用rollback to savepoint s1;
  mysql> rollback to savepoint s1;
  Query OK, 0 rows affected (0.00 sec)
  mysql> select * from 六年级二班学生数据表;
  +--------+--------+--------+--------+
  | 编号   | 姓名   | 学分   | 爱好   |
  +--------+--------+--------+--------+
  |      1 | 张三   |   80 |      1 |
  |      2 | 李四   |   81 |      2 |
  |      3 | 王五   |   81 |      3 |
  |      4 | 赵六   |   99 |      2 |
  |      5 | 田七   |      2 |      1 |
  +--------+--------+--------+--------+
  5 rows in set (0.00 sec)
  #此时留档二中的黑八就叫已经不存在了,注:回滚到上一个s1的留档的位置那么从s1下面所有操作的事务全都不存在了

页: [1]
查看完整版本: MySQL索引与事务