DQL数据查询语言---单表查询

单表查询
1. 简单查询
  1. 查询表中全部数据
    select * from表名
  2. 查询指定列
    select 字段1,字段2…from 表名
  3. 别名查询
    select 字段1 as 别名,字段名2 as 别名…from 表名
    select 字段1 as 别名,字段名2 as 别名…from 表名 别名
    (as可以省略)
  4. 去除重复值:用distinct关键字
    select distinct 字段名 from 表名

distinct后面有多个列的时候,只有多个列都重复才叫重复数据

  1. 查询结果参与运算
    select 列名1+ 固定值 from 表名

查询的列可以做加减乘除运算,只会影响展示结果,不会影响表中数据。

2. 条件查询
  1. 比较运算符:=等于、 >大于、 <小于、 <=小于等于、 >=大于等于、 <>或!=不等于
  2. 逻辑运算符:and(&&)都要满足,or(||)多个满足一个就行,not(!)不满足
  3. 指定范围内查询 in
    select 字段名 from 表名 where 字段 in (数据1,数据2…)

in里面的条件满足一个就会显示,相当于使用or连接多个条件

  1. 范围
    SELECT * FROM student3 WHERE english>=75 AND english<=90;
    SELECT * FROM student3 WHERE english BETWEEN 75 AND 90;
  2. 模糊查询 like
    select * from表名 where 字段名 like ‘通配符字符串’

MySQL 通配符有两个:
%:表示0或多个字符
_:表示一个字符

  1. 为空查询 is null
    select 字段名 from表名 where 字段 is null
3. 排序

用order by 字句,对结果进行排序,只影响显示结果,不会影响数据库中的数据

  1. 单列排序
    select 字段名 from 表名 where 条件 order by 字段名 [asc|desc]
  2. 组合排序
  • 组合排序按第一个字段排序,第一个字段相同的情况下在按后一个排序
    select 字段名 from 表名 where 条件 order by 字段名1 [asc|desc],字段名2 [asc|desc]
4.单行函数

单行函数是指对于每一行数据进行计算后得出一行输出结果。SQL单行函数根据数据类型分为字符函数、数字函数。日期函数、转换函数等。

  1. 数值函数
  • abs(x):返回x的绝对值
  • ceil(x):返回大于或等于x的最小整数(向上取整)
  • floor(x):返回小于或者等于的最大整数(向下取整)
  • rand():返回0-1的随机数
  • round(x):四舍五入取整
  1. 字符串函数
  • concat(s1,s2…sn):将多个字符串合并在一起
  • locate(s1,s):从字符串s中获取s1的位置
  • lower(s):将字符串s的所有字母变成小写字母
  • upper(s):将字符串转换成大写
  • replace(s,s1,s2):s2代替s中的s1
  • substr(s,start,length):从s中start位置截取length长度字符串(注意:与数组不一样,第一个字符串是1)
  • trim(s):去掉s开始和结尾处的空格
  • reverse(s):反转字符串
  1. 时间日期函数
  • now():返回系统当前时间
  • sysdate():返回系统当前时间
  • curdate():返回当前日期(年月日)
  • curtime():返回当前的时分秒
  • month(date):返回给出的日期的月份
  • week(date):返回给出日期是一年中的第几个星期
  • day(date)返回给出日期的日
  • date_add(date,interval expr type):在参数日期上增加相应的时间date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。

type 参数可以是下列值:
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER

YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH

  1. 流程控制函数
  • if(condition,expr1,expr2):condition为true时返回expr1,false时返回expr2
  • ifnull(expr1,expr2):expr1不为null时返回expr1,为null时返回expr2
  1. 其他函数
  • version():查看数据库版本
  • user():查看数据库当前用户
  • md5(expr):返回参数md5加密后的值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_不吃香菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值