1. 程式人生 > >常用mysql語句積累

常用mysql語句積累

檢視當前的連線數

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