mysql 常用函数以及常见查询语句

MySQL 常用函数

1、数据库中取昨天的日期

mysql> select date_sub(current_date(),interval 1 day);
+-----------------------------------------+
| date_sub(current_date(),interval 1 day) |
+-----------------------------------------+
| 2016-01-11                              |
+-----------------------------------------+
1 row in set (0.00 sec)

2、数据库中取明天的日期

mysql> select date_add(current_date(),interval 1 day) ;
+-----------------------------------------+
| date_add(current_date(),interval 1 day) |
+-----------------------------------------+
| 2016-01-13                              |
+-----------------------------------------+
1 row in set (0.00 sec)

3、IPV4和整形之间相互转化

mysql> select inet_aton(‘192.168.2.18‘);
+---------------------------+
| inet_aton(‘192.168.2.18‘) |
+---------------------------+
|                3232236050 |
+---------------------------+
1 row in set (0.00 sec)

mysql> select inet_ntoa(3232236050);
+-----------------------+
| inet_ntoa(3232236050) |
+-----------------------+
| 192.168.2.18          |
+-----------------------+
1 row in set (0.00 sec)

4、日期转化为UNIXTIME

mysql> select unix_timestamp(‘2016-01-12 11:22:23‘);
+---------------------------------------+
| unix_timestamp(‘2016-01-12 11:22:23‘) |
+---------------------------------------+
|                            1452568943 |
+---------------------------------------+
1 row in set (0.00 sec)

5、UNIXTIME转化为日期

mysql> select from_unixtime(1452568943);
+---------------------------+
| from_unixtime(1452568943) |
+---------------------------+
| 2016-01-12 11:22:23       |
+---------------------------+
1 row in set (0.00 sec)

MySQL 常用查询语句

1、csv文件导出导入

## 将数据导出成csv
select * from myid into outfile ‘/tmp/test.sql‘;
## 将csv导入到表中
load data local infile ‘/tmp/test.sql‘ ignore into table NL_U_MOBILE_URI_TEST fields terminated by ‘\t‘ lines terminated by ‘\n‘;

2、使用profile分析sql的执行过程

mysql> set profiling=1;

mysql> select  sum(error_count) as error_count, mobile_app_version_id as mobile_app_version_id from NL_MOB_APP_ERROR_TRACE where  timestamp >= ‘2015-05-27 09:00:00‘ AND timestamp < ‘2015-06-03 09:00:00‘ and error_code in (  904  )  and request_url_id = -859289307 and mobile_app_id = 6589  group by mobile_app_version_id order by error_count desc;

mysql> show profiles;
mysql> select state,sum(duration) as Total_R, round(100*sum(duration)/(select sum(duration) from information_schema.profiling where [email protected]_id),2) as Pct_R, count(*) as Calls, sum(duration)/count(*) as "R/Call" from information_schema.profiling where [email protected]_id group by state order by Total_R desc;
+--------------------------------+------------+-------+-------+----------------+
| state                          | Total_R    | Pct_R | Calls | R/Call         |
+--------------------------------+------------+-------+-------+----------------+
| Copying to tmp table           | 149.779769 | 99.41 |     1 | 149.7797690000 |
| statistics                     |   0.893111 |  0.59 |     1 |   0.8931110000 |
| System lock                    |   0.000117 |  0.00 |     2 |   0.0000585000 |
| checking query cache for query |   0.000090 |  0.00 |     1 |   0.0000900000 |
| Opening tables                 |   0.000062 |  0.00 |     1 |   0.0000620000 |
| removing tmp table             |   0.000051 |  0.00 |     1 |   0.0000510000 |
| freeing items                  |   0.000049 |  0.00 |     1 |   0.0000490000 |
| init                           |   0.000048 |  0.00 |     1 |   0.0000480000 |
| Creating tmp table             |   0.000044 |  0.00 |     1 |   0.0000440000 |
| optimizing                     |   0.000039 |  0.00 |     1 |   0.0000390000 |
| preparing                      |   0.000039 |  0.00 |     1 |   0.0000390000 |
| closing tables                 |   0.000036 |  0.00 |     1 |   0.0000360000 |
| Sorting result                 |   0.000022 |  0.00 |     1 |   0.0000220000 |
| starting                       |   0.000020 |  0.00 |     1 |   0.0000200000 |
| Sending data                   |   0.000016 |  0.00 |     1 |   0.0000160000 |
| Opening table                  |   0.000013 |  0.00 |     1 |   0.0000130000 |
| logging slow query             |   0.000011 |  0.00 |     2 |   0.0000055000 |
| checking permissions           |   0.000008 |  0.00 |     1 |   0.0000080000 |
| end                            |   0.000006 |  0.00 |     2 |   0.0000030000 |
| Waiting on query cache mutex   |   0.000006 |  0.00 |     2 |   0.0000030000 |
| query end                      |   0.000004 |  0.00 |     1 |   0.0000040000 |
| cleaning up                    |   0.000002 |  0.00 |     1 |   0.0000020000 |
| executing                      |   0.000002 |  0.00 |     1 |   0.0000020000 |
| Waiting for query cache lock   |   0.000002 |  0.00 |     2 |   0.0000010000 |
+--------------------------------+------------+-------+-------+----------------+

