1,select查询的基本结构

select 字段
from 表
where 过滤条件
group by 分组条件  having 过滤的第二条件
order by 排序条件
limit 限定结果条件;

  

2,最简单的查询语句

mysql> select * from user;
+----+----------+----------+---------------------+
| id | username | password | createtime          |
+----+----------+----------+---------------------+
|  1 | kenan    | kenan    | 2012-10-31 15:32:26 |
|  3 | kenan    | lele     | 2012-10-31 15:32:26 |
+----+----------+----------+---------------------+

3,查询一列或多列

mysql> select username,createtime from user;
+----------+---------------------+
| username | createtime          |
+----------+---------------------+
| kenan    | 2012-10-31 15:32:26 |
| kenan    | 2012-10-31 15:32:26 |
+----------+---------------------+
2 rows in set (0.00 sec)

4,多表查询

mysql> select * from user;
+----+----------+----------+---------------------+
| id | username | password | createtime          |
+----+----------+----------+---------------------+
|  1 | kenan    | kenan    | 2012-10-31 15:32:26 |
|  3 | kenan    | lele     | 2012-10-31 15:32:26 |
+----+----------+----------+---------------------+
2 rows in set (0.00 sec)  mysql> select * from teacher;
+----+------------+---------------------+
| id | username   | createtime          |
+----+------------+---------------------+
|  1 | Teacher Li | 2012-11-01 21:00:58 |
|  2 | Teacher Le | 2012-11-01 21:02:07 |
+----+------------+---------------------+
2 rows in set (0.00 sec)  mysql> select * from user,teacher;
+----+----------+----------+---------------------+----+------------+---------------------+
| id | username | password | createtime          | id | username   | createtime          |
+----+----------+----------+---------------------+----+------------+---------------------+
|  1 | kenan    | kenan    | 2012-10-31 15:32:26 |  1 | Teacher Li | 2012-11-01 21:00:58 |
|  3 | kenan    | lele     | 2012-10-31 15:32:26 |  1 | Teacher Li | 2012-11-01 21:00:58 |
|  1 | kenan    | kenan    | 2012-10-31 15:32:26 |  2 | Teacher Le | 2012-11-01 21:02:07 |
|  3 | kenan    | lele     | 2012-10-31 15:32:26 |  2 | Teacher Le | 2012-11-01 21:02:07 |
+----+----------+----------+---------------------+----+------------+---------------------+
4 rows in set (0.00 sec)  多表查询中,如果没有限制条件的话,两个表的记录会分别进行匹配,产生的结果就是两个表的笛卡尔积,叫做全连接
下面的这个带有条件的叫做等同连接,相当于在上面的查询结果中挑选出来满足where后面条件的记录,因为没有所有是空的结果。

  

mysql> select * from user,teacher where user.username = teacher.username;
Empty set (0.00 sec)

  

5,带有简单的where字句条件查询

mysql> select * from user where id>2;
+----+----------+----------+---------------------+
| id | username | password | createtime          |
+----+----------+----------+---------------------+
|  3 | kenan    | lele     | 2012-10-31 15:32:26 |
+----+----------+----------+---------------------+
1 row in set (0.00 sec)

  

6,带有in的查询,in用来表示范围

mysql> select * from user where username in ('kenan','Micheal');
+----+----------+----------+---------------------+
| id | username | password | createtime          |
+----+----------+----------+---------------------+
|  1 | kenan    | kenan    | 2012-10-31 15:32:26 |
|  3 | kenan    | lele     | 2012-10-31 15:32:26 |
+----+----------+----------+---------------------+
2 rows in set (0.00 sec) 

这里查询出来username是kenan或者是Micheal的记录

7,between and 用来表示一个字段的范围的查询

mysql> select * from user where id between 2 and 3;
+----+----------+----------+---------------------+
| id | username | password | createtime          |
+----+----------+----------+---------------------+
|  3 | kenan    | lele     | 2012-10-31 15:32:26 |
+----+----------+----------+---------------------+
1 row in set (0.00 sec)  mysql> select * from user where id between 3 and 4;
+----+----------+----------+---------------------+
| id | username | password | createtime          |
+----+----------+----------+---------------------+
|  3 | kenan    | lele     | 2012-10-31 15:32:26 |
+----+----------+----------+---------------------+
1 row in set (0.00 sec) 

