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 10G 可以逐条展示;
8. 替换字符串
replace(content,' ','')