Mysql 中如何記錄某語句執行的時間
Mysql 中如何記錄某語句執行的時間?
1、開啟和關閉
mysql>set profiling=1;
mysql>set profiling=0;
information_schema 的 database 會建立一個PROFILING 的 table 記錄.
2、執行一些語句
mysql>show databases;
mysql>use information_schema;
3、查詢語句執行時間
mysql>show profiles;
mysql>help show profiles 獲得更多提示
sql語句中日期時間類型怎么比較
一.存儲日期的字段為日期類型
MySql(Date、DateTime、TimeStamp等):
方法一:直接比較
select * from test where create_time between '2015-03-03 17:39:05' and '2016-03-03 17:39:52';
方法二:用unix_timestamp函數,將字符型的時間,轉成unix時間戳
select * from test where unix_timestamp(create_time) >
unix_timestamp('2011-03-03 17:39:05') and unix_timestamp(create_time)
個人覺得這樣比較更踏實點兒。
Oracle(Date,TimeStamp等):
方法一:將字符串轉換為日期類型
select * from test where create_time between to_date('2015-03-03 17:39:05') and to_date('2016-03-03 17:39:52');
二.存儲日期類型的字段為數值類型
MySql(bigint):
方法一:將日期字符串轉換為時間戳
select * from test where create_time >unix_timestamp('2011-03-03
17:39:05') and create_time方法二:將時間戳轉換為日期類型
select * from test where from_unixtime(create_time/1000) between '2014-03-03 17:39:05' and '2015-03-03 17:39:52');
mysql數據庫的時間周期是怎樣的
Mysql中經常用來存儲日期的數據類型有三種:Date、Datetime、Timestamp。
Date數據類型:用來存儲沒有時間的日期。Mysql獲取和顯示這個類型的格式為“YYYY-MM-DD”。支持的時間范圍為“1000-00-00”到“9999-12-31”。
Datetime類型:存儲既有日期又有時間的數據。存儲和顯示的格式為 “YYYY-MM-DD HH:MM:SS”。支持的時間范圍是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。
Timestamp類型:也是存儲既有日期又有時間的數據。存儲和顯示的格式跟Datetime一樣。支持的時間范圍是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。
所有不符合上面所述格式的數據都會被轉換為相應類型的0值。(0000-00-00或者0000-00-00 00:00:00)
在mysql語句中,怎么把時間戳轉為時間
在mysql語句中,怎么把時間戳轉為時間?
mysql 中把時間戳轉換成普通時間,使用FROM_UNIXTIME函數
一、FROM_UNIXTIME函數簡介
1、函數作用:將MYSQL中以INT(11)存儲的時間以"YYYY-MM-DD"格式來顯示。
2、語法:FROM_UNIXTIME(unix_timestamp,format)
返回表示 Unix 時間標記的一個字符串,根據format字符串格式化。format可以包含與DATE_FORMAT()函數列出的條目同樣的修飾符。
根據format字符串格式化date值。
mysql語句查詢最近7天的日期
這可能需要自定義一個過程procedure了
delimiter $$
drop procedure if exists wk;
create procedure wk()
begin
declare i int;
set i = 1;
while i <= 7 do
select date_add(date_sub("2018-09-03",interval 7 day),interval i day)
set i = i + 1;
end while;
end $$
delimiter ;
call wk();注意
date_sub()是減少日期的函數
date_add()是增加日期的函數
mysql中如何設置默認時間為當前時間
MySQL 中,默認值無法使用函數 也就是你無法 設置某一列,默認值是 NOW () 這樣的處理 假如需要 某列的默認值為 當前數據庫時間,那么可以使用 TIMESTAMP 數據類型。
插入的時候,忽略該列 即可。dt TIMESTAMP 等價于 dt TIMESTAMP default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP create table testB ( id int PRIMARY KEY, val varchar(10), dt TIMESTAMP ); INSERT INTO testB(id, val) VALUES(1, 'A'); INSERT INTO testB(id, val) VALUES(2, 'B'); SELECT * FROM testB;+----+------+---------------------+ | id | val | dt |+----+------+---------------------+ | 1 | A | 2013-03-21 14:24:20 | | 2 | B | 2013-03-21 14:24:21 |+----+------+---------------------+2 rows in set (0.00 sec) UPDATE testB SET val = 'C' WHERE id = 1; SELECT * FROM testB;+----+------+---------------------+ | id | val | dt |+----+------+---------------------+ | 1 | C | 2013-03-21 14:28:02 | | 2 | B | 2013-03-21 14:24:21 |+----+------+---------------------+2 rows in set (0.00 sec) 假如僅僅需要 插入時記錄時間, 更新的時候不需要, 那么需要修改表定義方式:TIMESTAMP not null default CURRENT_TIMESTAMP create table testC ( id int PRIMARY KEY, val varchar(10), dt TIMESTAMP not null default CURRENT_TIMESTAMP ); INSERT INTO testC(id, val) VALUES(1, 'A'); INSERT INTO testC(id, val) VALUES(2, 'B'); SELECT * FROM testC;+----+------+---------------------+ | id | val | dt |+----+------+---------------------+ | 1 | A | 2013-03-21 14:35:12 | | 2 | B | 2013-03-21 14:35:13 |+----+------+---------------------+2 rows in set (0.00 sec) UPDATE testC SET val = 'CC' WHERE id = 1; SELECT * FROM testC;+----+------+---------------------+ | id | val | dt |+----+------+---------------------+ | 1 | CC | 2013-03-21 14:35:12 | | 2 | B | 2013-03-21 14:35:13 |+----+------+---------------------+2 rows in set (0.00 sec)。