ubuntu mysql 账号查询_数据库应用(四): Ubuntu 下 MySQL 数据库简单查询

简单查询

查询语句核心语法

SELECT [DISTINCT] *|{字段名1, 字段名2, 字段名3,……}

FROM 表名

[WHERE 条件表达式1]

[GROUP BY 字段名 [HAVING 条件表达式2]]

[ORDER BY 字段名 [ASC|DESC]]

[LIMIT [OFFSET] 记录数

“字段1,字段2…”表示从表中查询的指定字段,星号(“*”)通配符表示表中所有字段,两者为互斥关系,任选其一。“DISTINCT”是可选参数,用于剔除查询结果中重复的数据

from 表示从指定的表中查询数据

“WHERE”是可选参数,用于指定查询条件

“GROUP BY”是可选参数,用于将查询结果按照指定字段进行分组,“HAVING”也是可选参数,用于对分组后的结果进行过滤。

“ORDER BY”是可选参数,用于将查询结果按照指定字段进行排序。排序方式由参数ASC或DESC控制,其中ASC表示按升序进行排列,DESC表示按降序进行排列。如果不指定参数,默认为升序排列

“LIMIT”是可选参数,用于限制查询结果的数量。LIMIT后面可以跟2个参数,第一个参数“OFFSET”表示偏移量,如果偏移量为0则从查询结果的第一条记录开始…以此类推。如果不指定OFFSET,其默认值为0。第二个参数“记录数”表示返回查询记录的条数。

查询student表中的所有字段

bbd48ff02aa87cb9420d36a962d2a885.png

查询student表中name字段和gender字段的数据(查询指定属性)

29f50888a95f5486ad43a6fcd78e27b4.png

PS: 指定查询对象 需要用 where 来限制 相关的条件表达式如下

0bbdcc52e2c98a592ffd27b695fca84a.png

例如:

查询name为“wusong”的姓名和 性别

accfa4b91923be89a3a46ed32aacea76.png

带IN关键字的查询

SELECT *|字段名1,字段名2,……

FROM 表名

WHERE 字段名 [NOT] IN (元素1,元素2,……)

例如:

查询student表中id值为1、2、3的id、成绩 、姓名、性别

d3922ec698e91ad6cfa10fc4c8116501.png

带BETWEEN AND关键字的查询

—判断某个字段的值是否在指定的范围之内

SELECT *|{字段名1,字段名2,……}

FROM 表名

WHERE 字段名 [NOT] BETWEEN 值1 AND 值2

例如:

查询student表中id值在2和5之间的学生id和姓名

fdf594efda77bbd940ec0ea5ac6f1762.png

空值查询

—判断某些列是否有NULL值

SELECT *|字段名1,字段名2,……

FROM 表名

WHERE 字段名IS [NOT] NULL

例:

查询student表中gender为空值的id、姓名、成绩、性别

34874360be13fd0f08166e8189b7ba65.png

带DISTINCT关键字的查询

—去重

SELECT DISTINCT 字段名 FROM 表名;

例:

查询student表中gender字段的值,查询记录不能重复

8b4387c0c7bb39ec99b53854a5565d16.png

DISTINCT关键字作用于多个字段

SELECT DISTINCT 字段名1,字段名2,……

FROM 表名;

在上面的语法格式中,只有DISTINCT关键字后指定的多个字段值都相同,才会被认作是重复记录。

aad533ace14df155d08c403a60d72728.png

带LIKE关键字的查询

—判断两个字符串是否相匹配

SELECT *|{字段名1,字段名2,……}

FROM 表名

WHERE 字段名 [NOT] LIKE'匹配字符串';

例:

查找student表中name字段值包含字符“y”的学生id和姓名

f4c4932429cf67d59a3101afad527fef.png

下划线(_)通配符

下划线通配符只匹配单个字符,如果要匹配多个字符, 需要使用多个下划线通配符。

PS: 汉字占两个

使用百分号和下划线通配符进行查询操作

百分号和下划线是通配符,它们在通配字符串中有特殊含义,

因此,如果要匹配字符串中的百分号和下划线,就需要在通配字符串中使用右斜线(“\”)对百分号和下划线进行转义,

例如,“\%”匹配百分号字面值,“\_”匹配下划线字面值。

名字中含有 % 的

7b4a0b139459630f89e67901b41a403b.png

带AND关键字的多条件查询

-----连接两个或者多个查询条件

SELECT *|{字段名1,字段名2,……}

FROM 表名

WHERE 条件表达式1 […… AND 条件表达式n];

例:

查找id >5 的女生

d8e368e5faf6303bdbfa23abf4df1e0d.png

带OR关键字的多条件查询

— 记录满足任意一个条件即被查出

SELECT *|{字段名1,字段名2,……}

FROM 表名

WHERE 条件表达式1 OR […… OR 条件表达式n];

查询student表中id字段值小于3或者gender字段值为“女”的id、姓名、性别

173977d88a587c0861e791fd754ec1d5.png

OR和AND关键字一起使用的情况

AND的优先级高于OR,因此当两者在一起使用时,应该先运算AND两边的条件表达式,再运算OR两边的条件表达式。

使用LIMIT限制查询结果的数量

SELECT 字段名1,字段名2,……

FROM 表名

LIMIT [OFFSET,] 记录数

LIMIT:后面可以跟2个参数,“OFFSET”:为可选值,表示偏移量,如果偏移量为0则从查询结果的第一条记录开始…以此类推,如果不指定其默认值为0。

“记录数”:表示返回查询记录的条数。

例:

查询student表中grade字段值从第5位到第8位的学生。

84466da7a549114897e67806f472d157.png

高级查询

COUNT()函数用来统计记录的条数

SELECT COUNT(*) FROM 表名

SUM()是求和函数,用于求出表中某个字段所有值的总和

SELECT SUM(字段名) FROM 表名;

AVG()函数用于求出某个字段所有值的平均值

SELECT AVG(字段名) FROM student;

MAX()函数是求最大值的函数,用于求出某个字段的最大值

SELECT MAX(字段名) FROM student;

MIN()函数是求最小值的函数,用于求出某个字段的最小值

SELECT MIN(grade) FROM student;

ORDER BY对查询结果进行排序

SELECT 字段名1,字段名2,……

FROM 表名

ORDER BY 字段名1 [ASC| DESC],字段名2 [ASC | DESC]……

PS: NULL 会被认为最小, 建议and 上非空检测

GROUP BY对字段值进行分组查询

SELECT 字段名1,字段名2,……

FROM 表名

GROUP BY 字段名1,字段名2,……[HAVING 条件表达式];

学习不易,诸君共勉

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值