mysql sql 常用命令和函数

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

MySQL中时间函数NOW()和SYSDATE()的区别

SELECT NOW(),SYSDATE(),SLEEP(3),NOW(),SYSDATE()

先查询了NOW()和SYSDATE(),然后sleep了3秒,再查询NOW()和SYSDATE()

NOW()还有3个同义词,效果跟NOW()一样,而且都有2种形式写法:


LOCALTIME或LOCALTIME()

LOCALTIMESTAMP或LOCALTIMESTAMP()

CURRENT_TIMESTAMP或CURRENT_TIMESTAMP()


MySQL中判断日期间隔的方法

MySQL中查询一定时间间隔内的数据的方法比较常用,可以使用TO_DAYS、DATE_SUB等函数来实现

TO_DAYS函数的作用是返回指定日期从0年开始计算的天数。

DATE_SUB函数的作用是通过指定日期减去指定间隔时间。

1、今天

SELECT * FROM t1 WHERE TO_DAYS(adddate) = TO_DAYS(CURDATE());

2、昨天

SELECT * FROM t1 WHERE TO_DAYS(CURDATE()) - TO_DAYS(adddate) = 1;

3、最近7天

SELECT * FROM t1 WHERE adddate >= DATE_SUB(CURDATE(),INTERVAL 7 DAY);

4、最近30天

SELECT * FROM t1 WHERE adddate >= DATE_SUB(CURDATE(),INTERVAL 30 DAY);

5、上个月

SELECT * FROM t1 WHERE DATE_FORMAT(adddate,'%Y-%m') = DATE_FORMAT(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m');


MySQL中group_concat()函数的排序方法

group_concat()函数的参数是可以直接使用order by排序的

SELECT username,GROUP_CONCAT(score ORDER BY score DESC) AS myScore FROM t1 GROUP BY username; 一个列有多个值


MySQL中union和order by一起使用的方法

(1)可以将前面一个order by去掉,改成如下:


SELECT * FROM t1 WHERE username LIKE 'l%'

UNION

SELECT * FROM t1 WHERE username LIKE '%m%' ORDER BY score ASC


该sql的意思就是先union,然后对整个结果集进行order by。


(2)可以通过两个查询分别加括号的方式,改成如下

SELECT * FROM

(SELECT * FROM t1 WHERE username LIKE 'l%' ORDER BY score ASC) t3

UNION 

SELECT * FROM

(SELECT * FROM t1 WHERE username LIKE '%m%' ORDER BY score ASC) t4


也就是说,order by不能直接出现在union的子句中,但是可以出现在子句的子句中。


union会过滤掉两个结果集中重复的行,而union all不会过滤掉重复行。


MySQL存储过程中declare和set定义变量的区别

declare定义的类似是局部变量,@set定义的类似全局变量

DROP PROCEDURE IF EXISTS temp;

DELIMITER //

CREATE PROCEDURE temp()

BEGIN

    DECLARE a INT DEFAULT 1;


    SET a=a+1;

    SET @b=@b+1;

    SELECT a,@b;


END

//

DELIMITER ;


会发现a的值不改变,而b的值会一直增加。



本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1915970,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
2月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
|
2月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
2月前
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
354 11
|
2月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
11月前
|
SQL 存储 关系型数据库
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。
|
SQL 存储 关系型数据库
MySQL下使用SQL命令进行表结构与数据复制实践
MySQL下使用SQL命令进行表结构与数据复制实践
272 0
|
SQL 关系型数据库 MySQL
MySQl数据库第八课-------SQL命令查询-------主要命脉2
MySQl数据库第八课-------SQL命令查询-------主要命脉
215 0
|
SQL 关系型数据库 MySQL
MySQl数据库第八课-------SQL命令查询-------主要命脉 1
MySQl数据库第八课-------SQL命令查询-------主要命脉
218 0
|
SQL 存储 开发框架
MySQl数据库第六课-------SQl命令的延续------快来看看
MySQl数据库第六课-------SQl命令的延续------快来看看
195 0
|
SQL 存储 NoSQL
MySQl数据库第五课 --------在SQl的简单命令--------学习学习
MySQl数据库第五课 --------在SQl的简单命令--------学习学习
140 0

推荐镜像

更多