select distinct Code , Date(BeginTime) as AtDate
from Session
where DATE_SUB(CURDATE(), INTERVAL 1 MONTH) = date(BeginTime)
date()
返回时间中的日期
DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
当前日期减去1个月
distinct 去掉重复数据
------------------------------------------------------
show processlist 中的ID栏显示。
KILL [CONNECTION | QUERY] thread_id
每个与mysqld的连接都在一个独立的线程里运行,您可以使用SHOW PROCESSLIST语句查看哪些线程正在运行,并使用KILL thread_id语句终止一个线程。
------------------------------------------------------
select BeginTime , Count(distinct code)
from Session s1
where To_days(BeginTime) >= To_days('2011-01-14')
and To_days(BeginTime) <= To_days('2011-02-14')
and AppCode = 'StoneAge'
and code in
(
select distinct code
from Session s2
where To_days(s2.BeginTime) <= To_days(s1.BeginTime) - 1
and To_days(s2.BeginTime) >= To_days(s1.BeginTime) - 1
)
group by To_days(BeginTime)
To_days(s2.BeginTime)
返回日期的天数
update Card set expiration=date_add(bindDate , interval 1 year)
where expiration='0000-00-00'
date_add(bindDate , interval 1 year)
当前日期加1年
select * from role
where id between 2 and 3
查询两个数之间的数据,但包括ID为2和ID为3的数据
select TIME_TO_SEC(TIMEDIFF('2011-03-03 23:23:23' ,'2011-02-01 23:23:23'))
TIMEDIFF(expr,expr2)
TIMEDIFF() 返回起始时间 expr 和结束时间expr2 之间的时间。 expr 和expr2 为时间或 date-and-time 表达式,两个的类型必须一样。
mysql> SELECT TIMEDIFF('2000:01:01 00:00:00',
-> '2000:01:01 00:00:00.000001');
-> '-00:00:00.000001'
mysql> SELECT TIMEDIFF('1997-12-31 23:59:59.000001',
-> '1997-12-30 01:01:01.000002');
-> '46:58:57.999999'
TIME_TO_SEC(time)
返回已转化为秒的time参数。
mysql> SELECT TIME_TO_SEC('22:23:00');
-> 80580
mysql> SELECT TIME_TO_SEC('00:39:38');
-> 2378
周统计
select DATE_FORMAT(incomingTime,'%x %v') as weekCount , count(0) as dateCount , min(date(incomingTime)) as minDate , max(date(incomingTime)) as maxDate
from CallHistory WHERE uid <> '000.000' and date(incomingTime) <= '2011-09-04' and date(incomingTime) >= '2008-07-28'
GROUP BY weekCount
order by incomingTime
----下面是没有经过测试的--------------------------------------------------------------------------------------------------------------------------
* TIMESTAMP(expr) , TIMESTAMP(expr,expr2)
对于一个单参数,该函数将日期或日期时间表达式 expr 作为日期时间值返回.对于两个参数, 它将时间表达式 expr2 添加到日期或日期时间表达式 expr 中,将theresult作为日期时间值返回。
mysql> SELECT TIMESTAMP('2003-12-31');
-> '2003-12-31 00:00:00'
mysql> SELECT TIMESTAMP('2003-12-31 12:00:00','12:00:00');
-> '2004-01-01 00:00:00'
* TIMESTAMPADD(interval,int_expr,datetime_expr)
将整型表达式int_expr 添加到日期或日期时间表达式 datetime_expr中。 int_expr 的单位被时间间隔参数给定,该参数必须是以下值的其中一个: FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR。
可使用所显示的关键词指定Interval值,或使用SQL_TSI_前缀。例如, DAY或SQL_TSI_DAY 都是正确的。
mysql> SELECT TIMESTAMPADD(MINUTE,1,'2003-01-02');
-> '2003-01-02 00:01:00'
mysql> SELECT TIMESTAMPADD(WEEK,1,'2003-01-02');
-> '2003-01-09'
* TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)
返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。interval 的法定值同TIMESTAMPADD()函数说明中所列出的相同。
mysql> SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');
-> 3
mysql> SELECT TIMESTAMPDIFF(YEAR,'2002-05-01','2001-01-01');
-> -1
* TIME_FORMAT(time,format)
其使用和 DATE_FORMAT()函数相同, 然而format 字符串可能仅会包含处理小时、分钟和秒的格式说明符。其它说明符产生一个NULL值或0。
若time value包含一个大于23的小时部分,则 %H 和 %k 小时格式说明符会产生一个大于0..23的通常范围的值。另一个小时格式说明符产生小时值模数12。
mysql> SELECT TIME_FORMAT('100:00:00', '%H %k %h %I %l');
-> '100 100 04 04 4'
----------------------------------------------
1.复制表结构及数据到新表
CREATE TABLE 新表
SELECT * FROM 旧表
2.只复制表结构到新表
CREATE TABLE 新表
SELECT * FROM 旧表 WHERE 1=2
即:让WHERE条件不成立.
CREATE TABLE 新表
LIKE 旧表 //tianshibao
3.复制旧表的数据到新表(假设两个表结构一样)
INSERT INTO 新表
SELECT * FROM 旧表
4.复制旧表的数据到新表(假设两个表结构不一样)
INSERT INTO 新表(字段1,字段2,.......)
SELECT 字段1,字段2,...... FROM 旧表
转载于:http://zzjnet.blog.51cto.com/323001/63095/
------------------------------------------------
分享到:
相关推荐
MySQL 使用笔记涵盖了许多基础到进阶的操作,是学习和日常工作中不可或缺的一部分。下面将详细解释这些知识点。 **一、MySQL 基本操作** 1. **启动 MySQL 服务**: 使用命令 `net start mysql` 来启动 MySQL 服务。 ...
自己使用mysql笔记。管理密码重置,建库,建表,授权,备份,恢复,遇到一些小问题的处理等汇总。适合新手入门使用查看。
mysql笔记 mysql笔记 mysql笔记 mysql笔记 mysql笔记 mysql笔记 mysql笔记 mysql笔记
这些笔记涵盖了MySQL优化的主要方面,包括查询优化、SQL编写技巧、数据库设计、存储引擎选择、服务器配置、硬件升级、定期维护以及使用各种工具进行监控和调优。通过这些方法,你可以有效地提升MySQL数据库的运行...
数据库 MySQL 学习笔记高级篇.md
黑马MySQL数据库笔记 MySQL数据库笔记是黑马程序员编写的数据库笔记,涵盖了数据库语句的介绍、数据库操作等优秀的操作,旨在帮助读者更好地理解数据库基础。下面是笔记的详细介绍: 数据库介绍 在了解 MySQL ...
尚硅谷的MySQL笔记可能是为了帮助学习者深入理解和掌握MySQL的相关知识而编写的。这份笔记可能包含了从基础概念到高级特性的全面讲解,包括但不限于SQL语言、数据类型、数据库设计、索引、事务处理、视图、存储过程...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,尤其在Web应用程序中被广泛使用。了解并掌握MySQL对于任何想要从事IT行业的人员,尤其是数据管理、开发或系统管理员来说,都是至关重要的技能。 一、为什么学习...
【狂神MySQL笔记】是一份全面且深入的MySQL学习资源,涵盖了从基础到高级的各种MySQL技术知识点。作为数据库领域的核心工具,MySQL因其高效、稳定、开源等特性,被广泛应用于各种规模的企业和项目中。这份笔记旨在...
尚硅谷MySQL高级的视频学习笔记,由本人整理
老杜mysql全套笔记,简单直接,易懂,精简。可读性很好,自己就是学习此笔记,在此分享,坚持就是胜利,程序猿最有耐心,何愁到不了岸呢,赶紧上岸,go go go
MySQL笔记
MySQL学习笔记.chmMySQL学习笔记.chmMySQL学习笔记.chmMySQL学习笔记.chm
这份“MySQL学习笔记”将引导我们深入理解其核心概念和实用技能。 一、MySQL简介 MySQL是一个开源、免费的数据库系统,由瑞典的MySQL AB公司开发,后被Oracle公司收购。它的设计目标是速度、可移植性和简洁性,支持...
【MySQL索引 使用笔记】 MySQL数据库是世界上最流行的开源关系型数据库管理系统之一,其高效的数据查询能力在很大程度上依赖于索引。本笔记将深入探讨MySQL中的索引使用,旨在帮助你提升数据库性能。 1. 索引的...
### MySQL学习笔记1:深入理解内连接与外连接 #### 一、引言 在数据库管理与查询过程中,连接操作是十分常见且重要的一个环节。MySQL作为一种广泛使用的开源关系型数据库管理系统,在处理复杂的多表查询时,提供了...
### MySQL核心技术学习笔记 #### 一、为什么要学习数据库 学习数据库的重要性主要体现在以下几个方面: 1. **持久化数据到本地**:数据库能够将应用程序产生的数据持久化存储在磁盘上,即使系统重启也不会丢失...
笔记目录: P1 day01-02. MySQL 高级 - Linux上安装MySQL P2 day01-03. MySQL 高级 - 启动及登录MySQL P3 day01-04. MySQL 高级 - 索引 - 概述 P4 day01-05. MySQL 高级 - 索引 - 优势和劣势 P5 day01-06. MySQL ...
"狂神说Java"的MySQL笔记可能深入探讨了如何在Java编程环境中与MySQL进行交互,这对于我们理解数据库管理和开发至关重要。以下是对这个主题的详细阐述: 1. **MySQL基础**: - 数据库概念:MySQL是一个用于存储和...
这份"mysql学习笔记.rar"包含的资源旨在帮助初学者和有经验的开发者深入理解和掌握MySQL的相关知识。 首先,"mysql学习笔记.doc"很可能是核心的学习资料,它可能包含了MySQL的基础概念、安装与配置、SQL语言基础、...