1、用mysql內(nèi)置函數(shù)轉(zhuǎn)換ip地址和數(shù)字 利用兩個內(nèi)置函數(shù) inet_aton:將ip地址轉(zhuǎn)換成數(shù)字型 inet_ntoa:將數(shù)字型轉(zhuǎn)換成ip地址
2、充分利用mysql內(nèi)置的format函數(shù) 尤其是在處理字符格式的時候,例如將12345轉(zhuǎn)換成12,345這樣的,只要用:format(12345,0)即可,如果用format(12345,2)則顯示的是12,345.00了...
3、利用mysql的內(nèi)置函數(shù)處理時間戳問題 eg : select FROM_UNIXTIME(UNIX_TIMESTAMP(),'%Y %D %M %h:%i:%s %x'); 結(jié)果: 2004 3rd August 03:35:48 2004
4、利用mysql_convert_table_format轉(zhuǎn)換表類型 需要DBI和DBD的mysql相關(guān)模塊支持才能用,例子: mysql_convert_table_format --user=root --password='xx' --type=myisam test yejr
5、修改mysql表中的字段名 alter table tb_name change old_col new_col definition...
6、利用臨時變量 select @var1:=a1+a2 as a_sum,@var2:=b1+b2 as b_sum,@var1+@var2 as total_sum from test_table xxx;
7、用int類型存儲ip地址 原先錯誤的認為必須用bigint才夠,后來發(fā)現(xiàn)使用int unsigned類型就足夠了。 :)
8、CREATE TABLE IF NOT EXISTS ... select 語法局限 盡管只是對目標表的insert操作,但是‘居然’不允許源表的insert操作,真是莫名其妙
9、利用IF函數(shù)快速修改ENUM字段值 一個例子: update rule set enable = if('0' = enable,'1','0') where xxx; enable 類型:enum('0','1') not null default '0'
10、事務(wù)無法嵌套
11、避免長時間的sleep連接造成的連接數(shù)超出問題 設(shè)定全局變量 wait_timeout 和 interactive_timeout 為比較小的值,例如 10(s),就能使每個sleep連接在10s之后如果還沒有查詢的話自動斷開。
(http://www.fanqiang.com)
|