mysql 常用空间函数_MySQL- 常用的MySQL函数,指令等

这篇博客介绍了MySQL中查看版本、处理日期时间的方法,包括DATE_SUB和DATE_ADD函数用于获取过去和未来的日期,DATE_FORMAT用于格式化日期,以及CAST和CONVERT进行类型转换。此外,还讲解了如何查询重复数据、插入数据到另一表、截取字符串以及查询表空间大小和空表。

MySQL查看版本:

status;

或者

select version(); //select @@version

MySQL昨天, 一周前 ,一月前 ,一年前的数据 这里主要用到了  DATE_SUB(date,INTERVAL expr unit)

select DATE_SUB(NOW(),INTERVAL 1DAY);select DATE_SUB(NOW(),INTERVAL 1WEEK);select DATE_SUB(NOW(),INTERVAL 1MONTH);select DATE_SUB(NOW(),INTERVAL 1 YEAR);

MySQL增加日期  DATE_ADD(date,INTERVAL expr unit)

select DATE_ADD(date,INTERVAL expr unit)

MySQL格式化日期  DATE_FORMAT(date,format)

SELECT DATE_FORMAT(NOW(),'%Y-%m');

SELECT DATE_FORMAT(NOW(),'%Y')

%S, %s 两位数字形式的秒( 00,01, ..., 59)

%I, %i 两位数字形式的分( 00,01, ..., 59)

%H 两位数字形式的小时,24 小时(00,01, ..., 23)

%h 两位数字形式的小时,12 小时(01,02, ..., 12)

%k 数字形式的小时,24 小时(0,1, ..., 23)

%l 数字形式的小时,12 小时(1, 2, ..., 12)

%T 24 小时的时间形式(hh:mm:ss)

%r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM)

%p AM或PM

%W 一周中每一天的名称(Sunday, Monday, ..., Saturday)

%a 一周中每一天名称的缩写(Sun, Mon, ..., Sat)

%d 两位数字表示月中的天数(00, 01,..., 31)

%e 数字形式表示月中的天数(1, 2, ..., 31)

%D 英文后缀表示月中的天数(1st, 2nd, 3rd,...)

%w 以数字形式表示周中的天数( 0 = Sunday, 1=Monday, ..., 6=Saturday)

%j 以三位数字表示年中的天数( 001, 002, ..., 366)

%U 周(0, 1, 52),其中Sunday 为周中的第一天

%u 周(0, 1, 52),其中Monday 为周中的第一天

%M 月名(January, February, ..., December)

%b 缩写的月名( January, February,...., December)

%m 两位数字表示的月份(01, 02, ..., 12)

%c 数字表示的月份(1, 2, ...., 12)

%Y 四位数字表示的年份

%y 两位数字表示的年份

%% 直接值“%”

MySQL类型转换 CAST 和 CONVERT

MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值

selectCAST(expr AS type)select CONVERT(expr,type)

类型必须是以下类型:

可用的类型:

二进制,同带binary前缀的效果 : BINARY

字符型,可带参数 : CHAR()

日期 : DATE

时间: TIME

日期时间型 : DATETIME

浮点数 : DECIMAL

整数 : SIGNED

无符号整数 : UNSIGNED

查询重复数据

select type,raw,auth ,report_type from category_shop_auth GROUP BY raw,auth,report_type HAVING COUNT(1)>1

将一个表的数据查询出来导入另一个表

insert into no_error.category_shop_auth(type,raw,auth,report_type) select type,raw,auth,report_type from mapping.category_shop_auth ORDER BY report_type,type

截取字符串

1、从左开始截取字符串

left(str, length)

说明:left(被截取字段,截取长度)

例:select left(title,10) as tran_date from mytable

2、从右开始截取字符串

right(str, length)

说明:right(被截取字段,截取长度)

例:select right(title,10) as tran_date from mytable

3、截取字符串substring(str, 'target')

substring(str, 'target', length)

说明:substring(被截取字段,从第几位开始截取)

substring(被截取字段,从第几位开始截取,截取长度)

例:select substring(str,10) from mytable

select substring(str,8,10) from mytable

(注:如果位数是负数 如-5 则是从后倒数位数,到字符串结束或截取的长度)

年月转日期

需要用concat做字符串拼接,不然纯数字会最加减的

select STR_TO_DATE(CONCAT('2018-01','-01'),'%Y-%m-%d') from dual

MySql查看每个表占用空间大小

以吉比特为单位

use information_schema;selectconcat(round(sum(DATA_LENGTH/1024/1024/1024),2),'G') from tables where table_schema='数据库名' AND table_name='表名'

以兆比特为单位

use information_schema;select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from tables where table_schema='数据库名' AND table_name='表名'

查询数据库里面的空表

sUSEinformation_schema;--Mysql 一个数据库所有有数据的表

SELECT table_schema,table_name,table_rows FROM TABLES WHERE table_rows != 0 ORDER BY table_rows DESC;--Mysql 一个数据库中所有为空的表

SELECT table_schema,table_name,table_rows FROM TABLES WHERE table_rows = 0 ORDER BY table_name ;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值