【MySQL笔记】数据库的查询
数据库的查询
1、select语句
还必须有file权限以使用这种select
2、列的选择与指定
2.1 基本查询:
select * from table;
select colname1,colname2 as 第二列, colname3 from table;
2.3 更改查询结果数据表:
select cust_name,casewhen cust_sex='M' then '男'else '女'end [as 性别]from table;
2.4 查询+计算:查询cust_i列加上100后的值
select cust_name,cust_sex,cust_id+100from table;
2.5 聚合函数(aggregation function):一般和group by子句连用,否则只返回一行结果
2.5.1常用聚合函数有

2.5.2.3GROUP_CONCAT函数
GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC |DESC] [,col_name ...]] [SEPARATOR str_val])
SELECT student_id, GROUP_CONCAT(courses_id) AS courses FROM student_coursesWHERE student_id=2GROUP BY student_id;
SELECT student_id, GROUP_CONCAT(courses_id SEPARATOR '|||') AS courses FROM student_coursesWHERE student_id=2GROUP BY student_id;
SELECT student_id, GROUP_CONCAT(courses_id ORDER BY courses_id DESC) AS courses FROM student_coursesWHERE student_id=2GROUP BY student_id;
2.5.2.4GROUP_CONCAT注意事项
BINARY[(N)]CHAR[(N)]DATEDATETIMEDECIMALSIGNED [INTEGER]TIMEUNSIGNED [INTEGER]
2.6 From子句与连接表
- 内、外连接的区别:内连接连接的左右表共有的,外连接会以基表为依据连接,返回结果最少也有基表行条数据。
2.7 Where子句与文本匹配
1、比较运算:
select * from student where 班级='01' and age > all (select age from student where 班级='02');
select * from student where 班级='01' and age > (select max(age) from student where 班级='02');
select * from student where 班级='01' and age > any (select age from student where 班级='02');
select * from student where 班级='01' and age > (select min(age) from student where 班级='02');
2、字符串匹配:LIKE语句
select colname from tablewhere colname like '%#_%' escape '#';
- 不要过度使用通配符,通配符检索的处理一般会比其他检索花费更长的时间。
- 尽量不要把通配符用在搜索模式的开始处,否则会使检索更慢。
3、文本匹配:
select colname from tablewhere colname regexp '市';
select colname from tablewhere colname like '%市%';

4、判定范围
select * from tabelwhere colname between 1 and 3;
select * from tablewhere colname in (1,2.3);
5、子查询
6、UNION语句与联合查询
2.8 Group by 和 Having子句
- Where 和 Having的区别:Where子句过滤数据行,是在数据分组之前进行的过滤,Having子句过滤分组,且可以包含聚合函数,是在分组进行后过滤。
2.9其它子句
select colname from tableorder by colname1 DESC, colname2 ASC;
select cust_id from tableorder by cust_idlimit 4,3;
21分钟 MySQL 入门教程:http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html#c2
【MySQL笔记】数据库的查询的更多相关文章
- 涂抹mysql笔记-数据库中的权限体系
涂抹mysql笔记-数据库中的权限体系<>能不能连接,主机名是否匹配.登陆使用的用户名和密码是否正确.mysql验证用户需要检查3项值:用户名.密码和主机来源(user.password. ...
- MySQL/MariaDB数据库的查询缓存优化
MySQL/MariaDB数据库的查询缓存优化 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL架构 Connectors(MySQL对外提供的交互接口,API): ...
- MySQL笔记(二)——查询数据
数据库管理系统的一个最重要的功能就是数据查询,数据查询不应只是简单的查询数据库中存储的数据,还应该是根据需要对数据进行筛选,以及确定数据以什么样的格式显示.本篇笔记主要介绍单表查询,子查询,连接查询. ...
- mysql笔记7--一句查询语句的过程
1 sql语句示例 select *from A where id=1 2 mysql基本架构图 (1)Mysql分为Server层和引擎层两个部分 (2)Server层包括连接器,查询缓存,分析器, ...
- Mysql笔记5之查询
1查询所有的列 select *from student 2查询指定列 select name,age from student 3查询时候使用别名 select name as 别名,age as ...
- MySQL 数据库 分页查询
在使用MySQL 进行数据库分页查询的时候最主要是使用LIMIT子句进行查询: 首先来看一下LIMIT: LIMIT子句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如果给出两 ...
- MySQL 数据操作与查询笔记 • 【第1章 MySQL数据库基础】
全部章节 >>>> 本章目录 1.1 数据库简介 1.1.1 数据和数据库定义 1.1.2 数据库发展阶段 1.1.3 数据库系统组成 1.1.4 关系型数据库 1.2 M ...
- MySQL学习笔记-数据库文件
数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...
- 高性能可扩展mysql 笔记(一)数据库表、索引、SQL语句设计规范
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 项目说明:该笔记的背景为电商平台项目,电商项目由于其高并发.多线程.高耗能等特性,在众多的项目类型中涉及 ...
随机推荐
- [Leetcode Week12]Unique Paths II
Unique Paths II 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/unique-paths-ii/description/ Descrip ...
- fork与printf缓冲问题
printf输出条件: (1) 调用fflush: (2) 缓冲区满了: (3) 遇到\n \r这些字符 (4) 遇到scanf这些要取缓冲区的: (5) 线程或者进程退出: fork之后会拷贝父进程 ...
- 调用start()与run()的区别
1.调用start()方法: 通知“线程规划器”当前线程已经准备就绪,等待调用线程对象的run()方法.这个过程就是让系统安排一个时间来调用Thread中的run()方法,使线程得到运行,启动线程,具 ...
- sicily 1059. Exocenter of a Trian
Description Given a triangle ABC, the Extriangles of ABC are constructed as follows: On each side of ...
- JavaScript中对象的属性类型
JavaScript中,对象的属性有两种:数据属性和访问器属性. 数据属性 特性: 数据属性包括一个数据值的位置.在这个位置可以读取和写入值.数据属性有4个特性. [[configurable]]:可 ...
- CCF试题:高速公路(Targin)
问题描述 某国有n个城市,为了使得城市间的交通更便利,该国国王打算在城市之间修一些高速公路,由于经费限制,国王打算第一阶段先在部分城市之间修一些单向的高速公路. 现在,大臣们帮国王拟了一个修高速公路的 ...
- hdu 1003(最大子段和)
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- Laravel通过Swoole提升性能
1.安装配置laravel 1.1.composer下载laravel composer create-project --prefer-dist laravel/laravel blog " ...
- Web测试中容易被忽略的Charset问题
今天继续进行一个更综合的脚本制作,录制设置.进行录制.脚本修改,一切都轻车熟路,进行得很顺利.经过近一个小时的对比和修改,OK,脚本大功告成,终于可以小试牛刀了,嘿嘿. 运行,replay lo ...
- Template Mode 'HTML5' is deprecated与UnsatisfiedDependencyException
org.thymeleaf.templatemode.TemplateMode : [THYMELEAF][main] Template Mode 'HTML5' is deprecated. Usi ...