• MySQL事务处理和索引


    事务处理

    用COMMIT和ROLLBACK来管理事务处理。MyISAM不支持事务处理,InnoDB支持事务处理。

    事务处理可以用来维护数据库的完整性,保证成批的MySQL操作要么完全执行,要么完全不执行。

    START TRANSACTION;
    ROLLBACK;//回滚,中间处理取消
    
    START TRANSACTION;
    DELETE FROM orderitems WHERE order_num = 20010;
    DELETE FROM order WHERE order_num = 20010;
    COMMIT;
    

    更复杂的事务处理需要用到部分提交或回退,SAVEPOINT保留点

    SAVEPOINT delete1;
    
    ROLLBACK TO delete1;
    

    字符集和校对

    SHOW CHARACTER SET;显示所有可用的字符集以及每个字符集的描述和默认校对。

    SHOW COLLATION;显示所有可用的校对,以及使用的字符集。

    对整个数据库或一列设置字符集,CHARACTER SET utf-8

    安全管理

    用户应该对他们需要的数据具有适当的访问权,既不能多也不能少。多数用户只能对表读写,少数能创建和删除表。

    日常工作中不能使用root。MySQL用户账号和信息存储在mysql的数据库中

    USE mysql;
    SELECT user FROM user;
    

    创建新用户账号,使用GRANT或INSERT GRANT也创建用户。

    CREATE USER ben IDENTIFIED BY PASSWORD;
    

    删除用户

    DROP USER ben;
    

    GRANT赋予权限要给三个信息:要赋予的权限,数据库或表,用户名

    GRANT SELECT ON table1 TO ben;
    

    REVOKE撤销特定的权限。

    备份数据

    • 使用命令行实用程序mysqldump转储所有数据库内容到某个外部文件。
    • 使用命令行实用程序mysqlhotcopy从一个数据库复制所有数据
    • 使用MySQL的BACKUP TABLE转储所有数据到某个外部文件

    索引

    引自[https://www.jianshu.com/p/0d6c828d3c70]

    索引用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表。

    MySQL中的索引的存储类型有两种:BTREE、HASH,树或哈希。

    创建索引和维护索引要消耗时间,对表增删改查时,索引也要维护。

    MyISAM和InnoDB支持BTREE索引。

    索引分为四类,单列索引、组合索引、全文索引、空间索引。

    • 单列索引,一个索引只包含单个列
    • 组合索引,在表中的多个字段组合上创建的索引
    • 全文索引,在一堆文字中,通过某个关键字就能找到该记录
    • 空间搜索

    创建表的时候创建索引

    总结

    《MySQL必知必会》针对于数据库新手,这次学习此书算是对SQL的一个全面复习,后面需要对MySQL高级知识进行一个系统性学习。

  • 相关阅读:
    win2008服务器信任问题
    切换cmd的目录
    c#后的完整cookie
    c#网络编程-第一章
    c#访问mysql数据库
    标准库hashlib模块
    标准库ConfigParser模块
    标准库shutil
    标准库 xml
    标准库shelve
  • 原文地址:https://www.cnblogs.com/chenshaowei/p/12416953.html
Copyright © 2020-2023  润新知