MySQL tips (日期时间操作/concat 等)

时间:2022-10-21 06:09:28

1.  Query结尾要加一个分号;

2.  数据库和表

SHOW DATABASES;    USE YOUR_DB;

SHOW TABLES;

SHOW COLUMNS FROM study或者DESCRIBE study;  -- 显示字段信息

SHOW processlist;

3. 日期时间处理

(1)  NOW()

(2) MySQL 为日期增加一个时间间隔:date_add() / adddate(), addtime()

set @dt = now();

select date_add(@dt, interval 1 day); - 加1天   =  SELECT ADDDATE(NOW(), 1)

select date_add(@dt, interval 1 hour); -加1小时

select date_add(@dt, interval 1 minute); - 加1分钟

select date_add(@dt, interval 1 second); -加1秒

select date_add(@dt, interval 1 microsecond);-加1毫秒

select date_add(@dt, interval 1 week);-加1周

select date_add(@dt, interval 1 month);-加1月

select date_add(@dt, interval 1 quarter);-加1季

select date_add(@dt, interval 1 year);-加1年

(3) period_add(P,N), period_diff(P1,P2)  都是对月份进行的操作。 (YYYYMM或者YYMM)

(4) datediff(date1,date2), timediff(time1,time2)

4. 字符串操作

(1) CONCAT(Concatenate)

CONCAT拼接字符串
    SELECT CONCAT('HELLO', ' WORLD') AS expr

GROUP_CONCAT可以和GROUP BY语句一起用

SELECT GROUP_CONCAT(name) AS names FROM xxx
   SELECT GROUP_CONCAT(name) AS names FROM xxx
GROUP BY yy
   >将符合条件的同一列中的不同行数据拼接, 以逗号分隔
   >names返回的是blob类型, 在java中需要特殊处理, 否则出错:
   No Dialect mapping for JDBC type:
   或者将其转化为varchar类型
   SELECT TRIM(GROUP_CONCAT(name)) AS names FROM
xxx

5. SQLyog

MySQL GUI 桌面工具,可以在服务器的帮助下,连接上MySQL,进行界面化的操作。

Navicat

6. 建表语句经典例子

create table eagle_metric_dmeta
(
tutorial_id INT NOT NULL AUTO_INCREMENT,                     -- 自增长
`uuid` varchar(254) COLLATE utf8_bin NOT NULL,               -- 关键字做字段名,要加 ``  ;  utf8 声明
`timestamp` bigint(20) DEFAULT NULL,
drillDownPaths mediumtext,
aggFunctions mediumtext,
defaultDownSamplingFunction mediumtext,
defaultAggregateFunction mediumtext,
resolutions mediumtext,
downSamplingFunctions mediumtext,
storeType mediumtext,
displayName mediumtext,
PRIMARY KEY (`uuid`), -- 主键
UNIQUE KEY `uuid_UNIQUE` (`uuid`) -- 唯一性约束
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; -- utf8 声明

7. 查看表结构以及表数据等;

1) show tables like ’%table%‘;  -- 列出匹配的表

2) limit 10\G 可以逐条展示;

8. 替换字符串

replace(content,'\t','')