操作数据表中的记录——SELECT (where表达式、GROUP BY、HAVING、LIMIT)
操作数据表中的记录——SELECT
一、查找记录
1、语法:
SELECT select_expr [,select expr2…]
[
FROM table_references 查询表名
[WHERE where_conditon] 查询条件
[GROUP BY {col_name|position} [ASC|DESC],…] 按某个字段进行分组,相同的只显示第一个
[HAVING where_conditon] 分组时,给出显示条件
[ORDER BY {col_name|expr|position} [ASC|DESC],…] 排序
[LIMIT {[offset,]row_count|row_count OFFSET offset}] 限制返回数量
}
2、查询表达式的顺序会影响结果顺序
3、使用tbl_name.col_name来表示列记录,这多表查询时可以区别开同名的列
4、使用[AS] alias_name为其赋予别名,别名可以用于GROUP BY、ORDER BY或HAVING子句,例如SELECT id AS userId,username AS uname FROM users; 这样查询出来的结果会用别名表示
操作数据表中的记录——where表达式
1、条件表达式WHERE
2、对记录进行过滤,如果没有指定WHERE子句,则表示对所有记录进行操作
3、可以使用MySQL支持的函数或运算符
操作数据表中的记录——GROUP BY
1、对查询结果进行分组GROUP BY
2、语法:可以指定列的列名和位置[GROUP BY {col_name|position} [ASC|DESC],…]
3、例如:
使用col_name名字:SELECT sex FROM users GROUP BY sex;
4、ASC升序ascending DESC降序descending
操作数据表中的记录——HAVING
1、分组条件:对一部分记录进行分组
2、语法:[HAVING where_conditon]
3、例如:SELECT * FROM users GROUP BY age HAVING age > 30;
4、要求where_condition中使用的条件字段,必须出现在查询结果里
使用having设置分组,条件是要么保证分组条件是聚合函数,要么保证分组条件中的字段在查询中出现
例如:
select sex,age from users group by 1 having age > 35;
或者
select sex from users group by 1 having count(id) >= 2;
操作数据表中的记录——ORDER BY
1、对查询结果进行排序:[ORDER BY [col_name | expr | position } [ASC|DESC],…]
2、可以同时按多条字段进行排序,规则是先按前面的字段排,在基础上再按后面字段排。
3、如:SELECT * FROM users ORDER BY age,id DESC; 先按照age排序,如果age有重复的,重复的字段里按id排
对查询结果进行排序
select * from users order by age desc;age降序
select * from users order by age,id desc;(如果年龄一样则年龄相同点的以id来排序)
操作数据表中的记录——LIMIT
1、限制查询结果返回的数量:[LIMIT {[offset,] row_count|row_count OFFSET offset}]
2、默认返回所有结果,通过LIMIT可以限制其返回指定数量的记录
3、如SELECT * FROM users LIMIT 2,3; 偏移量为2,从第三条开始,返回3条结果
4、偏移量不是按照id等字段来排序,而是按照当前查询排序的方式顺序偏移
demo
创建一个表用来存放查询的记录
把users表中age>30的记录的用户名写入到Test表
创建一个新表test
create table test(
id tinyint unsigned primary key auto_increment,
username varchar(20) );
把查询到的结果插入到test中
insert test(username) select username from users where age>=30;
操作数据表中的记录——SELECT (where表达式、GROUP BY、HAVING、LIMIT)的更多相关文章
- MYSQL操作数据表中的记录
36:操作数据表中的记录插入记录 INSERT INTO 表名 VALUES(); 或者INSERT 表名 VALUES(); UPDATE更新记录(单表更新) DELETE删除记录( ...
- MySQL数据库基础(三)(操作数据表中的记录)
1.插入记录INSERT 命令:,expr:表达式 注意:如果给主键(自动编号的字段)赋值的话,可以赋值'NULL'或'DEFAULT',主键的值仍会遵守默认的规则:如果省略列名的话,所有的字段必须一 ...
- MySQL基础(三)(操作数据表中的记录)
1.插入记录INSERT 命令:,expr:表达式 注意:如果给主键(自动编号的字段)赋值的话,可以赋值‘NULL’或‘DEFAULT’,主键的值仍会遵守默认的规则:如果省略列名的话,所有的字段必须一 ...
- 【MySQL】(4)操作数据表中的记录
1. 插入记录INSERT 方法一: INSERT [INTO] tbl_name [(clo_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),( ...
- MySQL(四) —— 操作数据表中的记录
插入记录 INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... //法二: ...
- mysql操作数据表中的记录1
一.插入记录INSERT mysql> create TABLE users( -> id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMEN ...
- MySQL--4操作数据表中的记录小结
最常用,最复杂的语句: 每一项的: 表的参照 From 条件 WHERE 进行记录的分组 GROUP BY 分组的时候对分组的条件进行设定 HAVING 对结果进行排序 ORDER BY ...
- MySQL查询数据表中数据记录(包括多表查询)
MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...
- Sql Server删除数据表中重复记录 三种方法
本文介绍了Sql Server数据库中删除数据表中重复记录的方法. [项目]数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除![分析]1 ...
随机推荐
- 关于C函数的参数个数的问题
本文引自:http://c.biancheng.net/cpp/html/1592.html 一个函数的参数的数目没有明确的限制,但是参数过多(例如超过8个)显然是一种不可取的编程风格.参数的数目直接 ...
- 利用JS实现闪烁字体
以下为在JSP文件中,利用JS实现闪烁字体的代码: HTML代码: <div id="blink">一段会闪烁的字</div> JavaScript代码: ...
- iOS开发笔记--什么时候调用layoutSubviews
iOS开发笔记--什么时候调用layoutSubviews 分类: iOS2014-04-22 16:15 610人阅读 评论(0) 收藏 举报 今天在写程序时候遇见layoutSubviews触发时 ...
- Objective-C中release和nil的关系
(iphone/ipad)浅谈Objective-C中release和nil的关系 分类: iPhone/iPad开发技术2011-12-09 01:40 2515人阅读 评论(4) 收藏 举报 ui ...
- Unix,windows和Mac中的换行
Unix 系统里,每行结尾只有“<换行>”,即“\n”:Windows系统里面,每行结尾是“<换行><回车 >”,即“\r\n”:Mac系统里,每行结尾是“< ...
- Android-PullToRefresh 使用心得
目前下拉刷新已经满大街都是,在自己的应用如果不使用这个模式的话,出门都不好意思和人家打招呼,该文章就是简单探讨下针对于 github 上的这个开源项目的使用心得. 为什么是它?因为在 stackove ...
- 10.1.5 Connection Character Sets and Collations
10.1.5 Connection Character Sets and Collations Several character set and collation system variables ...
- Yii2 分页类的扩展和listview引用
Yii2 本身提供了不错分页选项供用户设置,但是实际项目中我们往往需要复杂一些的分页样式,例如下图所示的效果,上下翻页可用和不可用均用图标来替换.
- hdu 5611 Baby Ming and phone number(模拟)
Problem Description Baby Ming collected lots of cell phone numbers, and he wants to sell them for mo ...
- hdu 1885 Key Task(bfs+状态压缩)
Problem Description The Czech Technical University years of its existence . Some of the university b ...