聚集函数

mysql有5个聚集函数,分别是AVG,MAX,MIN,SUM,COUNT.

分组

分组的使用group by作为关键字,having作为条件关键字。

having和where的区别:1.where过滤的是指定的行,而不是分组,因为where没有分组的概念。从技术上来说,

where的所有技术和选项都适用于having。2.where是在数据分组钱进行过滤,having是在数据分组后进行过滤。

分组与排序

分组有时候需要排序,用到order by ,一般放在having后面使用。

子查询和自连接查询

有时候两个语句都能查询出来对应的需求,一般来说,自连接比子查询要快一些

自连接和外连接

有的数据库有全连接

自连接是排除了所有条件没有匹配到的值,左外连接是以左表为准,如果有值是null,也能匹配上。

组合查询 union 和unionall

组合查询中必须包含相同的列,表达式或聚集函数,列数据类型必须兼容。这样两个查询出来的结果才能组合

union去除重复的行,unionall相反。即使有不匹配的列名的表,也可以用别名组合

组合查询只能出现一条order by子句,一般放在最后面

全文本搜索

全文本搜索是引擎MYISAM支持的,INNODB并不支持。

使用全文本搜索:create table pro(noteid  int,note_text text,FULLTEXT(note_text))这样就算创建了全文本搜索

 select note_text from pro where Match(note_text) Against('rabbit');这就是使用了全文本搜索

 表示在索索出包含rabbit文字的一行数据。搜索不区分大小写。搜索出的顺序是有等级的,等级高的提前输出。

布尔文本搜索:即使没有fulltext索引也可以使用文本搜索

select note_text from pro where Match(note_text) Against('rabbit' IN BOOLEAN MODE)

mysql定义了50%的规则,即一个词出现了50%以上的行中,就不再输出。比如有三行数据,全文本

搜索是不返回数据的

也有操作符可以使用(这个查文档,不再记录)

删除数据:truncate和delete

truncate:直接删除表然后再创建一个具有相同名称的空表

delete: 值一行一行的删除

所以清空表的时候需要使用truncate比较快。

主键可以这样设置:

primary key(列名)

引擎简介:

InnoDB:是一个可靠的事务处理引擎,它不支持全文本搜索。

MyISAM:是一个性能极高的引擎,它支持全文本,但是不支持事务

如果多张表用不同引擎创建,注意:外键不支持跨引擎

视图:

视图可以嵌套,视图不能有索引,视图可以和表一块使用

create view 视图名 来创建。show create view 视图名称  查看创建视图的语句。 drop view 视图名称删除视图

视图的更新:一般来说视图是可以更新的,但是如果存在  分组 , 连接, 子查询 , 并, 聚集函数 , distinct, 计算列,不能更新

所以一般是不能更新的。

如果使用嵌套的视图或者调用复杂的视图,性能可能下降的特别厉害。

存储过程:

游标:

触发器:

最新文章

  1. 豪情-CSS解构系列之-新浪页面解构-02
  2. java学习笔记一
  3. 使用 JSONP 实现简单的 SSO 单点登录
  4. SequoiaDB 系列之四 :架构简析
  5. (spring-第6回【IoC基础篇】)BeanDefinition——实例化Bean之前的第一大利器。
  6. EXTJS store 某行某列数据更新等操作
  7. Binder的非正常消亡时的重置方法
  8. 【Beta】阶段 第一次Daily Scrum Meeting
  9. Oracle数据库游标精解
  10. Win7 64位下安装64bit MS SQL Server2005时安装不了Reporting Services的处理办法
  11. Lua中的模块与包
  12. svn hotcopy backup
  13. Firefox is already running,实际后台查不到进程了
  14. 通过yum安装php7
  15. [转]angular2封装material2对话框组件
  16. 第二次前端作业grid布局练习
  17. 计算几何总结(Part 1~2)
  18. Arthas开源项目
  19. 第五篇 Postman离线安装interceptor插件---Chrome app及录制请求
  20. Guid.NewGuid().ToString()得几种格式显示

热门文章

  1. C++ 动态数组与链表
  2. 深度学习论文翻译解析(七):Support Vector Method for Novelty Detection
  3. 虚拟机安装(Vmware14)
  4. UIPickerView 模块示例demo
  5. python常用内置模块-random模块
  6. [CF1192B]动态直径
  7. windows丢失文件的恢复技巧
  8. C# 定时器导致的内存泄露问题
  9. 图像GIST特征和LMGIST包的python实现(有github)
  10. centos7安装OTRS6