MySQL深入———数据库函数
MySQL用户界面:
昨天下载了mysql的用户界面软件,然后用软件来练习编写数据库函数。
软件名称是Navicat for MySQL,资源我就不发了,大家可以去<下载吧>下载。
用户界面:
然后连接上了数据库,前几天我用dos编写的teacher表就可以在软件上看到了:
接下来就进入正题了:
mysql深入——数据库函数的练习:
1.聚合函数
select avg(age) from teacher;/*求平均数:select avg(字段名)from表名*/
select count(age) from teacher;/*统计个数函数:select count(字段名)from 表名*/
select min(age),max(age) from teacher;/*求最大最小值:select min(字段名),max(字段名)from表名*/
select sum(age) from teacher;/*求和函数:select sum(字段名) from 表名*/
2.流程控制函数
select case 3 when 1 then '值为1' when 2 then '值为2' else '值为其他' end;/*Case语法:select case value when value1 then result1 when value2 then result2 else result3 end as 别名*/
select if(1<2,'真','假');/*if语法:if(表达式,结果1,结果2)*/
select ifnull(null,2);/*ifnull语法:参数1若是null返回参数2,否则返回参数1*/
select nullif(2,2);/*nullif语法:如果参数1与参数2相等,返回null,否则返回参数1*/
3.字符串函数
select char_length('aaa数据库');/*CHAR_LENGTH():计算字符串长度*/
select length('aaa数据库');/*LENGTH():返回字符串字节长度*/
select format(3.1415926,4);/*format():四舍五入方式保留小数后D位,返回字符串*/
select insert('abcdefgh',2,4,'zzz');/*insert():从(参数2)后(参数3)位用(参数4)代替*/
select instr('abcdefgaa','def');/*返回(参数1)中(参数2)出现的第一个位置*/
select left('abcdefghi',5);/*返回从左边开始计数(参数2)个单位的子字符串*/
select right('abcdefghi',5);/*返回从右边开始计数(参数2)个单位的子字符串*/
select ltrim(' abc ');/*删除字符串左边空格*/
select rtrim(' abc ');/*删除字符串右边空格*/
select trim(' abc ');/*删除字符串前后空格*/
select trim(leading '+++' from '+++abc+++');/*删除左边特定字符*/
select trim(both '+++' from '+++abc+++');/*删除左右特定字符*/
select trim(trailing '+++' from '+++abc+++');/*删除右边特定字符*/
select strcmp(4,3);/*比较两个表达式,相等返回0,大于返回1,小于返回-1*/
select strcmp('abca','abcd');/*当比较的是字符串时候,依次比较字符的ascii码*/
select concat('a','b','c');/*拼接字符串,若是其中任何一个为null,返回Null*/
select substring('abcdefg',3);/*从(参数2)位置开始截取字符串*/
select substring('abcdefg',3,4);/*从截取(参数3)个字符*/
select substring('abcdefg' from 3);/*标准格式同28行*/
select substring('abcdefg' from 3 for 4);/*标准格式同29行*/
4.日期时间函数
select dayofweek('2016-4-26');/*一周中的第几天*/
select dayofyear('2016-4-26');/*一年中的第几天*/
select dayofmonth('2016-4-26');/*一月中的第几天*/
select weekday('2016-4-26');/*工作日索引:周一为0,一次类推*/
select year('2016-4-26');/*返回对应年份*/
select month('2016-4-26');/*返回对应月份*/
select quarter('2016-4-26');/*返回对应季节*/
select hour('22:14:57');/*返回对应小时*/
select minute('22:14:57');/*返回对应分钟*/
select second('22:14:57');/*返回对应秒钟*/
select to_days('2016-4-26');/*从公元到现在的天数*/
select from_days(70000);/*从公元到指定天数的时间*/
select curdate();/*返回当前日期*/
select curtime();/*返回当前时间*/
select now();/*返回当前日期时间*/
更多参考资料:
数据库函数ppt