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. 热加载和热部署,没听过?看看 Tomcat 是怎么实现的
  2. PHP5 $this self parent static的区别
  3. mysqld 进程非常多_MySQL binlog后面的编号最大是多大?
  4. eclipse报Access restriction: The type 'BASE64Decoder' is not API处理方法
  5. autojs 云控_autojs websocket 核心示例代码,云控技术
  6. 操作系统中的处理机调度调度_操作系统中的多处理器调度
  7. Python入门-Python中的包,impot,from,import
  8. centos7的php5.4竟然不支持原生的mysql
  9. 刚刚,爱奇艺发布重磅开源项目!
  10. BZOJ 4503 两个串 ——FFT
  11. excel 2016 英文界面 更换 中文界面
  12. Appium工具使用教程
  13. 飞信2008协议抓包(2)
  14. cad计算机配置要求,CAD对电脑硬件的配置要求
  15. 2021年茶艺师(中级)考试内容及茶艺师(中级)考试总结
  16. 1.React 简介
  17. J9数字科普:Web3.0很遥远?不它已经来了
  18. 蚂蚁区块链大杀器首度亮相,速来围观!丨蚂蚁区块链创新大赛站
  19. 键盘 连击 测试软件测,87自学单片机第六十篇:按键双击和多击检测
  20. 黄仁勋:GPU,打折!

热门文章

  1. GET请求中URL的最大长度限制总结
  2. 小眼睛适合大框还是小框眼镜_北京潘家园眼镜城良心商家推荐
  3. java生成和读取keystore_Java程序员必知:mybaties运行流程
  4. 分区表自动维护 mysql_Oracle 10g分区表的自动维护
  5. SpringCloud服务注册启动的时候报错(com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException)
  6. 优胜队伍跑多快?优胜秘笈是什么?直播告诉你
  7. 面包板上的高频放大电路
  8. python3.7如何安装库_Python3.7版库的安装以及常用方法(十分简单)
  9. 法国飞行计算机检测设备,基于PCI总线的飞行控制计算机通用测试设备
  10. dijkstra 算法_最短路径问题Dijkstra算法详解