文章目录
- 简介
- 练习
- 查询出生日97年前的班长信息
- 查询出刘姓同学的三门成绩总和
- 字符串
- 枚举 只能插入一个指定的值
- set 能插入多个值,不能重复
- json类型 (不推荐使用)
- 可以是以下6种数据类型任意组合
- Create table t1(tempcol json)
- json_type('{"name":"zs","age":20,"time":"2021-05-12"}')
- 运算符
- 算术运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 字符串函数
- 连接函数
- 数值函数
- 日期时间函数
- 流程函数
- json函数
- md5(str):将字符串进行md5加密
简介
- 本文是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文档两边的双引号
md5(str):将字符串进行md5加密