MySQL知识点复习大纲

记录一份

数据库管理系统
数据库管理系统分类
MySQL是什么
什么是数据库
什么是数据表
什么是表记录
什么是字段
什么是数据

MySQL在Windows下的安装
MySQL在Windows下的启动
MySQL在Windows下的服务方式

MySQL在Linux下的安装
MySQL在Linux下的启动

MySQL客户端选项

MySQL设置密码

MySQL数据库导入导出

MySQL注释

Windows下的MySQL命名事项
Linux下的MySQL命名事项

collate校验规则
  *_bin
  *_cs
  *_ci

内置的数据库

SQL的组成部分:
DQL
DDL
DCL
DML
TCL
CCL

MySQL的SQL部分:

公共命令

帮助命令

获取服务器元数据
    获取当前用户
    获取当前数据库
    查看当前服务器版本
    查看服务器状态
    查看服务器配置信息

防止SQL注入要诀

用户
  1. 创建
  2. 删除
  3. 更改密码
  4. 重命名
  5. 刷新密码
授权
  1. 查看
  2. 针对所有库授权
  3. 针对某一库授权
  4. 针对某一个授权
  5. 针对某字段授权
  6. 刷新权限
  7. 移除权限

数据库操作:
  1. 创建
  2. 删除
  3. 更改
  4. 查看数据库创建信息
  5. 查看所有的数据库
  6. 查看当前所在数据库
  7. 切换数据库

存储引擎
   1. 什么是存储引擎
   2. 存储引擎类别
   3. 查看所有的存储引擎
   4. 查看当前使用的存储引擎
   5. .ibd
   6. .frm
   7. 指定存储引擎
	
数据表操作:
  1. 创建(注意事项)
  2. 删除
  3. 复制表(数据 + 结构)
  4. 复制表(结构)
  5. 重命名
  6. 更改存储引擎
  7. 更改字符集、校验规则
  8. 查看表的字段信息
  9. 查看表创建信息
  10. 查看表的索引信息
  11. 查看指定数据库下所有表的信息
  10. 查看所有的表

表字段操作:
  1. 重命名表字段
  2. 修改字段定义(类型、约束性条件)
  3. 更改表字段(名字、类型、约束性条件)
  4. 删除字段
  5. 插入字段

表记录操作:
  1. 插入
  2. 删除
  3. 更新
  4. 查询

设置变量

MySQL常量

位模式字面量

数据类型:
  Text
    char
    varchar
    text
    mediumtext
    longtext
    tinyblob
    blob
    mediumblob
    logntext
    enum
    set
    json
  Number
    bit
    tinyint
    smallint
    mediumint
    int / integer
    bigint
  Date/Time
    date
    time
    year
    datetime
    timestamp

完整性约束(指定约束:创建表时、创建表后;删除约束)
  null
  not null
  default
  unique key
  primary key
  auto_increment
    前提
    额外:
      1. 更改表的自增值(创建表后)
      2. 指定自增值(创建表时)
      3. 查看自增列的步长和起始值(sessionglobal4. 设置自增列的步长和起始值(sessionglobal5. 小坑
  foreign key
    前提
    建议
    作用
  check
  binary

表与表之间的关系
  一对多 or 多对一
  多对多
  一对一

计算字段

子查询

别名

单表查询
  语法
  优先级

  distinct
  where子句
    运算符
    通配符(字段是整型,也能使用like)
    Windows下怎么区分大小写
  group by子句
    单个字段
    多个字段 
    group_concat()
  having子句
  order by子句
  limit子句

连表
  优先级
  join子句
  1. 交叉连接
  2. 内连接
  3. 外连接之左连接
  4. 外连接之右连接
  5. 全外连接
  6. unionunion all连表
  

基于《角色》的权限管理

SQL函数
  Aggregate函数
    avg()
    count()
    max()
    min()
    sum()
    聚合函数中的distinct
  Scalar函数
    charset()
    bin()
    oct()
    hex()
    binary()
    cast()
    concat()
    concat_ws()
    group_concat()
    
    length()
    char_length()

    soundex()
    
    conv()
    format()

    ucase()
    lcase()
    upper()
    lower()

    ltrim()
    rtrim()
    trim()
    
    repeat()
    space()
    reverse()

    instr()
    locate()

    insert()
    replace()
    
    left()
    right()
    mid()
    substring()

    数值处理函数
      sin()
      cos()
      tan()
      abs()
      sqrt()
      exp()
      pow()
      log()
      log10()
      round()
      rand()
      pi()

    加密函数
      md5()
      password()
      
    时间日期函数
      获取
        curdate() / current_date()
        curtime() / current_time()
        current_timestamp()
        now()
      提取
        extract()
        year()
        month()
        day()
        hour()
        minute()
        second()
        microsecond()
        date()
        time()
        week()
        quarter()
        monthname()
        dayname()
        dayofyear()
        dayofweek()
        dayofmonth()
      增
        date_add()
      减
        date_sub()
      获取两个日期间的天数
        datediff()
      时间格式化
        date_format()
   执行函数
   获取函数返回值

delimiter

流程控制

判断nullSQL自定义函数
  log_bin_trust_function_creators

  1. 创建
  2. 执行
  3. 删除

视图
  1. 创建
  2. 使用
  3. 修改
  4. 删除
  5. 注意事项

存储过程
  1. 创建
  2. 使用
  3. 删除
  4. 存储过程之事务操作
  5. 存储过程之游标操作
  6. 存储过程之防SQL注入

触发器
  1. 创建
  2. 删除

索引
  为什么需要索引
  索引是什么
  索引的本质
  索引的目的
  索引的副作用
  索引的多与少?
  预读
  
  索引的两大类型  

  索引的实现方式
  
  b+树索引的分类
    聚集索引
      
    非聚集索引(辅助索引)
    两者的区别

  索引的种类
    主键索引
    唯一索引
    普通索引
    额外:
      组合索引
      覆盖索引

普通索引
  1. 创建表时指定
  2. 创建表后指定
  3. 查看索引
  4. 删除索引

唯一索引
  1. 创建表时指定
  2. 创建表后指定
  3. 查看索引
  4. 删除索引

主键索引
  1. 创建表时指定
  2. 创建表后指定
  3. 查看索引
  4. 删除索引

编写高性能的SQL语句
  建表时
  连表时
  删除表记录
  
提高SQL查询效率
  建索引时:
  查询时要正确命中索引:

慢查询优化基本步骤

执行计划

慢日志记录

分页性能相关方案

# =================================================================================

Python3:
1. ORM框架
2. pymysql
3. sqlalchemy

你可能感兴趣的:(MySQL,数据库,mysql,复习大纲)