常用mysql語句積累
阿新 • • 發佈:2018-12-19
檢視當前的連線數
show status like '%Threads_connected%';
檢視系統變數及其值
SHOW VARIABLES
檢視myql的當前時間,使用者,版本
select NOW(),USER(),VERSION();
檢視全域性系統變數
SHOW GLOBAL VARIABLES
狀態變數
狀態變數可以使我們及時瞭解MySQL伺服器的執行狀況,可以使用show status語句檢視。狀態變數和相同變數似,也分為全域性級和會話級,show status也支援like匹配查詢,比較大的不同是狀態變數只能由MySQL伺服器本身設定和修改,對於使用者來說是隻讀的,不可以通過SET語句設定和修改它們。
複製表
1. 使用 SHOW CREATE TABLE 命令獲取建立資料表(CREATE TABLE) 語句,該語句包含了原資料表的結構,索引等。
2. 複製以下命令顯示的SQL語句,修改資料表名,並執行SQL語句,通過以上命令 將完全的複製資料表結構。
3. 如果你想複製表的內容,你就可以使用 INSERT INTO ... SELECT 語句來實現。
使用 GROUP BY 來讀取資料表中不重複的資料:
mysql> SELECT last_name, first_name
-> FROM person_tbl
-> GROUP BY (last_name, first_name);
如果你想刪除資料表中的重複資料,你可以使用以下的SQL語句:
mysql> CREATE TABLE tmp SELECT last_name, first_name, sex
-> FROM person_tbl;
-> GROUP BY (last_name, first_name, sex);
mysql> DROP TABLE person_tbl;
mysql> ALTER TABLE tmp RENAME TO person_tbl;
獲取當前是時間及日期
CURDATE() 獲取單前的日期 2017-09-05
NOW() 獲取當前的日期時間 2017-09-05 12:59:36
當前日期作加減法
ADDDATE(CURDATE(),INTERVAL -1 DAY) //減法
ADDDATE(CURDATE(),INTERVAL 1 DAY) //加法
date_add(createTime, interval 15 minute)
資料表中新增一個偽列
這裡的type就是做出來的偽列,原表中並沒有
select '1' as type,URL,RESOURCE,MAIN TITLE,DATE_FORMAT(s.c_time,'%Y-%m-%d %H:%i') createtime from show_notice_list
執行有則更新,無則新增
INSERT INTO user_message_setting (...) VALUES (...) ON DUPLICATE KEY UPDATE...
判斷時間在一個時間段之間 可以採用 between and
DATE_FORMAT(now(),'%Y-%m-%d %H:%i:%s') BETWEEN DEAL_TIME and LOST_TIME