聚集函数

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, 计算列,不能更新

所以一般是不能更新的。

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

存储过程:

游标:

触发器:

mysql的基本的查询语句_Mysql的基本查询语句相关推荐

  1. mysql数据库表子查询语句_MySQL使用子查询教程

    #MYSQL#这是我MyySQL教程的第四篇了,可能对于一些大神来说这些都是小儿科,但是我还是相信这些东西会对一些人有帮助的,本篇主要会介绍上面是子查询以及如何使用它们.大概会从,什么是子查询,利用子 ...

  2. mysql 单表子查询语句_MySQL基本SQL查询语句:多表查询和子查询示例

    一.简单查询:基本语法: 代码如下 SELECT * FROM tb_name; 查询全部 代码如下 SELECT field1,field2 FROM tb_name; 投影 代码如下 SELECT ...

  3. mysql的dml语句_Mysql基础入门-SQL_DML语句

    DML语句: DML操作是指对数据库中的表进行操作,主要包括记录的插入(insert),更新(update),删除(delete),查询(select). 记录插入 创建表完成后就需要给器插入记录和数 ...

  4. mysql多表查询书籍_MySQL多表查询及子查询

    1. MySQL数据库执行查询操作时的查询流程: 请求-->查询缓存 请求-->查询缓存-->解析器-->预处理器-->优化器-->查询执行引擎-->存储引擎 ...

  5. mysql跨库查询 索引_MySQL中跨库查询怎么搞?

    导读 在MySQL中跨库查询主要分为两种情况,一种是同服务的跨库查询;另一种是不同服务的跨库查询;它们进行跨库查询是不同的,下面就具体介绍这两种跨库查询. 在MySQL中跨库查询主要分为两种情况,一种 ...

  6. mysql自动提交 dcl语句_MySQL基础:DCL语句总结

    SQL语言大致分为DCL.DDL.DML三种,本文主要介绍MySQL 5.7版本DCL语句. 概述 DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可 ...

  7. mysql删除表命令语句_MySQL增删改查语句命令(一)

    增删改查语句 增删改查的语句命令为 增:insert 删:delete 改:update 查:SELECT或者show 库操作 创建数据库:create database shujukuba; 创建带 ...

  8. mysql多表联合查询事例_MySQL——多表查询详细介绍以及实例

    1.表与表之间的关系 一对一:用户表和身份信息表,用户表是主表 例如:男人表 .女人表create table man( mid int primary key auto_increment, mna ...

  9. mysql中调用多个表_MySQL 多表查询

    文章转载的:http://www.cnblogs.com/BeginMan/p/3754322.html 一.多表查询方法分类 1.交叉连接查询(得到的是两个表的乘积,类似于矩阵乘积) select ...

最新文章

  1. 虚拟机ubuntu14.04系统设置静态ip
  2. 数学推导+纯Python实现机器学习算法26:PCA降维
  3. ECCV2018目标检测(object detection)算法总览
  4. unet论文_图像分割之RefineNet 论文笔记
  5. 如何学习挖掘漏洞[参考多方面资料]
  6. OpenCV C++ 09 - Gaussian Blur on Images with OpenCV
  7. 阮一峰react demo代码研究的学习笔记 - React.createElement
  8. 【python 2】python 进阶
  9. (pytorch-深度学习系列)CNN的多输入通道和多输出通道
  10. 树莓派:文本编辑器与文件
  11. linux 下  qserialport waitforreadyread_北师大版初中数学八年级(下)第二章第一节不等关系(精品)...
  12. 平衡树的深度与最少结点数问题
  13. 我的站(艾网---城市生活新门户)重新上线了
  14. 80%的程序员不了解的微服务内幕
  15. 为什么用共有属性来封装私有变量
  16. Jquery Uploadify之Java获取动态传参参数
  17. 06、基于ADC0834的四通道简易电压采集的Proteus仿真
  18. 小白量化《穿云箭集群量化》(3)量化策略编写(2)
  19. 布加迪奇龙Blender雕刻、shading,并导入Three.js ,3DWEB模型【Three.js+Blender建模+web前端+可视化】
  20. 编译原理之Frist集与Follow集

热门文章

  1. 计算机在能源领域的应用,计算机在能源中的应用
  2. 区块链 facebook_最新数据上区块链资讯,以及研究报告
  3. 《Python游戏编程快速上手》第十一章猜数字,推理游戏Bagels
  4. Django中使用和配置Redis数据库
  5. 【Python】蒙特卡罗方法计算圆周率及给定随机数种子
  6. 面向对象编程 封装 继承 多态(三大特征)(第三篇)
  7. String 重载 + 原理分析
  8. wxWidgets:wxScopedPtr类用法
  9. wxWidgets:wxBitmapComboBox类用法
  10. boost::type_erasure::param相关的测试程序