Mysql函数、语句
一:日期函数:
日期函数:
SELECT CURDATE(); # 2018-07-07
SELECT CURTIME(); # 11:28:24
SELECT NOW(); # 2018-07-07 11:28:24
SELECT SYSDATE(); # 2018-07-07 11:28:24
SELECT UNIX_TIMESTAMP(NOW()); # 1530934104(秒),将日期转为long值,单位是秒
select UNIX_TIMESTAMP('2018/8/2 19:47:02'); # 1533210422(秒) 日期字符串 -> long值(秒)
SELECT FROM_UNIXTIME(1530934104, '%Y年%m月%d日 %H:%i:%S') # 2018-07-07 11:28:24,将long值转换为特定的日期格式
# 格式化输出日期: Y代表年, M代表月, D代表日
SELECT DATE_FORMAT(now(), "%Y年%m月%d日") # 2018年07月24日,将日期字符串格式化为特定的日期格式
二:语句顺序
mysql不能先排序,再分組
三:常用语句
1. 显示创建表的sql:
show create table r_user_test
2. 创建备份表:
drop table if exists e_book_backup; create table e_book_bak select * from e_book;
3. 在生产上执行创建表的sql:
DROP TABLE IF EXISTS `r_user_test`;
CREATE TABLE `r_user_test` (
`id` int(18) NOT NULL AUTO_INCREMENT,
`nick` varchar(200) NOT NULL COMMENT '昵称',
`create_timestamp` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
4. 根据一张表创建另一张表
复制表结构及数据到新表:CREATE TABLE 新表 SELECT * FROM 旧表
CREATE TABLE e_book_new SELECT * FROM e_book
等价于:
CREATE TABLE e_book_new LIKE e_book; // 复制完整的表结构 INSERT INTO e_book_new SELECT * FROM e_book; // 复制表数据
四:数据迁移
mysql的数据存放路径:
show global variables like "%datadir%";
结果:C:\ProgramData\MySQL\MySQL Server 8.0\Data\
五:常用函数
concat函数:字符串拼接
GROUP_CONCAT函数:将分组中的值拼接成一个字符串,以逗号分隔
select wind_code, GROUP_CONCAT(distinct alias) from test WHERE time_date >= '2019-01-01 00:00:00' group by wind_code