1、MySQL中有许多很实用的函数,好好借助它们可以省去好多时间:
group_concat()将取到的值用冒号联接,可以如此用:
selectgroup_concat(distinctid)fromtablename;
得到的结果类似为:1,2,3,4,5
unix_timestamp(),to_days(),now()这三个函数都是与日期相关的函数linux操作系统好吗,主要用于处理mysql中timestamp类似的数据,可以用于与unix时间戳转换以及比较
selectnow(),unix_timestamp(now()),to_days(now());
inet_aton(),inet_ntoa()这个就不多说了,ip网路字节序列转换函数
selectinet_aton(‘127.0.0.1’),inet_ntoa(2130706433);
2、在操作数据库中好多时侯可能会出现字符乱码的情况,这些情况主要是由于数据表使用的编码和数据库默认的编码不一致所引起的,可以借助以下句子改变编码:
setnamesutf8
3、在项目开发中,有时会碰到顾客端添加emoji表情,怎么储存到mysql数据库呢?
方式:
UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而Mysql的utf8编码最多3个字节unix时间戳转换工具,所以数据插不进去。解决方案就是:将Mysql的编码从utf8转换成utf8mb4
(1).更改f
[mysqld]
character-set-server=utf8mb4
[mysql]
default-character-set=utf8mb4
更改后重启Mysql
(2).以root身分登入Mysql,更改环境变量unix时间戳转换工具linux 安装,将
character_set_client,character_set_connection,character_set_database,character_set_results,character_set_server都更改成utf8mb4
(3).将早已建好的表也转换成utf8mb4
altertableTABLE_NAMEconverttocharactersetutf8mb4collateutf8mb4_bin;(将TABLE_NAME替换成你的表名)
4、用以下句子查看数据表相关信息:
showcreatetabletablename;