美文网首页
MySQL~操作表查询

MySQL~操作表查询

作者: Cyzhouke | 来源:发表于2020-06-18 23:22 被阅读0次

一、使用基本的查询语句

1、查询语句基础

1.1、基本语法

SELECT
{* | <字段列名>}
[
FROM <表1>,<表2>...
[WHERE <表达式>
[GROUP BY <group by definition>
[HAVING <expression> [{<operation> <expression>}...]]
[ORDER BY <order by definition>]
[LIMIT[<offset>,] <row count>]
]]]

# 语法说明:
GROUP BY <字段>:如果显示查询出来的数据,并按照指定的字段分组。
ORDER BY <字段>:按什么样的顺序显示查询出来的数据
LIMIT:每次显示查询出来的数据条件

1.2、使用"*"查询表中的全部内容

# 使用星号"*"通配符查询所有记录
SELECT * FROM 表名;

一般情况下,除非需要使用表中所有的字段数据,否则最好不要使用通配符"*"。

查询表全部数据.png

1.3、查询表中指定的字段

SELECT <列名> FROM <表名>;
# 使用SELECT获取多个字段下的数据,不同字段之间使用逗号分隔
SELECT <字段名1>,<字段名2>,... FROM <表名>;
查询表中指定的字段.png

1.4、在查询时给表和字段设置别名

当表名很长或者执行一些特殊查询时,网络方便操作或者需要多次使用相同的表时,可以为表指定别名

<表名> [AS] <别名>

# 语法说明:
AS:关键字为可选参数

# 为表取别名时,要保证不能与数据库中的其他表的名称冲突 

当列名很长或者名称不够直观时,可以指定列的别名。

<列名> [AS] <别名>
别名.png

1.5、使用DISTINCT关键字去除结果中的重复行

在SELECT语句中,可以使用DISTINCT关键字消除重复的数据行

SELECT DISTINCT <字段名> FROM <表名>;
DISTINCT关键字去重.png

1.6、使用LIMIT关键字指定查询结果的行数

<LIMIT> [<位置偏移量>,] <行数>

# 位置偏移量:指示从哪一行开始显示,是一个可选参数,如果不指定"位置偏移量",将从第一天记录开始
# 行数:返回的记录条数
LIMIT关键字查询指定行数.png

1.7、使用ORDER BY对查询结果进行排序

ORDER BY { <列名> | <表达式> | <位置> } [ ASC | DESC ]

# 语法说明:
<列名>:指定用于排序的列,可以指定多个列,列名之间用逗号分隔
<表达式>:指定用于排序的表达式
<位置>:指定用于排序的列在SELECT语句结果集中的位置
ASC:关键字,表示按升序分组,默认值
DESC:关键字,表示按降序分组

使用ORDER BY子句需要注意:

  • ORDER BY子句中可以包含子查询。
  • 当排序的值中存在空值时,ORDER BY子句会将该空值作为最小值对待。
  • 当在ORDER BY子句中指定多个列进行排序时,MySQL会按照列的从左到右依次进行排序。


    ORDER BY排序查询-1.png
ORDER BY排序查询-2.png ORDER BY排序查询-3.png

2、带WHERE关键字的子查询

在SELECT语句中,可以使用WHERE子句来指定查询条件,从FROM子句的中间结果中选取适当的数据行,达到数据过滤的效果。

WHERE <查询条件> { <判定运算1>,<判定运算2>,... }

2.1、常用的运算符

(1)、比较运算符

<表达式1> {= | < | <= | > | >= | <=> | <> | !=} <表达式2>

MySQL常见的比较运算符:

比较运算符 说明
= 等于
< 小于
<= 小于等于
> 大于
>= 大于等于
<=> 安全的等于,不会返回UNKNOWN
<>或!= 不等于
IS NULL或ISNULL 判定一个值是否为NULL
IS NOT NULL 判定一个值是否不为NULL
LEAST 当有两个或多个参数时,返回最小值
GREATEST 当有两个或多个参数时,返回最大值
BETWEEN AND 判定一个值是否在另外两个值之间
IN 判定一个值是IN列表中的任意一个值
NOT IN 判定一个值不是IN列表中的任意一个值
LIKE 通配符匹配
REGEXP 正则表达式匹配

