set global log_output='table';
-- 查看mysql查询日志位置
show variables like "%general_log%";
-- 查看mysql记录到哪里
show variables like "%log_output%";
-- 设置会话变量的值 查询日志
set global general_log_file='/var/run/mysqld/mysqld.log';
-- 设置记录查询日志
set global general_log='on';
-- 设置关闭查询日志
set global general_log='off';
-- 设置查询日志是文件还是表
set global log_output='file';
set global log_output='table';
-- 查表
select count(*) from mysql.general_log;
select event_time,argument from mysql.general_log
where argument like 'select%' or argument like 'SELECT%'
order by event_time desc limit 20;
select * from mysql.general_log where command_type='Execute' and event_time
between '2016-09-30 18:06:00' and '2016-09-30 18:06:05' limit 100;
-- 清空日志
truncate table mysql.general_log;
================================================
mysql 自动更新字段用法
一、TIMESTAMP的变体
TIMESTAMP时间戳在创建的时候可以有多重不同的特性,如:
1.在创建新记录和修改现有记录的时候都对这个数据列刷新:
?
1
TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
2.在创建新记录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它:
?
1
TIMESTAMP DEFAULT CURRENT_TIMESTAMP
3.在创建新记录的时候把这个字段设置为0,以后修改时刷新它:
?
1
TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
4.在创建新记录的时候把这个字段设置为给定值,以后修改时刷新它:
?
1
TIMESTAMP DEFAULT ‘yyyy-mm-dd hh:mm:ss' ON UPDATE CURRENT_TIMESTAMP
MySQL目前不支持列的Default 为函数的形式,如达到你某列的默认值为当前更新日期与时间的功能,你可以使用TIMESTAMP列类型,下面就详细说明TIMESTAMP列类型
二、TIMESTAMP列类型
TIMESTAMP值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。
TIMESTAMP值显示尺寸的格式如下表所示:
+---------------+----------------+
| 列类型 | 显示格式 |
| TIMESTAMP(14) | YYYYMMDDHHMMSS |
| TIMESTAMP(12) | YYMMDDHHMMSS |
| TIMESTAMP(10) | YYMMDDHHMM |
| TIMESTAMP(8) | YYYYMMDD |
| TIMESTAMP(6) | YYMMDD |
| TIMESTAMP(4) | YYMM |
| TIMESTAMP(2) | YY |
+---------------+----------------+
分享到:
2017-12-15 00:19
浏览 729
分类:数据库
评论