《MYSQL教程Mysql怎樣存儲(chǔ)IP地址》要點(diǎn):
本文介紹了MYSQL教程Mysql怎樣存儲(chǔ)IP地址,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
導(dǎo)讀:在Mysql中并沒有提供針對(duì)IP地址存儲(chǔ)的數(shù)據(jù)格式,在開發(fā)中我們可以選擇使用char、varchar、int來(lái)存儲(chǔ),根據(jù)mysql字段類型選擇的規(guī)則:字段類...
在Mysql中并沒有提供針對(duì)IP地址存儲(chǔ)的數(shù)據(jù)格式,在開發(fā)中我們可以選擇使用char、varchar、int來(lái)存儲(chǔ),根據(jù)mysql字段類型選擇的規(guī)則:字段類型定義使用最合適(最小)、最簡(jiǎn)單的數(shù)據(jù)類型,優(yōu)先選擇使用int類型來(lái)存儲(chǔ),其在邏輯運(yùn)算上也要比char、varchar更快
int類型存儲(chǔ)IP地址
在Mysql中提供了兩個(gè)函數(shù),用來(lái)把IP地址與數(shù)字類型的相互轉(zhuǎn)化
inet_aton():把IP地址轉(zhuǎn)化為數(shù)字
這種算法其實(shí)借用了國(guó)際上對(duì)各國(guó)IP地址的區(qū)分中使用的ip number.
a.b.c.d 的ip number是:
a 256的3次方 + b 256的2次方 + c 256的1次方 + d 256的0次方.
mysql> select inet_aton('255.255.255.255');
+------------------------------+
| inet_aton('255.255.255.255') |
+------------------------------+
|?????????????????? 4294967295 |
+------------------------------+
1 row in set (0.00 sec)
inet_ntoa():把數(shù)字轉(zhuǎn)化成IP地址
mysql> select inet_ntoa(4294967295);
+-----------------------+
| inet_ntoa(4294967295) |
+-----------------------+
| 255.255.255.255?????? |
+-----------------------+
1 row in set (0.00 sec)
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/5770.html