mysql深入——数据库函数

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

时间: 2024-08-29 02:42:26

mysql深入——数据库函数的相关文章

Discuz!X/数据库函数操作方法

Discuz!X/数据库函数操作方法  DB::table($tablename)获取正确带前缀的表名,转换数据库句柄, DB::delete($tablename, 条件,条数限制)删除表中的数据 DB::insert($tablename, 数据(数组),是否返回插入ID,是否是替换式,是否silent)插入数据操作 DB::update($tablename, 数据(数组)条件)更新操作 DB::fetch(查询后的资源)从结果集中取关联数组,注意如果结果中的两个或以上的列具有相同字段名,

PHPexcel 导入import 数据到 mysql: mysql 查询数据是否存在, 如果存在返回id, 不存在, 插入返回id. 2) mysql_query , mysql_connect, mysql_select_db, mysql_error, mysql_num_rows,mysql_close

一: 要求: 上面的图表 中的数据插入到 3张表中. 1)t_vide_warehourse 分类表: 此表中包含 一级分类 和二级分类.  二级分类是一级分类的子级. 2)t_video_info   包名表 此表 管理  第一张表.   并且 只有 第二次分类 才可以有 包 名 . 一个二级分类下 可以  有多个包. 3)t_video_file  文件表. 此表 关联 第二张表;   一个  包 下  可以 有多个文件. ----------------------------------

mysql大数据高并发处理(转)

一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. 在一个系统分析.设计阶段,因为数据量较小,负荷较低.我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程. 所以在考虑整个系统的流程的时候,我们必须

Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问

本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这部分内容需要以下Jar包支持 mysql-connector:MySQL数据库连接驱动,架起服务端与数据库沟通的桥梁: MyBatis:一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架: log4j:Apache的开源项目,一个功能强大的日志组件,提供方便的日志记录: 修改后的pom.xm

javaweb学习总结(三十四)——使用JDBC处理MySQL大数据

一.基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像.声音.二进制文等. 在实际开发中,有时是需要用程序把大文本或二进制数据直接保存到数据库中进行储存的. 对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为: TINYTEXT.TEXT.MEDIUMTEXT和LONGTEXT TINYBLOB.BLOB.MEDIUMBLOB和L

不同mysql版本数据导入出现的问题

原mysql的版本是:3.4.10.1deb1,目标mysql的版本是:5.0.51b-community-nt-log,导入数据时出现了一下问题: 1.DELIMITER You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER //' at line 1 goog

mysql 的数据文件

mysql的数据文件 由于mysql的数据文件结构主要跟mysql的存储引擎相关,这里不做过多解释,具体查看各个引擎章节的内容 .首先上一段小辉老师的教程; 在MySQL 中每一个数据库都会在定义好(或者默认)的数据目录下存在一个以数据库名字命名的文件夹,用来存放该数据库中各种表数据文件. 1.“.frm”文件 与表相关的元数据(meta)信息都存放在“.frm”文件中,包括表结构的定义信息等.不论是什么存储引擎,每一个表都会有一个以表名命名的“.frm”文件. 2.“.MYD”文件 “.MYD

MYSQL导入数据:Table XXX doesn&#39;t exist的解决

数据表为Innodb引擎 data文件夹中存在数据表的frm文件,但在phpmyadmin中看不到这些表,于是采用导入sql文件的方式进行恢复 1.直接导入原数据表的sql文件,原frm文件不删除 出错:#1146 - Table 'eticket.et_admin' doesn't exist 2.删除原frm文件,刷新phpmyadmin,再导入该数据表的sql文件 出错:#1146 - Table 'eticket.et_admin' doesn't exist 3.删除原frm文件,重启

javaweb(三十四)——使用JDBC处理MySQL大数据

一.基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像.声音.二进制文等. 在实际开发中,有时是需要用程序把大文本或二进制数据直接保存到数据库中进行储存的. 对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为: TINYTEXT.TEXT.MEDIUMTEXT和LONGTEXT TINYBLOB.BLOB.MEDIUMBLOB和L