MySQL中重要知识点

聚合函数查询:

  1. COUNT()函数:用来统计记录的条数,一般要与GROUP BY一起使用
  2. SUN()函数:求和,一般要与GROUP BY一起使用
  3. AVG()函数:求平均值,一般要与GROUP BY一起使用
  4. MAX()函数:求最大值,一般要与GROUP BY一起使用
  5. MIN()函数:求最小值,一般要与GROUP BY一起使用

连接查询:

 

  1. 内连接查询
  2. 外连接查询:可以查出某一张表的所有信息,select 属性名列表 from 表名1 left/right join 表名2 on 表名1.属性名1 = 表名2.属性名2
    1. 左连接:可以查询出“表名1”的所有记录,而“表名2”中只能查询出匹配的记录
    2. 右连接:可以查询出“表名2”的所有记录,而“表名1”中只能查询出匹配的记录
  3. 多条件连接查询:

 

子查询:

  1. 带In关键字的子查询:一个查询语句的条件可能在另一个select语句的查询结果中
  2. 带比较运算符的子查询:子查询可以使用比较运算符
  3. 带Exists关键字的子查询:假如子查询查询到记录,则进行外层查询,否则不执行外层查询
  4. 带Any关键字的子查询:any关键字表示满足其中任一条件
  5. 带All关键字的子查询:All关键字表示满足所有条件

合并查询结果:

  1. UNION:使用UNION关键字时,数据库系统会将所有的查询结果合并到一起,然后去除掉相同的记录
  2. UNION ALL:使用UNION ALL,不会去除掉系统的记录

索引:

  1. 定义:索引是从数据库表中一列或者多列组合而成,其作用是提高对表中数据的查询速度,类似于图书的目录,方便快速定位,寻找指定的内容
  2. 优点:提高查询数据的速度
  3. 缺点:创建和维护索引的时间增加了
  4. 分类
    1. 普通索引:INDEX(属性名)
    2. 唯一性索引:UNIQUE  INDEX(属性名)
    3. 多列索引:INDEX  索引别名(属性名,属性名......属性名)
  5. 在已知表中创建索引:create  INDEX  索引名  ON  表名(属性名)
  6. 用alert  table语句来创建索引:alert  table 表名 add  index 索引名(属性名)
  7. 删除索引:drop index  索引名 on  表名

视图:

  1. 视图是一种虚拟的表,是从数据库中一个或多个表中导出来的表;数据库中只存放了视图的定义,而并没有存放视图中的数据,这些数据存放在原来的表中;使用视图查询数据时,数据库系统会从原来的表中取出对应的数据
  2. 作用:使操作简便化;增加数据的安全性;提高表的数据逻辑性
  3. 视图的创建:create view 视图名 as select.....
  4. 查看视图:desc  视图名;show  table  status  like '视图名';show  create  view  视图名
  5. 修改视图:create  or  replace view 视图名  as  select......;alert  view  视图名  as  select......
  6. 更新视图:通过视图来插入(insert)、更新(update)和删除(delete)表中的数据。因为视图是一个虚拟的表,其中没有数据。通过视图更新时,都是转换基本表来更新。更新视图时,只能更新权限范围内的数据。超出了范围就不能更新
  7. 删除视图:drop view 视图名

触发器:

  1. 触发器是由事件来触发某个操作,这些事件包括insert语句、update语句和delete语句。而数据库系统执行这些事件时,就会激活触发器执行相应的操作
  2. 创建与使用触发器:
    1. 创建只有一个执行语句的触发器:create  trigger  触发器名  before/after  触发事件  on 表名 for each row  执行语句
    2. 创建有多个执行语句的触发器:create trigger 触发器名  before/after  触发事件  on 表名 for each row  begin  执行语句列表  end
  3. 查看触发器:show triggers语句查看触发器信息;在triggers表中查看触发器
  4. 删除触发器:drop trigger 触发器名

存储过程和函数

  1. 创建存储过程:create procedure 存储过程名 (in  BT 传入数据类型,out 字段名 传出数据类型) reads sql data  begin  执行语句  end
  2. 调用存储过程:call 存储过程名(1,@total)
  3. 创建存储函数:create function 存储函数名 (字段名 int)returns  varchar(20)  begin  执行语句  end
  4. 调用存储函数:select  存储函数名(1)

posted on 2018-01-03 17:39  fighting_ty  阅读(343)  评论(0)    收藏  举报

导航