(2)、算术运算符

算术运算符 说明
+ 加法运算
- 减法运算
* 乘法运算
/ 除法运算
% 求余运算

(3)、逻辑运算符

逻辑运算符 说明
NOT或者! 逻辑非
AND或者&& 逻辑与
OR或者II 逻辑或
XOR 逻辑异或

(4)、位运算符

位运算符 说明
I 按位或
& 按位与
^ 按位异或
<< 按位左移
>> 按位右移
~ 按位取反,反转所有比特

(5)、运算符优先级

运算符优先级(由低到高)
=
II、OR
XOR
&&、AND
NOT
BETWEEN、CASE、WHEN、THEN、ELSE
=、<=>、>=、>、<、<=、<>、!=、IS、LIKE、REGEXP、IN
I
&
<<、>>
-(减法)、+
*、/、%
^
-(负号)、~(位反转)
!

2.2、单条件的查询语句

示例:查询姓名为“Green”的学生信息

单条件查询.png

示例:查询年龄小于23岁的学生信息

单条件查询.png

2.3、多条件的查询语句

使用SELECT查询时,在WHERE子句中使用AND连接两个甚至多个查询条件。

示例:查询年龄小于23岁,性别为女的学生信息

多条件查询.png

示例:查询age大于21,height大于等于175的学生信息

多条件查询.png

2.4、使用LIKE的模糊查询

<表达式> [NOT] LIKE <表达式>

字符串匹配是一种模式匹配,使用运算符LIKE设置过滤条件,过滤条件使用通配符进行匹配运算,而不是判断是否相等进行比较。
MySQL支持的通配符:

  • 百分号(%):匹配任何字符串
  • 下划线(_):只匹配单个字符

示例:查询姓名以"J"开头的学生信息

LIKE模糊查询.png

示例:查询所有姓名中包含"e"字母的学生信息

LIKE模糊查询.png

示例:查询姓名由3个字母组成的学生信息

LIKE模糊查询.png

2.5、使用BETWEEN AND的范围查询

BETWEEN AND用来查询某个范围内的值,该操作符需要两个参数,即范围的开始值和结算值。

示例:查询login_date在2015-09-10和2016-01-15之前的学生信息

BETWEEN AND范围查询.png

相关文章

  • mysql,库管理与表管理1

    关于数据库的操作 (以下操作均在MySQL中进行) 表管理 单表查询 有条件的查询:

  • MySQL~操作表查询

    一、使用基本的查询语句 1、查询语句基础 1.1、基本语法 1.2、使用"*"查询表中的全部内容 一般情况下,除非...

  • 数据库第一周

    mysql的命令和查询语句: 登陆系统 数据库的操作 如何创建表 关于表的操作: DML:数据库操作语言:对于表中...

  • MySQL查询操作

    MySQL查询操作(以此表(user)为例)---select Id name pass 1 XXX 123 2 ...

  • golang对mysql的基本操作

    golang 操作mysql 导入数据库驱动 mysql连接配置 建立连接 数据模型 数据表结构 查询单行 注意:...

  • MySQL 多表操作

    day07-多表操作 今日任务 完成对MYSQL数据库的多表查询及建表的操作 教学目标 掌握MYSQL中多表的创建...

  • mysql数据库-多表查询

    今日任务 完成对MYSQL数据库的多表查询及建表的操作 教学目标 掌握MYSQL中多表的创建及多表的查询 掌握MY...

  • 2018-03-20

    MYSQL查询语句 MYSQL复杂操作语句 MYSQL多表查询方法 函数部分

  • 2019-02-22

    mySQL Navicat for mySQL 关系型数据库:用表传数据 如何建表:查询→新建查询 注释: -- ...

  • 2021-01-20

    Mysql查询excel表

网友评论

      本文标题:MySQL~操作表查询

      本文链接:https://www.haomeiwen.com/subject/xlzpxktx.html