MySQL 基础记录

MySQL 基础记录


最近在公司用到MySQL数据库,因为之前系统学习过SQL Server,所以觉得直接上手MySQL不会有多大问题,但在实际的应用中,发现其中的一些系统函数如concat、length、truncate、now、str_to_date等,视图,存储过程等的写法有些不同,这里记录一下。

“ + ” 的作用
MySQL中的“ + ” 仅做运算符,若将字符串和数值做运算,MySQL将试图把字符串转换为数值类型进行运算,如果转换失败,则转为0,如果要拼接字符串可以使用concat函数

字符函数

常用函数
1、concat 字符串拼接
2、length 函数 获取字节长度
3、substr和substring 函数一样,截取字符串
4、instr 函数返回子串在父串中的起始索引,找不到返回0
5、trim 函数去除字符串首尾的空格,也可去除指定字符串,语法trim(‘要去除的字符串’ from ‘原字符串’)
6、lpad 函数 用指定的字符串实现左填充指定长度
7、rpad 函数 用指定的字符串实现右填充指定长度
8、replace 函数 替换 语法 replace(‘原字符串’,‘被替换的字符串’,‘要替换的字符串’)

数学函数
1、round 四舍五入,可以实现保留几位小数 用法 round(xxx,要保留的小数位数)
2、ceil 向上取整,返回大于等于该参数的最小整数
3、floor 向下取整,返回小于等于该参数的最大整数
4、truncate 截断,用法 truncate(xxx,要保留的小数位数)
5、mod 取余,用法mod(被除数,除数) ---- 被除数 - 商 * 除数

日期函数
1、now 返回当前系统日期+时间
2、curdate 返回当前系统日期,不包含时间
3、curtime 返回当前系统时间,不包含日期
4、year 返回年,用法 year(now())
5、month 返回月,用法 month(now())
5、monthname 返回月英文名称,用法 monthname(now())
6、day,hour,minute,second
7、str_to_date 将日期格式的字符串转换成指定格式的字符,用法 str_to_date(被转换的日期字符串,要转换成的格式)
8、date_format 将日期转换成指定格式的字符,用法 date_format(被转换的日期,要转换成的格式)

其他函数
1、version 当前mysql版本号
2、database 所有的数据库
3、user 所有的用户

流程控制函数
1、if 可实现if else 的效果,
用法:
if(条件,true时执行,false时执行)

case函数
1、可实现 switch case 的效果,
用法:
case 要判断的字段或表达式 when 常量1 then 要显示的值1或语句1
when 常量2 then 要显示的值2或语句2

else 要显示的值n或语句n
end
2、可实现多重if效果
用法:
case
when 条件1 then 要显示的值1或语句1
when 条件2 then 要显示的值2或语句2

else 要显示的值n或语句n
end

分组函数
1、sum,avg,max,min,count
2、参数支持的类型
sum,avg 支持数值类型,计算的时候忽略null值
max,min 支持数值,字符串及日期类型,计算的时候忽略null值
count 计算 is not null 的个数
3、可以和distinct关键字搭配使用
sum(distinct XXX)
4、关于count的执行效率
myisam存储引擎下,count()的效率最高
innodb存储引擎下,count(1)和count(
)相当,比count(字段)高,因为count(字段)会筛选字段值是否为null

子查询
1、any/some,all,select后跟exists

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值