第五章 事务,视图,索引,备份和恢复

1.事务是一种机制,一个操作序列,它包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交会撤销操作请求。

2.数据库事务具有如下特性

A.原子性
B.一致性
C.隔离性

D. 持久性

以上四个特性也被称为ACID特性。

3.使用下列语句来管理事务

A. BEGINTEANSACTION(开始事务)。
  //开始事务
    begin;
    update `bank` set `currentMoney` =`currentMoney` -1000
    where `customerName` ='张三';

B.COMMIT(提交事务)。
  //提交事务,写入硬盘,永久的保存
    commit;

C.ROLLBACK(回滚事务)。
  //回滚事务,数据恢复到未更新前的状态
   RollBACK;

D.或者使用SET autocommit=0 设置自动提交关闭,进行事务提交或回滚后,再使用SET autocommit=1 开始自动提交。
  //开始事务
  begin;
  update `bank` set `currentMoney` =`currentMoney` -1000
  where `customerName` ='张三';
  //回滚事务,数据恢复到未更新前的状态
  RollBACK;
  SET AUTOCOMMIT=0;
  update `bank` set `currentMoney` =`currentMoney` -500
  where `customerName` ='张三';
  update `bank` set `currentMoney` =`currentMoney` +500
  where `customerName` ='李四';
  //提交事务,写入硬盘,永久的保存
  commit;
  //回滚事务,数据恢复到未更新前的状态
  RollBACK;
  set autocommit=1;

4.视图是一种查看数据库一个或多个表中的数据的方法。

  /*查询视图*/
  SELECT * FROM  `view_student_result`;

5.视图是一种虚拟表,通常是作为执行查询的结果而创建的。

   /*创建视图*/
   USE mybank;
   DROP VIEW IF EXISTS `view_student_result`;
   CREATE VIEW `view_student_result` 
   AS
   SELECT `customerName` AS 姓名,`currentMoney` AS 钱
   FROM `bank`;
   USE information_schema;
   /*查询视图*/
   SELECT * FROM  `view_student_result`;

6.视图充当着查询中指定表的筛选器。

   /*查询视图*/
   SELECT * FROM  `view_student_result`;

7.使用CREATE VIEW 语句创建视图。

    /*创建视图*/
   USE mybank;
   DROP VIEW IF EXISTS `view_student_result`;
   CREATE VIEW `view_student_result` 
   AS
   SELECT `customerName` AS 姓名,`currentMoney` AS 钱
   FROM `bank`;
   USE information_schema;

8.使用SELECT 语句查看视图的查询结果。

   /*查询视图*/
   SELECT * FROM  `view_student_result`;

9.建立索引有助于快速检索数据,索引分为普通索引,唯一索引,主键索引,复合索引,全文索引,空间索引。

  A.常用的数据库备份和恢复方式使用mysqldump命令备份数据库。
  B.使用mysql命令恢复数据库。
  C.通过复制文件实现数据备份和恢复。

10.表数据的导出和导入。

  A.使用select.....into outfile语句实现表数据的导出。
  /* 备份数据库*/
  CREATE datbase school2;
  USE school2;
 /*恢复数据库 路径 不要用英文路径名
   source D:\S2\Z.sql;*/
 /*导出*/
 USE school2;
 SELECT * FROM bank;
 INTO OUTFILE 'D:\S2\\Out.txt';
/* 恢复数据库 */
CREATE DATABASE school3;
USE school3;
source 'D:\S2\\Out.txt';

  B.使用load data infile......into语句实现表数据的导入。
 /*导入*/
 /*创建表结构*/
 USE mybank;
 create table 表名(字段 类型 )ENGINE = INNODB DEFAULT CHARSET=utf8;
 /*导入数据*/
 LOAD DATA INFILE  ('D:\S2\\Out.txt')指定文本文件的路径和特性 INTO TABLE 表名 (mybank)
 /*查看表数据*/
 select * from mybank(表名);


 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值