MySQL常用内置函数
字符串处理函数
*concat(s1,s2,…Sn) 连接s1,s2..Sn为一个字符串
*length(str) 返回值为字符串str 的长度
数值函数
*abs(x) 返回x的绝对值
*round(x,y)返回参数x的四舍五入的有y位小数的值
日期和时间函数
*now() 返回当前日期和时间,
*unix_timestamp(date) 返回date时间的unix时间戳
*date_fomat(date,fmt) 返回按字符串fmt格式化日期date值
*datediff(expr,expr2) 返回起始时间和结束时间的间隔天数
//统计时间戳647583423距离当前时间相差天数(生日天数(不考虑年份))
mysql> select datediff(date_format(from_unixtime(647583423),"2017-%m-%d %h:%i:%s"),now());
其他常用函数
*database() 返回当前数据库名
version() 返回当前服务器版本
user() 返回当前登陆用户名
inet_aton 返回当前IP地址的数字表示 inet_aton("192.168.80.250");
inet_ntoa(num) 返回当前数字表示的ip inet_ntoa(3232256250);
*password(str) 返回当前str的加密版本
*md5(str) 返回字符串str的md5值
– // 查看“慢查询”的配置信息
show variables like “%slow%”;
– // 查看“慢查询”的时间定义
show variables like “long%”;
– //设置“慢查询”的时间定义
set long_query_time=0.2;
– //开启慢日志
set global slow_query_log=‘ON’;
mysql> show variables like ‘%slow%’;
±--------------------------±-------------------------------------------+
| Variable_name | Value |
±--------------------------±-------------------------------------------+
| log_slow_admin_statements | OFF |
| log_slow_slave_statements | OFF |
| slow_launch_time | 2 |
| slow_query_log | OFF |
| slow_query_log_file | /var/lib/mysql/yc-virtual-machine-slow.log |
±--------------------------±-------------------------------------------+
mysql> show variables like “long%”;
±----------------±----------+
| Variable_name | Value |
±----------------±----------+
| long_query_time | 10.000000 |
±----------------±----------+
1 row in set (0.00 sec)
定位执行效率较低的SQL语句
-
explain select * from table where id=1000;
-
desc select * from table where id=1000;
*************************** 1. row ***************************
id: 1
select_type: SIMPLE(简单查询,不是多表查询和复杂查询) 可能的值:simple,primary,union,dependent union,union result
table: php114(表名)
type: ALL() 可能的值:system,const(最优化,使用了主键或者唯一健),eq_ref,ref.ref_or_null,index_merge
possible_keys: NULL 显示可能应用在这张表中的索引。如果为null,则表示没有可能的索引
key: NULL() 实际使用的索引key_len: NULL() mysql使用的索引长度
ref: NULL 显示使用哪个列或者常数与key一起从表中选择行
rows: 6 mysql执行查询的行数,简单且重要,数值越大越不好,说明没有用好索引
Extra: 包含mysql解决查询的详细信息
1 row in set (0.00 sec)