mysql常用

48 阅读2分钟

-- 查询库中表数据量 SELECT table_name, table_rows FROM information_schema.TABLES WHERE table_schema = '实际库名' ORDER BY table_rows DESC;

-- 生成一个短UUID 28406920373084896 17位 (使用场景例如:大型电商网站订单号、数字资产唯一标识等。) SELECT UUID_SHORT() , LENGTH(UUID_SHORT()) AS len;

-- 时间 转 字符串 SELECT DATE_FORMAT( NOW( ), '%Y-%m-%d %H:%i:%s' ); SELECT DATE_FORMAT( NOW( ), '%Y-%m-%d' ); -- 字符串 转 时间 SELECT STR_TO_DATE( '2023-01-01 10:00:00', '%Y-%m-%d %H:%i:%s' ); -- 时间 转 时间戳 10位 SELECT UNIX_TIMESTAMP( NOW( ) ); -- 字符串 转 时间戳 10位 SELECT UNIX_TIMESTAMP( '2023-01-01 10:00:00' ); -- 时间戳 转 时间 2023-01-01 10:00:00 SELECT FROM_UNIXTIME( 1672538400 ); -- 时间戳转字符串 2023-01-01 SELECT FROM_UNIXTIME( 1672538400, '%Y-%m-%d' );

-- 当前时间(年月日 时分秒) SELECT NOW(); -- 当前年月 SELECT DATE_FORMAT(NOW(), '%Y-%m'); -- 当前年月日 SELECT DATE_FORMAT(NOW(), '%Y-%m-%d'); -- 当前年 SELECT DATE_FORMAT(NOW(), '%Y'); -- 当前月 SELECT DATE_FORMAT(NOW(), '%m'); -- 当前日 SELECT DATE_FORMAT(NOW(), '%d');

-- 当天 某个时间 2023-01-01 02:00:00 SELECT CONCAT(date_format(now(), '%Y-%m-%d'),' 02:00:00') AS customDate; SELECT CONCAT(DATE_FORMAT(NOW(), '%Y-%m-%d'), ' ', STR_TO_DATE('02:00:00', '%H:%i:%s')) AS customDate;

-- 前一天 某个时间 SELECT CONCAT( date_format( now( ) - INTERVAL 1 DAY, '%Y-%m-%d' ), ' 01:00:00' ) AS customDate;

-- 据当前日期时间 上月日期减一天 时间 SELECT date_format( NOW( ) - INTERVAL 1 MONTH - INTERVAL 1 DAY, '%Y-%m-%d %H:%i:%s' ) AS customDate;

-- 生成随机MD5值 小写 9aec81448d3a9956151cc9de1ffe518f 32位 SELECT MD5(UUID()) AS MD5 , LENGTH(MD5(UUID())) AS len; SELECT MD5(RAND()) AS MD5 , LENGTH(MD5(RAND())) AS len;

-- 生成随机MD5值 大写 56E2BF0E1C5C0A6352A02A03B688F9E0 32位 SELECT UPPER(MD5(UUID())) AS MD5 , LENGTH(UPPER(MD5(UUID()))) AS len;

-- 拼接生成随机值 XIWH_6570f4 SELECT CONCAT( 'XIWH_', LEFT ( MD5( RAND( ) ), 6 ) ) AS userName;

-- 随机生成 11位手机号 (批量执行会存在重复手机号 视情况使用) SELECT TRIM(CONCAT('1', ELT(floor(rand() * 6 + 1), '3', '4', '5', '7', '8', '9'), TRIM(CAST(CEILING(RAND() * 900000000 + 100000000) AS CHAR(9))))) AS phone;

-- 随机生成 11位手机号 SELECT CONCAT( '1', CEILING( RAND( ) * 9000000000+1000000000 ) ) AS phone;

-- 查近七天 SELECT * FROM oms_order WHERE order_time BETWEEN date_sub(now(), INTERVAL 1 WEEK) AND now();

-- 查近半年 SELECT * FROM oms_order WHERE order_time BETWEEN date_sub(now(), INTERVAL 6 MONTH) AND now();

-- 查近一年 SELECT * FROM oms_order WHERE order_time BETWEEN date_sub(now(), INTERVAL 1 YEAR) AND now();