Mysql查询语句详细总结大全

 更新时间:2023年12月19日 10:42:47   作者:冬嫱姐姐  
这篇文章主要给大家介绍了关于Mysql查询语句详细总结的相关资料,MySQL是一种关系型数据库管理系统,它支持SQL语言进行数据查询,文中通过代码介绍的非常详细,需要的朋友可以参考下

简单查询

## 直接查询
语法:select 字段 from 表名;
举例:select name, age from student;
解析:从 student 表中查询 name 与 age
## 条件查询
语法:select 字段 from 表名 where 条件;
举例:select name from student where age = 15;
解析:从 student 表中查询 age = 15 的 name
## 模糊查询
语法:select 字段 from 表名 where 字段 like '%数据%';
举例:select * from student where name like '%张%';
解析:从 student 表中查询 name 中含有 '张' 的所有记录
## 算术运算符
语法:>(大于), <(小于), =(等于), !=(不等于), <>(不等于), >=(大于等于), <=(小于等于)
举例:select * from student where age < 15;
解析:从 student 表中查询 age < 15 的所有记录
## 逻辑运算符
语法:and(且), or(或), not(非)
举例:select * from student where age = 15 or sex = 'man';
解析:从 student 表中查询 age = 15 或 sex = 'man' 的所有记录
## in与not in运算符
语法:select 字段 from 表名 where 字段 in(列表)//或 not in(列表);
举例:select * from student where age in(13, 14, 15);
解析:从 student 表中查询 age 为 (13, 14, 15) 之间的所有记录
## 排序查询
语法:select 字段 from 表名 order by 字段 排序方式(升序 asc, 降序 desc);
举例:select * from student order by age asc
解析:从 student 表中查询所有记录并按照 age 升序排序

高级查询

## 范围运算
语法:用来替换算术运算符
	select 字段 from 表名 where 字段 between 范围1 and 范围2;
举例:select * from student where age between 13 and 15;
解析:从 student 表中查询 age >= 13 and age <= 15 的所有记录
	它等价于 select * from student where age >= 13 and age <= 15;
## 限制查询
语法:limit可以限制制定查询结果的记录条数
	select 字段 from 表名 limit n, m;
举例:select * from student limit 3, 5;
解析:从 student 表中查询第三行到第五行的记录,但要注意的是 0 表示第一行记录,也是从 0 开始
## 嵌套查询
语法:嵌套查询也就是在查询语句中包含有子查询语句,所以叫嵌套查询,没有单独的语法,嵌套子查询通常位于查询语句的条件之后;
举例:select name, age from student where name = (select name from engScore where score = 100)
解析:查询 student 表中 (engScore 表中 score = 100 的 name)的 name,age 记录
	也就是说通过查询 engScore 表中的一百分得到姓名,然后用这个姓名当作条件查询 student 表中的姓名与年龄
## 多表连查
语法:与嵌套查询一样,都需要一个共同字段,然后将多个表连接在一起查询,将符合条件的记录组成一个合集
常用以下三种连接方式:

# 内连接
语法:select 字段 from 表1 inner join 表2 on 表1.字段 = 表2.字段;
	根据两个表中共有的字段进行匹配,然后将符合条件的合集进行拼接
	on后面是连接条件,也就是共有字段
举例:select * from student inner join engScore on student.name = engScore.name;
解析:将 student 表与 engScore 表通过相同的 name 拼接起来,简单的来说就是两个 excel 合并

# 左连接
语法:select 字段 from 表1 left join 表2 on 连接条件;
举例:select * from student left join engScore on student.name = engScore.name;
解析:与内连接形式相同,但左表为主表,指定字段都会显示,右表为从表,无内容会显示 null

# 右连接
语法:select 字段 from 表1 right join 表2 on 连接条件;
举例:select * from student right join engScore on student.name = engScore.name;
解析:与内连接形式相同,但右表为主表,指定字段都会显示,左表为从表,无内容会显示 null

## 聚合函数
可以实现一些具体的功能,比如找最小值,找最大值,求和,计数等
# min()
语法:select min(字段) from 表名;
举例:select min(age) from student;
解析:从 student 中查询最小的 age

# max()
语法:select max(字段) from 表名;
举例:select max(age) from student;
解析:从 student 中查询最大的 age

# sum()
语法:select sum(字段) from 表名;
举例:select sum(age) from student;
解析:从 student 中统计所有 age 的和

# avg()
语法:select avg(字段) from 表名;
举例:select avg(age) from student;
解析:从 student 中对所有的 age 求平均值

# count()
语法:select count(字段) from 表名;
举例:select count(name) from student;
解析:从 student 中查询 name 的记录个数

# as
语法: select 函数(字段) as 别名 from 表名;
举例:select count(name) as 名字记录个数 from student;
解析:给从 student 中查询的 name 的记录个数 起了一个别名叫 '名字记录个数'

## 大小写转换
语法:select upper(字段) from 表名;
举例:select upper(sex) from student where name = '张三';
解析:若原 sex 定义为 man, 则运行 sql 语句之后会输出 MAN

总结

到此这篇关于Mysql查询语句详细总结大全的文章就介绍到这了,更多相关Mysql查询语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL多表联合查询、连接查询、子查询的实现

    MySQL多表联合查询、连接查询、子查询的实现

    本文主要介绍了MySQL多表联合查询、连接查询、子查询的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • mysql实现将date字段默认值设置为CURRENT_DATE

    mysql实现将date字段默认值设置为CURRENT_DATE

    这篇文章主要介绍了mysql实现将date字段默认值设置为CURRENT_DATE问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • MySQL数据库常用操作和技巧(DBA必备知识)

    MySQL数据库常用操作和技巧(DBA必备知识)

    MySQL数据库可以说是DBA们最常见和常用的数据库之一,为了方便大家使用,老MySQL DBA总结了MySQL数据库最常见和最常使用的一些经验和技巧,与分享大家!
    2011-03-03
  • MySQL函数Locate的使用详解

    MySQL函数Locate的使用详解

    本文主要介绍了MySQL函数Locate的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 两个MySql服务的应用

    两个MySql服务的应用

    两个MySql服务的应用兼容方法。
    2009-10-10
  • 浅谈MYSQL中树形结构表3种设计优劣分析与分享

    浅谈MYSQL中树形结构表3种设计优劣分析与分享

    在开发中经常遇到树形结构的场景,本文将以部门表为例对比几种设计的优缺点,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • mysql触发器实现oracle物化视图示例代码

    mysql触发器实现oracle物化视图示例代码

    mysql触发器实现oracle物化视图即不是基于基表的虚表,而是根据表实际存在的实表,需要的朋友可以参考下
    2014-02-02
  • MySQL和Redis之间的存储区别

    MySQL和Redis之间的存储区别

    MySQL是一种关系型数据库,而Redis是一种键值对存储数据库,虽然它们都是用来存储和管理数据的,但是它们在很多方面都有不同,本文就给大家详细介绍一下MySQL和Redis之间的存储区别,感兴趣的同学可以参考一下
    2023-06-06
  • com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver 的区别

    com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver&n

    大家在连接mysql的时候,启动项目,会警告你推荐使用com.mysql.cj.jdbc.Driver 而不是com.mysql.jdbc.Driver,本文主要介绍了com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver 的区别,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 基于Linux的mysql主从配置全过程记录

    基于Linux的mysql主从配置全过程记录

    这篇文章主要给大家介绍了基于Linux的mysql主从配置的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04

最新评论