MySQL的函数

1 数学函数

2 字符串函数

3 日期和时间函数

4 条件判断函数

5 系统信息函数

6 加密解密函数

7 其他函数

2 字符串函数

length计算的是字节长度

char_length计算的是字符数

mysql> select tname,length(tname),char_length(tname) from t;

题目:某网站有email字段存邮箱地址,想调查163,126,qq,gmail邮箱的比例

 select *,right(email,length(email)-position('@' in email)) from number;



可以修改表结构

把email拆成@前后2部分,放在两个列

题目:

新建一个表,插入如下数据

统计每个周的加班时间

mysql> select sum(num),week(dt) as wk from overtime group by wk;

md5加密算法

1 不可逆

2 碰撞性低

有没用md5重复的不同字符串哪?

答:有,但是寻找的过程,非常艰苦。

系统调试函数

user()函数返回“用户及所在的主机”,判断自己的身份

database(),返回我当前正在操作的库名

version() 查看当前MySQL的版本号

如果MySQL函数和PHP函数都实现某个功能,优先用哪一个?

1 MySQL的函数肯定是要影响查询速度,应该在建表时,通过合理的表结构减少函数的使用。比如email,按照@前后拆分

2 如果确实要用函数,比如时间的格式化,在MySQL里用date_format,在php里用date可以实现,优先放在业务逻辑层,即php层处理。

3 在查询时使用了函数,最大的一个坏处,以date_fromat(A),则A列的索引将无法使用。

如果你针对某列查询,而此列用上了函数判断,此列将不再使用索引。

举例

select name,email from table where right(position(email))='qq.com';

email列是有索引的,可以加快查询速度,但因为你使用的并不是email列,而是函数处理后的email的返回值。因此,email列的查询就非常缓慢了。

总结:where条件中,对某列使用了函数,则此列的索引不发挥作用。

MySQL学习(十一)的更多相关文章

  1. 我的MYSQL学习心得(十一) 视图

    我的MYSQL学习心得(十一) 视图 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  2. 我的MYSQL学习心得(十一)

    原文:我的MYSQL学习心得(十一) 我的MYSQL学习心得(十一) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYS ...

  3. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  4. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  5. 我的MYSQL学习心得(三) 查看字段长度

    我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  6. 我的MYSQL学习心得(四) 数据类型

    我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...

  7. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  8. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  9. 我的MYSQL学习心得(七) 查询

    我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

随机推荐

  1. PHP图片裁剪与缩放示例(无损裁剪图片)

    <?php /* *exif_imagetype -- 判断一个图像的类型 *功能说明:函数功能是把一个图像裁剪为任意大小的图像,并保持图像不变形 *参数说明:输入 需要处理图片的 文件名,生成 ...

  2. maven执行单元测试失败后,继续生成Jacoco&Sonar报告

    为保证生成单元测试覆盖 sonarqube或者jacoco与maven集成时,如果pom文件配置了sonarqube或者Jacoco的相关配置, 那么在pom文件所在目录执行mvn clean ins ...

  3. ORA-38301:can not perform DDL/DML Over Object in Recycle Bin 11.2.0.4

    我们最近有两台测试服务器在oci direct load期间出现下列异常: 从表象上看,是我们在对表执行ddl操作,确实内部也是用了truncate table XXX,可是这个XXX并不是回收站里面 ...

  4. 【Logstash系列】使用Logstash作为收集端采集IIS日志

    现阶段Logstash在Windows端的日志采集一直存在若干问题,包括:   1. LS有读锁:进程开启后Input指定路径下的所有文件都会被锁死无法重命名或删除. 2. LS不识别*:如果在pat ...

  5. oracle基础——内存管理、优化

    内存图解: 自动管理:11g:AMM   10g:ASMM SGA(system global area):由所有服务进程和后台进程共享 PGA(program global area): 由每个服务 ...

  6. opencv学习之路(6)、鼠标截图,滑动条播放视频

    一.鼠标截图 #include<opencv2/opencv.hpp> #include<iostream> using namespace cv; using namespa ...

  7. Codeforces 581F Zublicanes and Mumocrates - 树形动态规划

    It's election time in Berland. The favorites are of course parties of zublicanes and mumocrates. The ...

  8. 单用户模式破解root密码

  9. Linux 字符设备驱动开发基础(二)—— 编写简单 PWM 设备驱动【转】

    本文转载自:https://blog.csdn.net/zqixiao_09/article/details/50858776 版权声明:本文为博主原创文章,未经博主允许不得转载.    https: ...

  10. FJUT seventh的tired树上路径(01字典树)题解

    思路(来自题解): 众所周知树上两个点xy的距离是deep[x]+deep[y]-deep[lca(x,y)]*2 然后我们把这个加减法换成异或,我们就会发现,deep[lca(x,y)]被消掉了 所 ...