1. 程式人生 > >MySQL相關小技巧

MySQL相關小技巧

分享幾個很實用的MySQL相關技巧:

1. MySQL中有許多很實用的函式,好好利用它們可以省去很多時間:

group_concat() 將取到的值用逗號連線,可以這麼用:

select group_concat(distinct id) from table;

得到的結果類似為: 1,2,3,4,5

unix_timestamp(), to_days(), now() 這三個函式都是與日期相關的函式,主要用於處理mysql中timestamp類似的資料,可以用於與unix時間戳轉換以及比較

select now(), unix_timestamp(now()), to_days(now());

inet_aton(), inet_ntoa() 這個就不多說了,ip網路位元組序列轉換函式

select inet_aton('127.0.0.1'), inet_ntoa(2130706433);

2. 在操作資料庫中很多時候可能會出現字元亂碼的情況,這種情況主要是因為資料表使用的編碼和資料庫預設的編碼不一致所造成的,可以利用以下語句改變編碼:

set names utf8

利用以下語句檢視資料表相關資訊:

show create table your_table;

3. 許多時候在啟動MySQL時候會出現

Can't connect to local MySQL server through socket 
'/var/mysql/mysql.sock'

當出現錯誤的時候去看下錯誤日誌吧,很快就可以解決的。

4.查詢前N條紀錄

select * from TABLENAME limit N

5.按日期分組查詢

select from_days(to_days(ts)),count(distinct master) from log where type='xx' group by to_days(ts);

6.查詢某表中所有欄位的字符集

show full columns from tablename;

附:mysql支援的時間處理函式
DATE_ADD()、DATE_SUB()、TO_DAYS()、FROM_DAYS()、STR_TO_DATE()、CURRENT_TIMESTAMP()、UNIX_TIMESTAMP()、FROM_UNIXTIME()