聚集函数

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的基本查询语句的更多相关文章

  1. {MySQL的逻辑查询语句的执行顺序}一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析

    MySQL的逻辑查询语句的执行顺序 阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SEL ...

  2. python 3 mysql sql逻辑查询语句执行顺序

    python 3 mysql sql逻辑查询语句执行顺序 一 .SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_t ...

  3. 深入MySQL(四):MySQL的SQL查询语句性能优化概述

    关于SQL查询语句的优化,有一些一般的优化步骤,本节就介绍一下通用的优化步骤. 一条查询语句是如何执行的 首先,我们如果要明白一条查询语句所运行的过程,这样我们才能针对过程去进行优化. 参考我之前画的 ...

  4. MySQL知识树-查询语句

    在日常的web应用开发过程中,一般会涉及到数据库方面的操作,其中查询又是占绝大部分的.我们不仅要会写查询,最好能系统的学习下与查询相关的知识点,这篇随笔我们就来一起看看MySQL查询知识相关的树是什么 ...

  5. PHP中对mysql预编译查询语句的一个封装

    原文地址:http://chen-shan.net/?p=474 为了防止sql注入,我们都使用过mysqli这个类,但是每次都需要绑定参数,绑定结果等,比较麻烦,所以可以把这些重复的语句封装成一个函 ...

  6. Datawhale MySQL 训练营 Task2 查询语句

    目录 MySQL 管理 MySQL 用户管理 参考 数据库管理 SQ查询语句 1. 导入示例数据库,教程 MySQL导入示例数据库 2. 查询语句 SELECT 3. 筛选语句 WHERE ,过滤 4 ...

  7. 转载《mysql 一》:mysql的select查询语句内在逻辑执行顺序

    原文:http://www.jellythink.com/archives/924 我的抱怨 我一个搞应用开发的,非要会数据库,这不是专门的数据库开发人员干的事么?话说,小公司也没有数 据库开发人员这 ...

  8. SQL注入之MySQL常用的查询语句

    MySQL是一种使用很广的数据库,大部分网站都是用MySQL,所以熟悉对MySQL数据库的注入很重要. 首先来说下MySQL注入的相关知识点 在MySQL5.0版本之后,MySQL默认在数据库存放一个 ...

  9. Mysql操作之查询语句

    查询语句: select 查询列表 from 表名 where 筛选条件; 去重:select distinct 查询列表...... 选择全部:* 起别名:select 查询列表 as 别名 fro ...

  10. Mysql 最全查询语句

    基本查询语句及语法: select distinct from where group by having limit 一.单表查询 前期表与数据准备: # 创建一张部门表 create table ...

随机推荐

  1. js的alert()

    效果图: 图一: 图二: 图三: 代码: <script type="text/javascript"> // alert() ; 只允许一个参数,如果有多个参数只显示 ...

  2. 区间dp - 送外卖

    When we are focusing on solving problems, we usually prefer to stay in front of computers rather tha ...

  3. django 调试工具 django-tool-bar

    这里介绍一个好用的Django调试工具-django-tool-bar,主要用来调试性能,检测sql耗时,页面渲染耗时,是优化必备良器. 安装 下载 pip install django-debug- ...

  4. 使用远程接口库进一步扩展Robot Framework的测试能力

    引言: Robot Framework的四层结构已经极大的提高了它的扩展性.我们可以使用它丰富的扩展库来完成大部分测试工作.可是碰到下面两种情况,仅靠四层结构就不好使了: 1.有些复杂的测试可能跨越多 ...

  5. 线程上下文类加载器ContextClassLoader内存泄漏隐患

    前提 今天(2020-01-18)在编写Netty相关代码的时候,从Netty源码中的ThreadDeathWatcher和GlobalEventExecutor追溯到两个和线程上下文类加载器Cont ...

  6. MySQL 排名、分组后组内排名、取各组的前几名

    一.排名 /*普通排名:从1开始,顺序往下排*/ AS rank ) r ORDER BY score; /*并列排名:相同的值是相同的排名*/ SELECT cs.* , CASE WHEN @p= ...

  7. javaweb-codereview 学习记录-2

    1.Java 文件名空字节截断漏洞(%00 Null Bytes) 受空字节截断影响的JDK版本范围:JDK<1.7.40 实际上修复就是检查文件名中是否包含\u0000,包含则为非法路径 fi ...

  8. CTRL_IKun团队项目总结

    1. 团队项目-总结 这个作业属于哪个课程 课程链接 这个作业要求在哪里 作业要求 团队名称 CTRP-lkun 这个作业的目标 团队项目总结,每个人的收获和感悟 Github地址 Github 2. ...

  9. robotframework从列表中循环读取数据,传入关键字执行

    场景预设:从列表内读取手机号,自动化执行微信加好友,直至选择完所有数据后,脚本停止执行 1.建一个备选数据表,表内列待添加的手机号数据 2.脚本的主要流程新加好友-输入手机号-添加好友-判断好友是否存 ...

  10. tarjan缩点练习 洛谷P3387 【模板】缩点+poj 2186 Popular Cows

    缩点练习 洛谷 P3387 [模板]缩点 缩点 解题思路: 都说是模板了...先缩点把有环图转换成DAG 然后拓扑排序即可 #include <bits/stdc++.h> using n ...