mysql的数据类型:数值型、日期时间型、字符型
int 整数型
float 浮点型
double 双精度浮点型
varchar 字符串型
date 日期类型
mysql的常用函数:数字函数、字符函数、日期函数
abs() 求绝对值
bin() 返回二进制
hex() 返回十六进制
greatest() 返回集合中的最大值
least() 返回集合中的最小值
mod() 取余数
pi() 返回圆周率
rand() 返回随机值
floor() 向下取整
ceil() 向上取整
round() 四舍五入
truncate() 截断
sqrt() 平方根
left(str,x) 返回字符串左边的x个字符
right(str,x) 返回字符串右边的x个字符
reverse(str) 颠倒字符串
select curdate(); 获取yyyymmdd
select curtime(); 获取hh24miss
select sysdate(); yyyymmdd hhmiss
select now();
week() 返回日期在一年中的第几周
dayofyear() 返回日期在一年中的第几天
year() 返回日期的年
month() 返回月
day() 返回天
hour() 返回小时
date() 将字符型转换成日期yyyymmdd
将字符型转换成日期yyyymmddhhmiss
str_to_date('20240101 10:21:22', '%Y%m%d %H:%i:%s')
datediff(日期,日期) 计算两个日期相差的天数
adddate(日期,x) 返回x天后的日期
mysql和oracle语法大致一样,有细微区别:
mysql免费,oracle收费
mysql没有提交(commit)跟回滚(rollback)
mysql的表名区分大小写
mysql的select语句可以不写from直接输出值
mysql没有伪列 rownum , rowid
mysql 5.7 不支持开窗函数,mysql 8.0 版本支持开窗函数的
mysql子查询必须要取别名
数据类型不一致:
oracle数字型一般用number,mysql一般用int/float/double/decimal
oracle字符型一般用varchar2(),mysql一般用varchar()
查看mysql版本select version();
查询oracle版本select * from v$version;
oracle分页查询一般用rownum
mysql的分页查询用limit
limit m,n 从第m+1行开始,找n条数据
limit n 找前n条数据
oracle独特用法:
decode()是oracle特有的,case when是都可以用
拼接字符串oracle可以使用||,其他的用concat()
在行列转换上,oracle还能用pivot
关联语法:oracle可以不写join,直接
select ...
from A,B
where A.列=B.列(+);
mysql查询语句执行顺序:
select --5
from --1
where --2
group by --3
having --4
order by --6
limit --7