• MySQL总结二


    sql注入:

    原因:相信用户输入的所有的数据

    解决方法;1. 自己手动去判断转义用户的数据  2. 不要拼接sql语句,使用execute方法,防止sql注入

    事务:四大特性

    1.原子性 2. 一致性 3.隔离性 4.持久性

    开启事务的步骤:1.satrt transaction 2.修改或者删除sql的语句操作  3.完成(commit/rollback)

    存储引擎:

    Innodb:1.5.5版本以上包含 2.支持事务 3.不支持全文索引 4.索引和事务都在同一个文件中

    MyIsam:1.5.5版本以下 2.不支持事务 3.支持全文索引

    memory

    索引:

    作用:为了加快查找的速度

    类比:新华字典的目录,可以将索引理解成一个特殊的文件,没有这个文件,查找会从前往后一一匹配,速度很慢

    分类:

    主键索引:加快查找速度+唯一性+不能为空+ primary key

    创建:alter table t1 change id id int auto_incremeny primary key

    唯一索引:加快查找速度+唯一性+unique(列名)

    创建:create unique index 索引名称 on 表名(列名)

    普通索引:加快查找速度+index(列名)

    创建: create index 索引名称 on 表名(列名)

    删除索引:drop 索引名称 on 表名

    一般在使用频繁的列上加索引

    sql语句使用的规则:

    1.不建议使用 like 进行搜索

    2.组合索引最左前缀(name,email)

    where name and email -- 使用索引
    where name -- 使用索引
    where email -- 不使用索引

    慢日志:

    1.show variables like "%query%";

    2.set global long_query_time = 1;

    3.set global slow_query_log = ON

    普通日志:

    1.show variables like '%general%';

    2. set global general_log = ON

    mysql用户权限管理:

    创建用户:

    create user '用户名'@‘IP地址’ identified by '密码';

    删除用户:

    rename user '用户名'@‘IP地址’ to ‘新用户名’@‘IP地址’

    修改用户
    rename user '用户名'@'IP地址' to '新用户名'@'IP地址';
    修改密码
    set password for '用户名'@'IP地址' = Password('新密码')
    授权:
    grant 权限 on 数据库.表 to '用户'@'IP地址' -- 授权
    grant select on db1.* to 'zekai'@'%';
    grant select on *.* to 'zekai'@'%';
    grant select, insert, delete on db1.* to 'zekai'@'%';

    记住:
    flush privileges

  • 相关阅读:
    HDU-1240 Asteroids! (BFS)这里是一个三维空间,用一个6*3二维数组储存6个不同方向
    HDU-1026 Ignatius and the Princess I(BFS) 带路径的广搜
    HDU-1700 Points on Cycle
    HDU-4515 小Q系列故事——世界上最遥远的距离
    Star
    HDOJ5441(图论中的并查集)
    HDOJ5438(图的各个连通分量遍历)
    HDOJ5044(最近公共祖先)
    C++输入输出知识
    JAVAmap容器基本使用
  • 原文地址:https://www.cnblogs.com/huanghongzheng/p/11053896.html
Copyright © 2020-2023  润新知