mysql> set profiling=0;
时间: 2024-12-04 07:35:18

mysql 常用函数以及常见查询语句的相关文章

MySQL 常用30种SQL查询语句优化方法

1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描.如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from

MySQL常用30种SQL查询语句优化方法请慢用!

1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描.如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from

PDMS二次开发之PML开发一些常见查询语句

1.查找session 以及session number var !DBname DBname !db = object db(!DBname) !session = !db.lastsession() 下面是查询结果截图 q var !db q var !sessioon.number 2.从某个时间段到当前,模型的差异文件判断模型是否发生修改,并写入文件. alpha log /$!file  overwrite DIFFERENCE $!ojbName SINCE 15:36 14 May

7 mysql常用函数

1  查看数据库版本 2  查看当前数据库 3  查看当前登录用户名 4  返回字符串的str的加密版本,41位长的字符串.此函数只用来设置系统用户的密码,不能用来对应用数据进行加密.如果应用有加密方面的需求,可以使用md5 5   MD5加密 7 mysql常用函数 原文地址:https://www.cnblogs.com/sunnybowen/p/9926495.html

nodejs Sequelize 简单查询语句和 mysql常用的几个查询命令

我是前端,但总有需求让做后端的活,所以顺带着熟悉了下简单的查询语句 贴出来,如果有需要可以参考下,备注很详细,就不多解释了废话不多说贴代码: #去除unionid 重复的搜索结果 #query_resultsign 表名 select *, count(unionid) from query_resultsign where issign='false' group by unionid ; #去除unionid 重复的搜索结果 #query_resultsign 表名 select *, co

MYSQL常用函数以及如何操作数据

-- [SQL语句的组成] -- DML数据操作语言 (插入.修改和删除数据库中的数据) INSERT UPDATE DELETE -- DQL数据查询语言 (用来查询数据库中的数据) SELECT -- DCL数据控制语言 (用来控制存取许可.存取权限等) GRANT  REVOKE -- DDL数据定义语言 (用来建立数据库.数据库对象和定义表的列) CREATE DROP USE mydb; CREATE TABLE IF NOT EXISTS tb2( id INT UNSIGNED P

[转]mysql常用函数

转自:http://sjolzy.cn/Common-functions-mysql.html 控制流函数 IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境. mysql> select IFNULL(1,0); -> 1 mysql> select IFNULL(0,10); -> 0 mysql> select IFNULL(1/0,

MYsql系统函数和联合查询

函数是SQL里的关键字,用于对字段里的数据进行操作.函数是一个命令,通常与字段名称或者是表达式联合使用,处理输入的数据并产生结果 常用函数 控制函数 字符串函数 数学函数 日期时间函数 汇总函数 CASE SUBSTRING ABS DATEDIFF AVG IF LEFT FLOOR DATE_ADD COUNT NULLIF LENGTH RAND STR_TO_DATE MAX IFNULL LOWER   DATE_FORMAT MIN   REPLACE     SUM   CONCA

oracle数据库内置函数之数值函数、字符函数、日期函数、转换函数及其在查询语句中的运用

数值函数: 1.四舍五入函数round() from dual:一行一列组成 select round(23.4) from dual;--默认不写m表示m为0 select round(23.45,1) from dual;--1表示保留小数点后一位,那么是小数点的第二位四舍五入 select round(23.45,-1) from dual;---1表示小数点前一位四舍五入取整,前一位是3四舍五入为20 2.取整函数: select ceil(23.45),floor(23.45) fro