mysql学习笔记--数据库单表查询
一、查询语句
1. select [选项] 列名 [from 表名] [where 条件] [order by 排序] [group by 分组] [having 条件] [limit 限制]
2. 字段表达式
select 10*10
select '锄禾日当午'
3. 通过as给列名取别名,as可以省略
select 10*10 as result
select 10*10 result
4. from子句
a. from:来自,from后面跟的是数据源。数据源可以有多个。返回笛卡尔积。
5. dual伪表
dual是一个伪表。在有些特殊情况下,没有具体的表可以参与,但是为了保证select语句的完整又必须要一个表名,这时候就要用伪表。
dual表示为了保证select语句的完整性。
6. where子句
a. where后面跟的是条件,在数据源中进行筛选。条件为真,就 返回当前记录。
b. mysql支持的运算符
大于:> 小于:< 大于等于:>= 小于等于:<= 等于:= 不等于:!= 与:and 或:or 非:not
7. in | not in
a. 查找北京和上海的学生
select * from stu where stuAddr='北京' or stuAddr='上海'
select * from stu where stuAddr in ('北京','上海')
b. 查找不是北京和上海的学生
select * from stu where stuAddr not in ('北京','上海')
8. between ... and | not between ... and 查找某个范围的记录
a. 查找年龄在18到20之间的学生
select * from stu where stuAge >=18 and stuAge <=20
select * from stu where stuAge between 18 and 20
b. 查找年龄不在18到20之间的学生
select * from stu where stuAge <18 or stuAge >20
select * from stu where not (stuAge >=18 or stuAge <=20)
select * from stu where stuAge not between 18 and 20
9. is null | is not null
a. 查找ch为null或者math为null的学生
select * from stu where ch is null or math is null
b. 查找ch和math都不为null的学生
select *from stu where ch is not null and math is not null
10. 聚合函数
a. sum() :求和
select sum(ch) from stu; 求语文成绩总分
b. avg():平均数
c. max():最大值
d. min():最小值
e. count():记录数
select sum(ch) '语文总分', avg(ch) '语文平均分', max(ch) '语文最高分', min(ch) '语文最低分', count(*) '总记录数' from stu;
11. 通配符
a. _ [下划线] 表示任意一个字符
b. % 表示任意字符
12. 模糊查询(like)
select * from stu where stuName like '张%'
13. order by 排序
a. asc 升序【默认】
b. desc 降序
select * from stu order by ch desc;语文成绩降序排列
select * from stu order by ch; 默认升序排列
c. 多列排序
select *,(ch+math) as '总分' from stu order by stuAge asc, (ch+math) desc;
14. group by 分组查询(将查询的结果分组,分组查询的目的在于统计数据)
a. select avg(stuage) as '平均年龄',stusex from stu group by stusex;
b. 注意:如果是分组查询,查询字段必须是分组字段和聚合函数,如果查询字段是普通字段,只取分组的第一个值。
c. select group_concat(stuname),stusex from stu group by stusex 将同一组的值连接起来显示
d. 注意:分组默认为升序排序,可以加desc改为降序。select * from stu group by stuage desc;
e. 多列分组:select stuaddr,stusex,avg(stuage) from stu group by stuaddr,stusex;
15. having条件:在结果集上继续进行筛选
a. select stusex,count(*) total from stu group by stusex having totalz >=5;
16. limit
a. 语法:limit起始位置,显示长度
select * from stu limit 0,2; (从0开始取2条)
b. 起始位置可以省略,默认从0开始
c. 例子:班级总分前三名 select *,(ch+math) total from stu order by total desc limit 3;
前三个地址改成上海:update stu set stuaddr='上海' where name is not null limit 3;
17. 选项
a. all:显示所有数据【默认】
b. distinct:去除结果集中重复的数据
mysql学习笔记--数据库单表查询的更多相关文章
- mysql学习笔记--数据库多表查询
一.内连接[inner join] 1. 语法一:select 列名 from 表1 inner join 表2 on 表1.公共字段=表2.公共字段 2. 语法二:select 列名 from 表1 ...
- MySQL学习笔记8——多表查询
多表查询 多表查询 *合并结果集 *连接查询 *子查询 合并结果集 *要求被合并的表中,列的类型和列数相同(实际上是查询的结果集列类型和列数相同即可) *UNION,去除重复行 *UNION ALL, ...
- Mariadb/MySQL数据库单表查询基本操作及DML语句
Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...
- MySQL学习笔记-数据库文件
数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...
- MySQL学习笔记-数据库内存
数据库内存 InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool).重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool ...
- MySQL学习笔记-数据库后台线程
数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...
- Mysql数据库单表查询
1.单表查询语法 #查询数据的本质:mysql会到你本地的硬盘上找到对应的文件,然后打开文件,按照你的查询条件来找出你需要的数据.下面是完整的一个单表查询的语法 select * from,这个sel ...
- oracle数据库单表查询
今天给大家分享的是关于数据库的单表查询,像单表查询/多表查询/分组查询/子查询,这些方法的使用在实际项目过程中会经常用到,作为一名合格的测试人员如果不会数据库那肯定是不行的,行走江湖可能随时会面临被侮 ...
- MySql(六)单表查询
十.单表查询 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制 ...
随机推荐
- [CSL 的字符串][栈,模拟]
链接:https://ac.nowcoder.com/acm/contest/551/D来源:牛客网题目描述 CSL 以前不会字符串算法,经过一年的训练,他还是不会……于是他打算向你求助. 给定一个字 ...
- 基于 Jenkins 构建持续集成任务
1.1 Jenkins 配置使用心得 我是在windows10上安装的,安装过程很简单,从官网上下载下来msi安装包,双击执行就好了.安装程序完成后会自动打开http://localhost:8080 ...
- PHP处理上传文件信息数组中的文件类型 正确获取
PHP处理上传文件信息数组中的文件类型$_FILES['type']由客户端浏览器提供,有可能是黑客伪造的信息,请写一个函数来确保用户上传的图像文件类型真实可靠 如果是一般文件则通过 mime_con ...
- #考研笔记#计算机之word问题
Word 问题:1. 如何为文档加密保存?单击 office 按钮\另存为\工具按钮\常规选项\设置打开文件时的密码 2. 怎样在横格稿纸中录入古诗?单击 office 按钮\新建\模板\信纸\稿纸( ...
- hibernate---session查询
一.hql语句查询(适合多表) public class MyTest { public static void main(String[] args) { //查询集合 Session sessio ...
- 什么是FPGA的HP,HR I/O
什么是FPGA的HP,HR I/O HP接口为高速接口,用于存储器或者芯片与芯片之间的接口,HR可以接受很宽的电平标准.
- bananapi+OLED做的一个打地鼠游戏,c语言编程
说明一下:BPI是对拍死的BPI的计数,对应最终的成绩RANK是难度 数值越低难度越高 每当打死10个BPI以后就会减一即难度高一级 默认初始化RANK等于15 DIE是存在的BPI数量,一旦数量大于 ...
- [蓝桥杯]ALGO-188.算法训练_P0504
Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的.例如,Unclear和Nuclear.Rimon和MinOR都是Anagrams. ...
- ubuntu16.04 安装最新版nodejs
ubuntu软件仓库中自带的nodejs版本过低 $ apt-cache policy nodejs nodejs: Installed: (none) Candidate: 4.2.6~dfsg-1 ...
- react高阶组件
高阶组件 为了提高组件复用性,在react中就有了HOC(Higher-Order Component)的概念.所谓的高阶组件,其本质依旧是组件,只是它返回另外一个组件,产生新的组件可以对属性进行包装 ...