事务、视图、索引、备份和恢复

事务

1.概念

    事务:就是一堆操作的集合,他们同生共死。要么都执行成功,要么都执行失败

2.事务的属性(ACID)

    A:原子性 完整的,不可分割的
   C: 一致性 事务执行完毕后,数据的状态是一致的
   I: ISOLation 隔离性 两个事务执行互不影响
   D: 永久性 事务执行完后,对数据的影响是永久的。

3.执行事务的语法

   1)、开始事务。

           BEGIN; 或  START  TRANSACTION;

  2)、提交事务。

           COMMIT;

           这个语句标志一个事务成功提交。自事务开始至提交语句执行的所有数据更新将永久地保存在数据库文件中,并释放链接时占用的资源。

  3)、回滚(撤销)事务。

           ROLLBACK;

           清除自事务起始点至该语句所做的所有数据更新操作,将数据状态回滚到事务开始之前。

示例:

         #模拟转账成功,提交事务
         #设置结果集以GBK的编码格式显示

         SET NAMES gbk;

         ##开启事务
         BEGIN;
         UPDATE cardinfo SET balance=balance-300 WHERE cardID='1010357612121134';
         UPDATE cardinfo SET balance=balance+300 WHERE cardID='1010357612345678';

         ##关闭事务
        COMMIT;


 

        #模拟转账失败,提交事务
        ##开启事务
        BEGIN;
        UPDATE cardinfo SET balance=balance-300 WHERE cardID='1010357612121134';
        ##撤销事务
       ROLLBACK;


 

视图

1.概念

   视图: 就是一张虚拟表,本质上存储的是一对SQL的集合。

2.使用SQL语句创建视图

    CREATE  VIEW  视图名

     AS 

     <SELECT>语句;

     注意:在SQL语句命名规范中,视图一般以view_xxx或v_xxx的样式来命名。

3.使用SQL语句删除视图

    DROP  VIEW  [ IF EXINTS ]  视图名;

4.使用SQL语句查看视图数据

    SELECT  *  FROM  视图名;


 

索引

1.概念

   索引:一种有效组合数据的方式,为快速查找到指定记录

2.索引分类

   1、普通索引

   2、唯一索引

   3、主键索引

   4、复合索引

   5、全文索引

   6、空间索引

4.创建索引

    CREATE [ UNIQUE | FULLTEXT | SPATIAL ]  INDEX  索引名

     ON  table_name( column_name[ length ] ……);

     *UNIQUE | FULLTEXT | SPATIAL :分别表示唯一索引、全文索引、和空间索引,为可选参数。

     *table_name:指定创建索引的表名。

      *column_name:指定需要创建索引的列。

      *length :指定索引长度,可选参数,只有字符串类型才能指定索引长度。

5.删除索引

    DROP  INDEX  索引名  ON  表名;


备份和恢复

1.使用mysqldump命令备份数据库

   mysqldump:MySQL一个常用的备份命令,执行此命令会将包含数据的表结构和数据内容转换成相应的CREATE语句和INSERT  INTO语句,保存在文本文件中。

   1)mysqldump命令格式

         mysqldump  -u  用户名  -h  主机名称可省略  -p密码  需要备份的数据库  [ 需要备份的数据表 ]  >备份文件的名称

2.使用mysql命令恢复数据库

    mysql  -u  用户名  -p  [ 数据库名 ]  <数据库备份文件

3.表数据导出文本文件

    select columnlist from tablename [where contion] into outfile 'filename' [option]

4.文本文档导入表数据

   load data infile filename into table tablename [option]

 

posted @ 2018-02-25 13:59  物是人非l  阅读(377)  评论(0编辑  收藏  举报