这里分别查询出来id在2和3之间的记录,3到4之间的记录,从结果可以看出 between and是包含边界的,就是>=2而且<=3

8, is null 查询空值

mysql> select * from user ;
+----+----------+----------+---------------------+
| id | username | password | createtime          |
+----+----------+----------+---------------------+
|  1 | kenan    | kenan    | 2012-10-31 15:32:26 |
|  3 | kenan    | lele     | 2012-10-31 15:32:26 |
|  4 | lele     | lele     | NULL                |
+----+----------+----------+---------------------+
3 rows in set (0.00 sec)  mysql> select * from user where createtime is null;
+----+----------+----------+------------+
| id | username | password | createtime |
+----+----------+----------+------------+
|  4 | lele     | lele     | NULL       |
+----+----------+----------+------------+
1 row in set (0.00 sec)

  

9,用and连接多条件查询  并关系

mysql> select * from user where username = 'kenan' and password = 'kenan';
+----+----------+----------+---------------------+
| id | username | password | createtime          |
+----+----------+----------+---------------------+
|  1 | kenan    | kenan    | 2012-10-31 15:32:26 |
+----+----------+----------+---------------------+
1 row in set (0.00 sec)

  

10,用or 的多条件查询  这个是或关系,满足一个条件即可

mysql> select * from user where username = 'kenan' or password = 'kenan';
+----+----------+----------+---------------------+
| id | username | password | createtime          |
+----+----------+----------+---------------------+
|  1 | kenan    | kenan    | 2012-10-31 15:32:26 |
|  3 | kenan    | lele     | 2012-10-31 15:32:26 |
+----+----------+----------+---------------------+
2 rows in set (0.00 sec)

  

11,聚合函数  count()用来统计总数

mysql> select count(*) from user;
+----------+
| count(*) |
+----------+
|        3 |
+----------+
1 row in set (0.00 sec)

  

12,使用sum()求和,使用avg函数求平均值

mysql> select id from user;
+----+
| id |
+----+
|  1 |
|  3 |
|  4 |
+----+
3 rows in set (0.00 sec)  mysql> select sum(id) from user;
+---------+
| sum(id) |
+---------+
|       8 |
+---------+
1 row in set (0.00 sec)  mysql> select avg(id) from user;
+---------+
| avg(id) |
+---------+
|  2.6667 |
+---------+
1 row in set (0.04 sec)

13,使用max()求最大值,使用min求最小值

mysql> select id from user;
+----+
| id |
+----+
|  1 |
|  3 |
|  4 |
+----+
3 rows in set (0.00 sec)  mysql> select max(id) from user;
+---------+
| max(id) |
+---------+
|       4 |
+---------+
1 row in set (0.00 sec)  mysql> select min(id) from user;
+---------+
| min(id) |
+---------+
|       1 |
+---------+
1 row in set (0.00 sec)

原文链接:http://soukenan.blog.51cto.com/5130995/1047201

转载于:https://www.cnblogs.com/xj76149095/p/5513453.html

