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. Xcode project 设置相关

    FauxPas 这是一款Mac平台的用于检查Xcode项目的辅助工具 ,可以帮助我们找出常见的错误.隐藏的bug.不良实践以及可维护性问题和风格问题. 一, $(SRCROOT)  :当前工程所在的目 ...

  2. apache安装时的一些术语

    apache源码安装时,需要的哪些必须依赖模块? 主要需要apr, apr-util, pcre模块 其中 apr模块时必须的. 如何卸载 源码安装的软件? 在源码 的 解压目录下, 使用 make ...

  3. Convert DataFrame string complex i to j python // “Cloning” row or column vectors

    https://stackoverflow.com/questions/30808286/convert-dataframe-string-complex-i-to-j-python https:// ...

  4. IDEA配置SVN,Git,GitLab

    集成GitLab插件:http://baijiahao.baidu.com/s?id=1602987918454762059&wfr=spider&for=pc 使用IDEA集成Git ...

  5. cannot open window service on computer '.' in window application

    1.配置错误,需要检查对应的windows service的exe文件所在文件夹下的log 2.在命令行通过Start-Service启动,需要有管理员权限.

  6. 题解——洛谷P2781 传教(线段树)

    可以说是数据结构学傻了的典型案例了 昨天跳到这题上 然后思考了一下 噫!好!线段树裸题 然后打完板子,发现\(  n \le 10^9 \) 显然线段树直接做不太行 然后这题又只有普及的难度 然后我就 ...

  7. 题解——洛谷P4767 [IOI2000]邮局(区间DP)

    这题是一道区间DP 思维难度主要集中在如何预处理距离上 由生活经验得,邮局放在中间显然最优 所以我们可以递推求出\( w[i][j] \)表示i,j之间放一个邮局得距离 然后设出状态转移方程 设\( ...

  8. spring boot + session+redis解决session共享问题

    自己没有亲自试过,不过看了下这个例子感觉靠谱,以后做了测试,在加以说明. PS:后期经验证,上面例子可行.我们平时存session里面的值,直接存在了redis里面了.

  9. HihoCoder 1195 高斯消元·一(高斯消元)

    题意 https://hihocoder.com/problemset/problem/1195 思路 高斯消元是解决高元方程的一种算法,复杂度 \(O(n^3)\) . 过程大致是: 构造一个未知数 ...

  10. Javascript 高级程序设计(第3版) - 第02章

    2017-05-10 更新原文: http://www.cnblogs.com/daysme 在 html 中使用 js 把js代码写在 <script type="text/java ...