0x01

MySQL的查询操作
单表查询:简单查询                 多表查询:连续查询                联合查询

选择和投影
投影:挑选要符合的字段     select 字段 .........
选择:挑选符合条件的行  select 字段 from 表  ....... where .......

投影:select 字段1,字段2,... from tb_name
selcet * from tb_name
选择:select 字段1,字段2,.... from tb_name where 子句

布尔条件表达式操作符
= 等值比较
<=>:跟空值比较不会产生额外信息
<>:不等值
<     小于    
<=   小于等于
>     大于
>=   大于等于

IS NULL:是否为空
IS NOT NULL:是否不为空
LIKE:支持的通配符%(任意长度的任意字符)       (下划线) _(任意单个字符)
RLIKE,REGEXP:支持使用正则表达式作为条件
IN:判断某行的某一字段的值是否在给定的列表中  in(2.3.4.5.6.67.7.8.8 .......) 符合里面的条件即可
BETWEEN...AND....:判断指定的值是否位于指定的范围之间  在两者之间的范围

组合条件测试
NOT !    ----- 非
AND && ------ 和
OR ||    ------  或

排序
order by ‘排序字段’
默认为升序:ASC   默认不添加,  升序 ---- 即 从小到大 一次排序
降序:DESC         降序   ----- 即 从大到小

内置的聚合函数
sum():求和
AVG():平均值
MAX():最大值
MIN():最小值
COUNT():个数统计    count(*)  效率不高,推荐在使用过程随便选个表中的字段进行查询--效率略高
分组
group by     ----- 可以理解为对某一类进行分类,例如  性别 男 女  , 班级等....
对分组的条件过滤
having        ----- 只能和group by 配合使用,不能单独使用 对分组后的数据进行过滤
只返回有用的行
LIMIT         limit 5   ------ 理解为表示从第一行显示到第五行   limit 3,8 ---理解为表示从第三行开始显示到第八行
一个数为显示的行数
两个数字为偏移第一个数字行,显示第二个数字

select语句的执行流程
from clause --> where clause --> group by --> having clause -->order by --> select -->limit

先找表---> 条件过滤筛选  ----> 对左边筛选的数据进行分组 ----->  对分组后的数据进行过滤  ----> 对分组后过滤的数据进行排序  --->  将获取的最终结果进行查询  ---> 对获取的结果进行确认该显示哪条数据

select语句
distinct 重复的只显示一次    ---- 去重
SQL_CACHE 缓存查询结果   
SQL_NO_CACHE 不缓存查询结果

实例

select ClassID,count(Name) from students where ClassID is not null group by ClassID;

select Gender,sum(Age) from students group by Gender;

select avg(Age) from students group by ClassID having sum(Age) > 25;

select ClassID from students where ClassID is not null group by ClassID having sum(Age) > 25;

select Name,Gender,sum(Age) from students where Age > 25 group by Gender;

复制一张表:

第一种方法:

create table tab2 like tab1; //复制结构了

insert into tab2 select * from tab1; //复制数据

这种方法可以比较完整       ----- 推荐使用这种方法

第二种方法:

create table tab2 select * from tab1; //同时复制结构和数据

这种方法可能会丢一些结构信息,比如:索引,约束,自增长属性

