数学函数 | 说明 |
---|---|
abs(x) | 返回x的绝对值 |
rand( ) | 返回0到1的随机数 |
mod(x,y) | 返回x除y以后的余数 |
power(x,y) | 返回x的y次方 |
round(x) | 返回距离x最近的整数 |
round(x,y) | 保留x的y位小数四舍五入后的值 |
sqrt(x) | 返回x的平方根 |
truncate(x,y) | 返回数字x截断为y位小数的值 |
ceil(x) | 返回大于或等于x的最小整数 |
floor(x) | 返回小于或等于x的最大整数 |
greatest(x1,x2) | 返回集合中最大的值 |
least(x1,x2) | 返回集合中最小的值 |
【返回-5514的绝对值】
mysql> select abs(-5514);
+------------+
| abs(-5514) |
+------------+
| 5514 |
+------------+
【返回0-1的随机数(0<=x<1)】
mysql> select rand();
+--------------------+
| rand() |
+--------------------+
| 0.8426012078696873 |
+--------------------+
【可以搭配运算符使用】
mysql> select rand()*10000000;
+-------------------+
| rand()*10000000 |
+-------------------+
| 5140734.682922005 |
+-------------------+
【返回7除以4的余数】
mysql> select mod(7,4);
+----------+
| mod(7,4) |
+----------+
| 3 |
+----------+
【返回2的10次方】
mysql> select power(2,10);
+-------------+
| power(2,10) |
+-------------+
| 1024 |
+-------------+
【返回距离5514.49最近的整数(四舍五入)】
mysql> select round(5514.49);
+----------------+
| round(5514.49) |
+----------------+
| 5514 |
+----------------+
mysql> select round(5514.5);
+---------------+
| round(5514.5) |
+---------------+
| 5515 |
+---------------+
mysql> select round(5514.500001);
+--------------------+
| round(5514.500001) |
+--------------------+
| 5515 |
+--------------------+
【返回5.144保留小数点后3位的数(四舍五入)】
mysql> select round(5.144,2);
+----------------+
| round(5.144,2) |
+----------------+
| 5.14 |
+----------------+
mysql> select round(5.145,2);
+----------------+
| round(5.145,2) |
+----------------+
| 5.15 |
+----------------+
mysql> select round(5.1450000001,2);
+-----------------------+
| round(5.1450000001,2) |
+-----------------------+
| 5.15 |
+-----------------------+
【返回平方根】
mysql> select sqrt(9);
+---------+
| sqrt(9) |
+---------+
| 3 |
+---------+
mysql> select sqrt(8);
+--------------------+
| sqrt(8) |
+--------------------+
| 2.8284271247461903 |
+--------------------+
【保留小数点后4位,后面直接截断(不会四舍五入)】
mysql> select truncate(2.332124,4);
+----------------------+
| truncate(2.332124,4) |
+----------------------+
| 2.3321 |
+----------------------+
mysql> select truncate(2.332199,4);
+----------------------+
| truncate(2.332199,4) |
+----------------------+
| 2.3321 |
+----------------------+
【返回大于或等于5.000000001的最小整数】
mysql> select ceil(5.000000001);
+-------------------+
| ceil(5.000000001) |
+-------------------+
| 6 |
+-------------------+
mysql> select ceil(5.000000);
+----------------+
| ceil(5.000000) |
+----------------+
| 5 |
+----------------+
【返回小于或等于8.9999999的最大整数】
mysql> select floor(8.999999);
+-----------------+
| floor(8.999999) |
+-----------------+
| 8 |
+-----------------+
mysql> select floor(8.00000);
+----------------+
| floor(8.00000) |
+----------------+
| 8 |
+----------------+
【返回结合中最大的值】
mysql> select greatest(5,35,44);
+-------------------+
| greatest(5,35,44) |
+-------------------+
| 44 |
+-------------------+
mysql> select greatest(0.12,-0.32,0.01);
+---------------------------+
| greatest(0.12,-0.32,0.01) |
+---------------------------+
| 0.12 |
+---------------------------+
mysql> select greatest(0.12,0.32,0.01);
+--------------------------+
| greatest(0.12,0.32,0.01) |
+--------------------------+
| 0.32 |
+--------------------------+
【返回集合中最小的值】
mysql> select least(0.12,0.32,0.01);
+-----------------------+
| least(0.12,0.32,0.01) |
+-----------------------+
| 0.01 |
+-----------------------+
1 row in set (0.00 sec)
mysql> select least(0.12,-0.32,0.01);
+------------------------+
| least(0.12,-0.32,0.01) |
+------------------------+
| -0.32 |
+------------------------+
1 row in set (0.00 sec)
mysql> select least(5,35,44);
+----------------+
| least(5,35,44) |
+----------------+
| 5 |
+----------------+
函数 | 说明 |
---|---|
avg( ) | 返回指定列的平均值 |
count( ) | 返回指定列中非NULL值的个数 |
min( ) | 返回指定列的最小值 |
max( ) | 返回指定列的最大值 |
sum( ) | 返回指定列的所有值之和 |
mysql> select * from qz1;
+--------+--------------+---------+--------+--------+--------+
| 编号 | 姓名 | 得分 | 地址 | 特长 | addr |
+--------+--------------+---------+--------+--------+--------+
| 1 | 刘一 | 80.000 | 北京 | 2 | NULL |
| 2 | 王二 | 90.000 | 深圳 | 2 | 南京 |
| 3 | 李四 | 60.000 | 上海 | 4 | NULL |
| 4 | 田五 | 99.000 | 南京 | 5 | 南京 |
| 5 | 教授 | 100.000 | 成都 | 3 | 南京 |
| 6 | 小明 | 10.000 | 镇江 | 3 | NULL |
| 7 | 刘二 | 60.000 | 北京 | 2 | NULL |
| 8 | 刘二蛋 | 112.000 | 北京 | 3 | 南京 |
| 9 | 刘小天田 | 112.000 | 北京 | 4 | |
+--------+--------------+---------+--------+--------+--------+
【返回qz1表里得分列的总和】
mysql> select sum(得分) from qz1;
+-------------+
| sum(得分) |
+-------------+
| 723.000 |
+-------------+
【返回qz1表里得分列的字段个数】
mysql> select count(得分) from qz1;
+---------------+
| count(得分) |
+---------------+
| 9 |
+---------------+
mysql> select * from qz1;
+--------+--------------+---------+--------+--------+--------+
| 编号 | 姓名 | 得分 | 地址 | 特长 | addr |
+--------+--------------+---------+--------+--------+--------+
| 1 | 刘一 | 80.000 | 北京 | 2 | NULL |
| 2 | 王二 | 90.000 | 深圳 | 2 | 南京 |
| 3 | 李四 | 60.000 | 上海 | 4 | NULL |
| 4 | 田五 | 99.000 | 南京 | 5 | 南京 |
| 5 | 教授 | 100.000 | 成都 | 3 | 南京 |
| 6 | 小明 | 10.000 | 镇江 | 3 | NULL |
| 7 | 刘二 | 60.000 | 北京 | 2 | NULL |
| 8 | 刘二蛋 | 112.000 | 北京 | 3 | 南京 |
| 9 | 刘小天田 | 112.000 | 北京 | 4 | |
+--------+--------------+---------+--------+--------+--------+
【返回qz1表里得分列最小值】
mysql> select min(得分) from qz1;
+-------------+
| min(得分) |
+-------------+
| 10.000 |
+-------------+
【返回qz1表里得分列最大值】
mysql> select max(得分) from qz1;
+-------------+
| max(得分) |
+-------------+
| 112.000 |
+-------------+
【返回qz1表里得分列平均值】
mysql> select avg(得分) from qz1;
+-------------+
| avg(得分) |
+-------------+
| 80.3333333 |
+-------------+
函数 | 说明 |
---|---|
length(x) | 返回字符串x的长度 |
trim( ) | 返回去除指定格式的值 |
concat(x,y) | 将提供的参数x和y拼接成一个字符串 |
upper(x) | 将字符串x的所有字母变成大写字母 |
lower(x) | 将字符串x的所有字母变成小写字母 |
left(x,y) | 返回字符串x的前y个字符 |
right(x,y) | 返回字符串x的后y个字符 |
repeat(x,y) | 将字符串x重复y次 |
space(x) | 返回x个空格 |
replace(x,y,z) | 将字符串z替代字符串x中的字符串y |
strcmp(x,y) | 比较x和y 返回的值可以为-1,0,1 |
substring(x,y,z) | 获取从字符串x中的第y个位置开始长度为z的字符串 |
reverse(x) | 将字符串x反转 |
【返回字符串qwer的长度】
mysql> select length('qwer');
+----------------+
| length('qwer') |
+----------------+
| 4 |
+----------------+
【返回字符串qw e r的长度。空格也算一个字符】
mysql> select length('qw e r');
+------------------+
| length('qw e r') |
+------------------+
| 6 |
+------------------+
【去掉格式只输出字符串qz】
mysql> select trim(' qz');
+---------------+
| trim(' qz') |
+---------------+
| qz |
+---------------+
【对比用trim函数的显示】
mysql> select ' qz';
+-------+
| qz |
+-------+
| qz |
+-------+
【将字符串qwe和字符串rty拼接起来】
mysql> select concat('qwe','rty');
+---------------------+
| concat('qwe','rty') |
+---------------------+
| qwerty |
+---------------------+
mysql> select concat('qwe',' rty');
+----------------------+
| concat('qwe',' rty') |
+----------------------+
| qwe rty |
+----------------------+
【也可结合其他函数一并使用】
mysql> select concat('qwe',trim(' rty'));
+----------------------------+
| concat('qwe',trim(' rty')) |
+----------------------------+
| qwerty |
+----------------------------+
【将字符串qwe转换为大写字母】
mysql> select upper('qwe');
+--------------+
| upper('qwe') |
+--------------+
| QWE |
+--------------+
【将字符串QwE转换成小写字母】
mysql> select lower('QwE');
+--------------+
| lower('QwE') |
+--------------+
| qwe |
+--------------+
【返回字符串前5个字母】
mysql> select left('qwertyy',5);
+-------------------+
| left('qwertyy',5) |
+-------------------+
| qwert |
+-------------------+
【返回字符串最后5个字母】
mysql> select right('qwertyy',5);
+--------------------+
| right('qwertyy',5) |
+--------------------+
| ertyy |
+--------------------+
【将字符串的前5个字母和最后4个字母拼接起来】
mysql> select concat(left('qwertyy',5),right('qwertyy',4));
+----------------------------------------------+
| concat(left('qwertyy',5),right('qwertyy',4)) |
+----------------------------------------------+
| qwertrtyy |
+----------------------------------------------+
【重复字符串3次】
mysql> select repeat('qwe',3);
+-----------------+
| repeat('qwe',3) |
+-----------------+
| qweqweqwe |
+-----------------+
【返回5个空格。因为显示无法看出具体几个空格,所以这里用length函数显示字符串长度】
mysql> select length(space(5));
+------------------+
| length(space(5)) |
+------------------+
| 5 |
+------------------+
【用ea替换字符take sqsy中的sq】
mysql> select replace('take sqsy','sq','ea');
+--------------------------------+
| replace('take sqsy','sq','ea') |
+--------------------------------+
| take easy |
+--------------------------------+
【比较15和16,若小于返回-1,等于返回0,大于返回1。只会返回这3个值。比较的是第一位数字】
mysql> select strcmp(15,16);
+---------------+
| strcmp(15,16) |
+---------------+
| -1 |
+---------------+
mysql> select strcmp(16,16);
+---------------+
| strcmp(16,16) |
+---------------+
| 0 |
+---------------+
mysql> select strcmp(17,16);
+---------------+
| strcmp(17,16) |
+---------------+
| 1 |
+---------------+
mysql> select strcmp(17,7);
+--------------+
| strcmp(17,7) |
+--------------+
| -1 |
+--------------+
【返回从字符串中第2个字符开始的5个字符】
mysql> select substring('take easy',2,5);
+----------------------------+
| substring('take easy',2,5) |
+----------------------------+
| ake e |
+----------------------------+
【将字符串进行反转显示】
mysql> select reverse('take easy');
+----------------------+
| reverse('take easy') |
+----------------------+
| ysae ekat |
+----------------------+
【返回字符串的前2个字符,然后进行反转显示】
mysql> select reverse(left('take easy',2));
+------------------------------+
| reverse(left('take easy',2)) |
+------------------------------+
| at |
+------------------------------+
【先将字符串反转,然后再输出前2个字符】
mysql> select left(reverse('take easy'),2);
+------------------------------+
| left(reverse('take easy'),2) |
+------------------------------+
| ys |
+------------------------------+
函数 | 说明 |
---|---|
curdate( ) | 返回当前时间的年月日 |
curtime( ) | 返回当前时间的时分秒 |
now( ) | 返回当前时间的日期和时间 |
year(x) | 返回日期x中的年份值 |
month(x) | 返回日期x中的月份值 |
week(x) | 返回日期x是年度第几个星期 |
hour(x) | 返回x中的小时值 |
minute(x) | 返回x中的分钟值 |
second(x) | 返回x中的秒钟值 |
dayofweek(x) | 计算日期x是本周的第几天 在MySQL数据库中返回的1是星期日 |
dayofmonth(x) | 计算日期x是本月的第几天 |
dayofyear(x) | 计算日期x是本年的第几天 |
【返回年月日】
mysql> select curdate();
+------------+
| curdate() |
+------------+
| 2021-04-24 |
+------------+
【返回当前时间】
mysql> select curtime();
+-----------+
| curtime() |
+-----------+
| 22:18:39 |
+-----------+
【返回当前完整时间】
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2021-04-24 22:19:30 |
+---------------------+
【返回日期2020-8-10中年份值】
mysql> select year('2020-8-10');
+-------------------+
| year('2020-8-10') |
+-------------------+
| 2020 |
+-------------------+
【返回日期2020-8-10是年度第几个月】
mysql> select month('2020-8-10');
+--------------------+
| month('2020-8-10') |
+--------------------+
| 8 |
+--------------------+
【返回日期2020-8-10是年度第几个星期】
mysql> select week('2020-8-10');
+-------------------+
| week('2020-8-10') |
+-------------------+
| 32 |
+-------------------+
【返回当前时间的小时】
mysql> select hour(curtime());
+-----------------+
| hour(curtime()) |
+-----------------+
| 22 |
+-----------------+
【返回当前时间的分钟】
mysql> select minute(curtime());
+-------------------+
| minute(curtime()) |
+-------------------+
| 26 |
+-------------------+
【返回当前时间的秒】
mysql> select second(curtime());
+-------------------+
| second(curtime()) |
+-------------------+
| 14 |
+-------------------+
【计算当前日期是本年的第几天】
mysql> select dayofyear(curtime());
+----------------------+
| dayofyear(curtime()) |
+----------------------+
| 114 |
+----------------------+
【计算当前日期是本月的第几天】
mysql> select dayofmonth(curtime());
+-----------------------+
| dayofmonth(curtime()) |
+-----------------------+
| 24 |
+-----------------------+
【计算当前日期是本周的第几天】
mysql> select dayofweek(curtime());
+----------------------+
| dayofweek(curtime()) |
+----------------------+
| 7 |
+----------------------+
mysql> delimiter $$ 【定义结束符】
mysql> create procedure qq() 【创建存储过程(过程名)】
-> begin 【开启存储过程】
-> create table qz3(id int(8),name char(10),score int(15));
-> insert into qz3 values(1,'lisi',11);
-> select * from qz3; 【过程体】
-> end $$ 【结束存储过程】
mysql> delimiter ; 【分号前有空格】
mysql> call qq(); 【调用存储过程】
+------+------+-------+
| id | name | score |
+------+------+-------+
| 1 | lisi | 11 |
+------+------+-------+
mysql> delimiter @@
mysql> create procedure qz4(in in_name varchar(14)) 【行参】
-> begin
-> select q_id,q_name,q_level from qz1 where q_name=in_name;
-> end @@
mysql> delimiter ;
mysql> call qz4('aaa');
+------+--------+---------+
| q_id | q_name | q_level |
+------+--------+---------+
| 1 | aaa | 15 |
+------+--------+---------+
mysql> call qz4('bbb'); 【实参】
+------+--------+---------+
| q_id | q_name | q_level |
+------+--------+---------+
| 2 | bbb | 25 |
+------+--------+---------+
mysql> show procedure status\G; 【查看存储过程】
mysql> show create procedure qq\G; 【查看qq存储过程】
mysql> alter procedure qz4 modifies sql data sql security invoker; 【修改存储过程】
【modifies sql data:表明子程序包含写数据的语句】
【security:安全等级】
【invoker:定义为invoker时表示只要执行者有执行权限,就可以成功执行】
mysql> drop procedure if exists qz4; 【删除存储过程】
Query OK, 0 rows affected (0.06 sec)
mysql> show create procedure qz4\G;
ERROR 1305 (42000): PROCEDURE qz4 does not exist
ERROR:
No query specified
前言 只有Innodb和myisam存储引擎能用全文索引(innodb支持全文索引是从mysql5.6...
一条SQL查询语句在经过MySQL查询优化器处理后会生成一个所谓的执行计划,这个执...
罗斯—霍尔维茨判据 文章目录 **罗斯—霍尔维茨判据** 前言 问题引入 系统特征方...
合肥光源储存环束流三维参数测量系统的初步结果1 上轮维护查线后后来接上纽扣电...
Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、...
学姐A 美国某高校 雅思 7 大三上准备考 GRE 口语题库自己录音流畅 写作传统总分...
今天在做项目时,在页面中用ajax返回了另一个页面,突然发现返回页面中的表格把...
ajax分页效果图如下: 首先,先看 HTML 代码和 CSS 代码,我们需要一个 table 和...
深读5G发展的趋势带给我的感受 重要合作 现在无人驾驶市场愈演愈烈5G在期中发挥...
所谓缓存其实就是在内存中开辟一个用来保存数据的空间,使用缓存你就不用频繁的...