Mysql高级语句

一、前期准备工作

  1.1 登陆mysql,检查数据库

  1.2 登录到heihei下,创建新的数据表 

  1.3 为新的数据表插入值 

二、Mysql高级SQL语句

  2.1 ORDER BY

  2.1.1 按分数升序排序

  2.1.2 按分数降序排序

  2.2 区间判断及查询不重复记录

  2.2.1 AND且

  2.2.2 OR或

  2.2.3 多条件嵌套

  2.3 distinct 查询不重复记录

语法:select distinct 字段 from 表名;  

  2.4 限制结果条目limit

  在使用 MySQL SELECT 语句进行查询时,结果集返回的是所有匹配的记录(行)。有时候仅需要返回第一行或者前几行,这时候就需要用到 LIMIT子句

语法:SELECT column1, column2, ... FROM table_name LIMIT [offset,] number

大白话解释:select 列1,列2,... from 表名 limit 数字

   注意:limit的第一个参数是位置偏移量,第一条记录的位置偏移量是0,接下来依次类推。

  2.4.1 查询所有信息显示前4行记录

  2.4.2 从第4行开始,往后显示3行内容

  2.4.3 按id升序排列前三行

  2.4.4 按id降序排列最后两行

  2.5 通配符

  通配符主要用于替换字符串中的部分字符,通过部分字符的匹配将相关结果查询出来。

  通常通配符都是跟 LIKE 一起使用的,并协同 WHERE 子句共同来完成查询任务。

  常用的通配符有两个:

%:百分号表示零个、一个或多个字符


_:下划线表示单个字符

  2.5.1 查询名字是g开头的 

  2.5.2 查询名字里是g和o中间有一个字符的记录

  2.5.3 查询名字中间有u的记录

  2.5.4  查询gu后面4个字符的名字记录

  2.5.5 查询名字以x开头的记录 

  2.6 select

    对 MySQL 数据库的查询,除了基本的查询外,有时候需要对查询的结果集进行处理。

  三、alias 

语法:对于列的别名:SELECT column_name AS alias_name FROM table_name;


           对于表的别名:SELECT column_name(s) FROM table_name AS alias_name; 

四、group by

  4.1 按hobbid相同的分组,计算相同分数的学生个数

  4.2 筛选分数大于等于85的分组

  4.3 按学生个数升序排列,筛选分数大于等于75的分组

五、函数

  5.1 聚合函数

  5.1.1 计数(COUNT)

  5.1.2 求和(SUM) 

  5.1.3 求平均数(AVERAGE)

  5.1.4 最大值(MAX)

  5.1.5 最小值(MIN)

  5.2  数学函数

数学函数描述
abs(x)返回x的绝对值
rand()返回0-1之间的随机数
mod(x,y)返回x除以y的余数
power(x,y)返回x的y次方
round()返回离x最近的整数
round(x,y)保留 x 的 y 位小数四舍五入后的值
sqrt(x)返回x的平方根
truncate(x,y)返回数字 x 截断为 y 位小数的值
ceil(x)返回大于或等于 x 的最小整数
floor(x)返回小于或等于 x 的最大整数
greatest(x1,x2…)返回集合中的最大值
least(x1,x2…)返回集合中的最小值

  5.2.1 返回x的绝对值

  5.2.2 返回0-1之间的随机数

  rand()还可以用于运算

  5.2.3 返回x除以y的余数

  5.2.4 返回x的y次方

  5.2.5 返回离x最近的整数

  5.2.6 保留 x 的 y 位小数四舍五入后的值

  5.2.7 返回x的平方根

  5.2.8 返回数字 x 截断为 y 位小数的值(没有进位)

  5.2.9 返回大于或等于 x 的最小整数

  5.2.10 返回小鱼或等于x的最小整数

  5.2.11 返回集合中的最大值

  5.2.12 返回集合中的最小值

  5.3 字符串函数

字符串函数函数
length(x)返回字符串 x 的长度
trim()返回去除指定格式的值
concat(x,y)将提供的参数x和y拼接成一个字符串
upper(x)将字符串x的所有字母变成大写字母
lower(x)将字符串x的所有字母变成小写字母
left(x,y)返回字符串x的前y个字符
right(x,y)返回字符串x的后y个字符
repeat(x,y)将字符串x重复y次
space(x)返回x个空格
replace(x,y,z)将字符串z替代字符串x中的字符串y
strcmp(x,y)比较x和y,返回的值可以为-1,0,1
substring(x,y,z)获取从字符串x中的第y个位置开始长度为z的字符串
reverse(x)将字符串x反转

  5.3.1 length(x)返回字符串x的长度

  5.3.2 返回去除指定格式的值

  5.3.3 将提供的参数x和y拼接成一个字符串

    concat还可以结合其他函数,例如下图中的trim()

  5.3.4 将字符串x的所有字母变成大写字母

  5.3.5 将字符串x的所有字母变成小写字母

  5.3.6 返回字符串x的前y个字符

  5.3.7 返回字符串x的后y个字符

  5.3.8 将字符串x重复y次

  5.3.9 返回x个空格

  5.3.10 将字符串z替代字符串x中的字符串y

  5.3.11 比较x和y,返回的值可以为-1,0,1

  5.3.12 获取从字符串x中的第y个位置开始长度为z的字符串

  5.3.13 将字符串x反转

  5.4 日期时间函数

字符串函数描述
curdate()返回当前时间的年月日
curtime()返回当前时间的时分秒
now()返回当前时间的日期和时间
month(x)返回日期x中的月份值
week(x)返回日期x是年度第几个星期
hour(x)返回x中的小时值
minute(x)返回x中的分钟值
second(x)返回x中的秒钟值
dayofweek(x)返回x是星期几
dayofmonth(x)计算日期x是本月的第几天
dayofyear(x)计算日期x是本年的第几天

  5.4.1 返回当前时间的年月日

  5.4.2 返回当前时间的时分秒

  5.4.3 返回当前时间的日期和时间

  5.4.4 返回日期x中的月份值

  5.4.5 返回日期x是年度第几个星期

  5.4.6 返回x中的小时值

  5.4.7 返回x中的分钟值

  5.4.8 返回x中的秒钟值

  5.4.9 返回x是星期几

  5.4.10 计算日期x是本月的第几天

  5.4.11 计算日期x是本年的第几天

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值