日期函数:
SELECT
#系统日期,yyyy-mm-dd HH:mi:ss
SYSDATE(),
#系统日期,yyyy-mm-dd
CURDATE(),
#系统日期,yyyy-mm-dd HH:mi:ss
NOW(),
#计算日期是星期几
DAYNAME(NOW()),
DATE('2019-1-1 01:11:11'),
STR_TO_DATE(
'2019-1-1 01:11:11',
'%Y-%m-%d %H:%i:%s'
),
#格式化日期
DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'),
#day1-day2的天数
DATEDIFF('2019-1-1', NOW()),
#日期变化 type:MICROSECOND、SECOND、MINUTE、HOUR、DAY、WEEK、MONTH、QUARTER、YEAR、YEAR_MONTH以下的两两组合
DATE_ADD(NOW(), INTERVAL - 3 DAY)
FROM
DUAL;
运行结果:
`SYSDATE()` = '2019-08-03 17:25:11',
`CURDATE()` = '2019-08-03',
`NOW()` = '2019-08-03 17:25:11',
`DAYNAME(NOW())` = 'Saturday',
`DATE('2019-1-1 01:11:11')` = '2019-01-01',
`STR_TO_DATE(
'2019-1-1 01:11:11',
'%Y-%m-%d %H:%i:%s'
)` = '2019-01-01 01:11:11',
`DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')` = '2019-08-03 17:25:11',
`DATEDIFF('2019-1-1', NOW())` = '-214',
`DATE_ADD(NOW(), INTERVAL - 3 DAY)` = '2019-07-31 17:25:11'
复制表结构和数据:
(一) 只复制表结构,包括主键、索引,但不会复制表数据
create table tb1 like tb2;
(二) 只复制表结构,不包括主键、索引,不会复制表数据
#通过where条件不成立不复制数据,只复制表结构
create table tb1 select * from tb2 where 1=0;
(三) 复制表的大体结构及全部数据,不会复制主键、索引等
#sql1
create table tb1 select * from tb2;
#sql2
create table tb1 as select * from tb2;
(四) 复制表的大体结构及全部数据,包括复制主键、索引等
create table tb1 like tb2;
#tb1和tb2字段顺序一致
insert into tb1 select * from tb2;
#tb1和tb2字段不一致
insert into tb1(col1,col2...) select col1,col2... from tb2;