MySQL(2)
学习是一个循环渐进的过程,本篇主要接着上一篇MySQL(1)继续详细介绍MySQL函数、约束、各种连接,最好不要跳着学,漏了知识还是要回头补的,最后我会发布经典的综合练习,写了就知道自己几斤几两。大家共同努力!
1. 字符串函数
函数 | 功能 |
---|---|
CONCAT(S1,S2.…n) | 字符串拼接,将S1,s2,…Sn拼接成一个字符串 |
LOWER(str) | 将字符串str全部转为小写 |
UPPER(str) | 将字符串str全部转为大写 |
LPAD(str,n,pad) | 左填充,用字符串pad对str的左边进行填充,达到n个字符串长度 |
RPAD(str,n,pad) | 右填充,用字符串pad对str的右边进行填充,达到n个字符串长度 |
TRIM(str) | 去掉字符串头部和尾部的空格 |
SUBSTRING(str,start,len) | 返回从字符串str从start位置起的len个长度的字符串 |
2)用法
- 拼接字符串 concat
select concat('Hello','wxz'); 返回Hello wxz
- 转为小写字符串 lower
select lower('Hello'); 返回hello
- 转为大写字符串 upper
select upper('Hello'); 返回HELLO
- 左填充字符串 lpad
select lpad('21','5','-'); 返回---21,因为5代表整体长度,用-左填充21
- 右填充字符串 rpad
select rpad('21','5','-'); 返回21---,因为5代表整体长度,用-右填充21
- 去除头尾空格字符串 trim
select trim(' hello wxz '); 返回hello wxz 不去除中间的空格
- 截取字符转 substring
select substring('hello wxz',1,5); 返回hello 索引从1开始
3)举例:
- 1号员工的工号应该为00001
update wxz set workid = lpad(workid,5,0) where id = 1;
2. 数值函数
1)常见的数值函数
函数 | 功能 |
---|---|
CEIL(x) | 向上取整 |
FLOOR(x) | 向下取整 |
MOD(x,y) | 返回x/y的模 |
RAND() | 返回0~1内的随机数 |
ROUND(x,y) | 求参数x的四舍五入的值,保留y位小数 |
MOD(x,y) | 返回x/y的模 |
2)用法
select ceil(1.1); 结果为2
select floor(1.9); 结果为1
select mod(6,4); 结果为2
select rand(); 结果为0-1之间的随机数
select round(2.314, 2); 结果为2.31
四舍五入再保留2位小数
3)经典题目:
- 通过数据库函数,生成一个六位数的随机验证码
select lpad(round(rand