PHP之路——MySql查询语句相关推荐

  1. left join 最后一条_一条Mysql查询语句的西天取经之路,你真的了解吗?

    数据库,大家都不陌生,这是程序员的基本技能了.当然,我们更多时候只是去了解如何使用数据库,而对数据库一些底层原理却比较陌生,今天我们来了解一下,一条数据库查询语句的取经之路. 基本分层 个人认为,My ...

  2. mysql 查询语句执行顺序_MySQL 查询语句执行过程

    MySQL 查询语句执行过程 Mysql分为server层和存储引擎两部分,或许可以再加一层连接层 连接层(器) Mysql使用的是典型的C/S架构.连接器通过典型的TCP握手完成连接. 需要注的是, ...

  3. php面试专题---MYSQL查询语句优化

    php面试专题---MYSQL查询语句优化 一.总结 一句话总结: mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存) ...

  4. mysql 查询语句_MySQL相关(一)- 一条查询语句是如何执行的

    前言 学习一个新知识最好的方式就是上官网,所以我先把官网贴出来 MySQL官网 (点击查阅),如果大家有想了解我没有说到的东西可以直接上官网看哈~目前 MySQL 最新大版本为8.0,但是鉴于目前应用 ...

  5. mysql查询语句详解_基于mysql查询语句的使用详解

    1> 查询数据表除了前三条以外的数据. 起初我想到的是这条语句 SELECT * FROM admin WHERE userid NOT IN (SELECT userid FROM admin ...

  6. php通过数组存取mysql查询语句的返回值

    php通过数组存取mysql查询语句的返回值 1.示例1 $res = mysql_query($mysqli, $sql) or die(mysql_error($mysql)); $a=array ...

  7. java mysql查询语句_Mysql查询语句执行过程

    Mysql查询语句执行过程 Mysql分为server层和存储引擎两部分,或许可以再加一层连接层 连接层(器) Mysql使用的是典型的C/S架构.连接器通过典型的TCP握手完成连接. 需要注的是, ...

  8. MySQL查询语句执行过程及性能优化-基本概念和EXPLAIN语句简介

    网站或服务的性能关键点很大程度在于数据库的设计(假设你选择了合适的语言开发框架)以及如何查询数据上. 我们知道MySQL的性能优化方法,一般有建立索引.规避复杂联合查询.设置冗余字段.建立中间表.查询 ...

  9. mysql 处理一条语句卡死_一条MySQL查询语句,卡死机器,不知道为什么,求高手指点!...

    你的位置: 问答吧 -> MySQL -> 问题详情 一条MySQL查询语句,卡死机器,不知道为什么,求高手指点! 我的这条查询语句有什么问题吗?为什么一运行,机器就卡死了!N久查询不出结 ...

最新文章

  1. 新浪微博授权失败:applications over the unaudited use restrictions
  2. python数据分析的主要流程-Python数据分析流程
  3. 基于python的游戏设计与实现-python五子棋游戏的设计与实现
  4. 【BZOJ2662】【BeiJing wc2012】冻结 分层图 裸的!
  5. 计算机隐藏用户设置,在开始屏幕(欢迎屏幕、控制面板的用户账户设置)上隐藏用户账户和开机自动登录某个账户...
  6. how SAP gateway parse_meta_tags
  7. nullnull使用PL/SQL获取创建用户的语句
  8. java 拦截器ajax_(转)拦截器深入实践 - JAVA XML JAVASCRIPT AJAX CSS - BlogJava
  9. 字符串匹配问题 ----- KMP算法
  10. 布隆过滤器速度_高并发系统一定要考虑的 Bloom Filter 布隆过滤器
  11. 实战java虚拟机配套代码
  12. win7 删除 未知账户(s-1-5-21-2000478354
  13. cryptojs php,CryptoJS简单使用方法
  14. 鼠标右键菜单管理工具
  15. 磁盘分区助手使用心得
  16. niosii spi 外部_【笔记】NIOS II spi详解
  17. Gif动态图片怎么做?如何快速生成gif动图?
  18. 大数据技术的概论(2)
  19. 求生之路怎么显示服务器,求生之路2怎么屏蔽rpg服务器 求生之路2屏蔽rpg服务器方法-超能街机...
  20. Bless You Autocorrect!(字典树上建图)

热门文章

  1. 公司--超级链接跳转和表单提交,删除的表单提交和删除失败的提示信息
  2. c 语言寻找最小生成树,求助,关于求无向图的最小生成树代码
  3. php tp3.0计算每天的订单,TP5.1结合taskphp3.0定时任务
  4. 双系统gazebo闪退_记录Ubuntu16.04下PX4联合Gazebo仿真时遇到的问题与解决方法
  5. Paddle网络结构中的层和模型
  6. 2021年春季学期-信号与系统-第十一次作业参考答案-第二小题
  7. 2021年春季学期-信号与系统-第四次作业参考答案-第六小题
  8. 对于STM32F103三轴机械臂控制器进行基本功能测试-关节角度读取
  9. 滑轨声源定向的理论模型与参数估计
  10. installshield 安装文件属性的原始文件名 如何修改_iPhone修改微信提示音,iOS12可用,无需越狱详细教程...