文章目录
简介
- 本文是2021/05/12整理的笔记
- 赘述可能有点多,还请各位朋友耐心阅读
- 本人的内容和答案不一定是最好最正确的,欢迎各位朋友评论区指正改进
练习
查询出生日97年前的班长信息
select * from student2 where post = ‘班长’ and year(birthday) <1997;
查询出刘姓同学的三门成绩总和
select id,name,Englishmark+Chinesemark+mathsmark 成绩总和 from student2 where name like’刘%’;
字符串
varchar和char的区别
varchar 可变 不删除尾部的空格
char 不可变 删除尾部的空格
枚举 只能插入一个指定的值
列名 enum(‘M’,‘F’)
insert into t1 values(‘M’),(‘F’),(‘1’),(null)
set 能插入多个值,不能重复
- 列名 set(’ 值1’,‘值2’,‘值3’)
- insert into t values(‘值1’),(‘值1,值2’),(‘值1,值2,值3’)
json类型 (不推荐使用)
可以是以下6种数据类型任意组合
- Boolean:true/false
- String:需要使用双引号包起来
- Date:需要使用双引号包起来
- Null
- Array:json数组[]
- Object:json对象{}
Create table t1(tempcol json)
insert into t1 values('{"name":"zs","age":20,"time":"2021-05-12"}');
json_type(’{“name”:“zs”,“age”:20,“time”:“2021-05-12”}’)
运算符
算术运算符
+ - * / %
比较运算符
= != <> <=> > >= < <=
逻辑运算符
and not or xor(异或)
位运算符
位与 &
位或 |
位异或^
位取反~
位右移>>
位左移<< 乘以2的次方
字符串函数
连接函数
concat(str1,str2,str3,...) 将多个字符串连接在一起
substring(str1,start,length) 截取子串
trim(str) 去掉字符串首尾的空格
数值函数
round(x,y) 四舍五入
日期时间函数
now():当前日期+时间
curdate():当前日期
curtime():当前时间
date_format(date,format):按照指定格式格式化时间
流程函数
select if(1=0,1,0);
select ifnull(1,2);
select ifnull(null,2);
select case when 1=1 then 1 else 2 end;
select case 1 when 1=1 then 1 else 2 end from emp;
select case sal when 800 then 1 else 2 end from emp;
json函数
json_array 创建json数组
json_object 创建json对象:参数中的key不能为null,参数个数必须是偶数
json_quote 加上/去掉json文档两边的双引号
本文介绍了SQL查询技巧,包括如何筛选特定条件的数据记录及计算字段总和,并探讨了不同数据类型的使用方法如VARCHAR与CHAR的区别,枚举与集合类型的应用,以及JSON类型的注意事项。此外,还介绍了常用的SQL运算符和函数。
1280

被折叠的 条评论
为什么被折叠?



