《MYSQL教程Mysql怎樣存儲IP地址》要點:
本文介紹了MYSQL教程Mysql怎樣存儲IP地址,希望對您有用。如果有疑問,可以聯(lián)系我們。
導(dǎo)讀:在Mysql中并沒有提供針對IP地址存儲的數(shù)據(jù)格式,在開發(fā)中我們可以選擇使用char、varchar、int來存儲,根據(jù)mysql字段類型選擇的規(guī)則:字段類...
在Mysql中并沒有提供針對IP地址存儲的數(shù)據(jù)格式,在開發(fā)中我們可以選擇使用char、varchar、int來存儲,根據(jù)mysql字段類型選擇的規(guī)則:字段類型定義使用最合適(最小)、最簡單的數(shù)據(jù)類型,優(yōu)先選擇使用int類型來存儲,其在邏輯運算上也要比char、varchar更快
int類型存儲IP地址
在Mysql中提供了兩個函數(shù),用來把IP地址與數(shù)字類型的相互轉(zhuǎn)化
inet_aton():把IP地址轉(zhuǎn)化為數(shù)字
這種算法其實借用了國際上對各國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)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/5770.html