SQL学习笔记

一、基本查询用法

1.1 某列有几种类型,以及总数

--获取不同类型设备的数量
--写法1:
SELECT energytype,count(energytype)typenumber FROM tb_device GROUP BY energytype 

--写法2:
SELECT energytype,count(*)typenumber FROM tb_device GROUP BY energytype 

--带排序的:
SELECT energytype,count(energytype)typenumber FROM tb_device GROUP BY energytype 
ORDER BY typenumber desc

1.2 与、或、长度查询数据

select count(*) from kuming where length(ziduankou) <= length(zhuduankou) or ( length(ziduankou) > length(zhuduankou) and left(ziduankou, length(zhuduankou)) != zhuduankou);

***//left的用法
LEFT('foobarbar', 5);
    fooba

1.3 判断null

***// 我们知道在对NULL进行判断处理时,只能采用IS NULL或IS NOT NULL,而不能采用=, <, <>, !=这些操作符

1.4 mysql中的字符串连接

  • mysql中的+号仅仅只有一个功能:运算符
    数字+数字:加法运算;
    字符串+数字:试图将字符串转为数字
    字符串+数字:如果转换失败,则将字符串转为0,输出数字
    null+10:只要一方是null,则结果肯定是null

  • CONCAT(‘A’,‘B’,‘C’) 用于拼接

1.5 条件查询

  • 按照条件表达式筛选
    简单条件运算符:> < = != <> >= <=

  • 按照逻辑表达式筛选
    逻辑运算符: && || !
    and or not

  • 模糊查询
    like:有两种通配符:%(任意多个字符,包含0个字符) 和 _(任意单个字符)
    between and :between 20 and 80 类比于 >=20 and <=80
    in
    is null

二 关于时间转换和获取不同时间

2.1 获取时间格式

#当前日期和时间YYYY-MM-DD HH:MM:SS
SELECT NOW();
#当前日期和时间YYYYMMDDHHMMSS
SELECT SECOND(NOW());
#当前日期
SELECT CURDATE();
#当前时间
SELECT CURTIME();
#返回日期的年份
SELECT YEAR(NOW());
#返回日期的月份
SELECT MONTH(NOW());
#返回日期的天数
SELECT DAY(NOW());
#返回日期的小时值
SELECT HOUR(NOW());
#返回日期的分钟值
SELECT MINUTE(NOW());
#返回日期的秒数值
SELECT SECOND(NOW());
#间隔的月数
SELECT TIMESTAMPDIFF(MONTH,'2021-3-5','2021-5-4')
#间隔的年数
SELECT TIMESTAMPDIFF(YEAR,'2021-3-5','2021-5-4')
#间隔的天数
SELECT DATEDIFF('2018-09-30 19:38:45','2018-08-23 10:13:01')

2.2 转换时间的格式

select '202210' as  data_cycle  , date_format(CURDATE(),'%Y%m%d')  as  cycle
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值