mysql基础-数据库表简单查询-记录(五)的更多相关文章

  1. mysql基础-数据库表的管理-记录(四)

    0x01 MySQL中字符大小写 1.SQL关键字及函数不区分大小写 2.数据库.表及视图名称的大小写区分与否取决于底层OS及FS 3.存储过程.存储函数及事件调度器的名字不区分大小写,但触发器区分大 ...

  2. MySQL(三) 数据库表的查询操作【重要】

    序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对 ...

  3. MySQL查看数据库表容量大小

    本文介绍MySQL查看数据库表容量大小的命令语句,提供完整查询语句及实例,方便大家学习使用. 1.查看所有数据库容量大小 select table_schema as '数据库', sum(table ...

  4. activiti--6-------------------------------------连线(一般数据库表的查询顺序)

    一.流程图 二.这次把流程图和Java类放在一个包下 三.代码 package com.xingshang.f_sequenceFlow; import java.io.InputStream; im ...

  5. MySQL更改数据库表的存储引擎

    MySQL更改数据库表的存储引擎 1.查看表的原存储引擎 show create table user; 'user', 'CREATE TABLE `user` (\n `id` int(11) N ...

  6. MySQL中将数据库表名修改成大写的存储过程

    原文:MySQL中将数据库表名修改成大写的存储过程 MySQL中将数据库表名修改成大写的存储过程 创建存储过程的代码: DROP PROCEDURE IF EXISTS uppercaseTablen ...

  7. mysql数据库表的查询操作-总结

    转自:https://www.cnblogs.com/whgk/p/6149009.html 序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VA ...

  8. 最全MySQL数据库表的查询操作

    序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对 ...

  9. MySQL(2)数据库 表的查询操作

    来源参考https://www.cnblogs.com/whgk/p/6149009.html 跟着源博客敲一遍可以加深对数据库的理解,同时对其中一些代码做一些改变,可以验证自己的理解. 本文改动了其 ...

随机推荐

  1. 神奇的'license': 'AGPL 3.0'标签报错

    在__minifest__.py中,放了license标签,然后整个模块就报错了. 注释掉这个标签就好了.

  2. sublime text 3 关联鼠标右击

    比如有网上有如下方法 https://my.oschina.net/adairs/blog/466777 , 其实一个更简单的方法是运行sublime setup.exe , 直接会有相关提示,下一步 ...

  3. python字符串str

    字符串str常用操作方法(都会产生新的数据) 1.取值: (1)索引:s[0] (2)切片:s[起始索引:结束索引:步长] 起始索引为0,可以省略 s最后一个索引可以取-1 结束索引省略,默认取到最后 ...

  4. mysql小白系列_04 binlog(未完)

    mysql打开.查看.清理binlog 1.开启日志 log_bin=/var/lib/mysql/mysql-bin mysql> show variables like '%log_bin% ...

  5. Django中的事务与ajax

    一 事务与锁 1.行级锁 行级锁是由存储引擎实现的.如mysql里默认指定的InnoDB存储引擎,由它实现行级锁.InnoDB的行级锁定同样分为两种类型,共享锁(X)和排他锁(S). 对于UPDATE ...

  6. JavaScript编程入门

    写在前面: 不管容易还是简单 总要尝试才知道答案     1.JavaScript初探   JavaScript:轻量级脚本语言,是可插入HTML页面的编程代码. 将JavaScript插入HTML页 ...

  7. Lodash工具库中cloneDeep深拷贝的使用

    在vue向数据库提交数据的过程中,可能需要处理某些数据,比如有以下要求:传递的参数必须是以逗号分隔的分类列表 但此时如果vue组件中的数据却是数组形式的这个时候需要用到数组的 join 方法对数据进行 ...

  8. day19 生成器函数

    生成器总结: 语法上和函数类似:生成器函数和常规函数几乎是一样的.它们都是使用def语句进行定义,差别在于,生成器使用yield语句返回一个值,而常规函数使用return语句返回一个值. 自动实现迭代 ...

  9. Xftp远程连接出现“无法显示文件夹”的问题补充

    网上有很多朋友出现相同的问题,各位热心网友都给出了自己的解决方案,其中大多数网友给出的解决方案都是:将Xftp更换成“被动连接模式”.但是很不幸的是,本人通过这种方式并没有得到有效的解决,网上的各大方 ...

  10. 盘点Mysql的登陆方式

    前置知识 我们想登陆到mysql中前提是肯定需要一个用户名和密码:比如 root root 在mysql中用户的信息会存放在 mysql数据库下的 user表中 可以 use mysql 然后sele ...