標籤:
1、MySQL中有許多很實用的函數,好好利用它們可以省去很多時間:
group_concat() 將取到的值用逗號串連,可以這麼用:
select group_concat(distinct id) from tablename;
得到的結果類似為: 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
3、在項目開發中,有時會遇到用戶端添加emoji表情,如何儲存到mysql資料庫呢?
方法:
UTF-8編碼有可能是兩個、三個、四個位元組。Emoji表情是4個位元組,而Mysql的utf8編碼最多3個位元組,所以資料插不進去。解決方案就是:將Mysql的編碼從utf8轉換成utf8mb4
(1).修改my.cnf
[mysqld]
character-set-server=utf8mb4
[mysql]
default-character-set=utf8mb4
修改後重啟Mysql
(2).以root身份登入Mysql,修改環境變數,將
character_set_client,character_set_connection,character_set_database,character_set_results,character_set_server 都修改成utf8mb4
(3).將已經建好的表也轉換成utf8mb4
alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin; (將TABLE_NAME替換成你的表名)
4、用以下語句查看資料表相關資訊:
show create table your_table;
mysql使用小技巧