您的位置:首页 > 数据库 > MySQL

MySQL如何处理ip类型数据

2011-06-20 11:55 274 查看
但凡涉及到网络应用的数据库项目,几乎都涉及到了ip地址这个数据。一般童鞋都选择varchar(15)来保存ip地址信息,实际上对tcp/ip协议知晓的人都懂,ip地址无非就是一个32位的整形,而常用的书写形式只是便于人们方便阅读。

一般数据库保存数据的时候,但凡往简单方向发展。而整数型比字符串型内部实现相对简单。基于这一点,我们建议实际环境中,应该用32位无符号整数来保存这个ip地址。

实际上,mysql已经提供了直观的ip地址到整数数值的转换函数。INET_ATON()和INET_NTOA即可实现ip地址到整数之间的转换。看例子,如下:

mysql> SELECT INET_ATON('192.168.1.1');

+--------------------------+

| INET_ATON('192.168.1.1') |

+--------------------------+

| 3232235777 |

+--------------------------+

1 row in set (0.00 sec)

mysql> SELECT INET_NTOA(3232235777);

+-----------------------+

| INET_NTOA(3232235777) |

+-----------------------+

| 192.168.1.1 |

+-----------------------+

1 row in set (0.00 sec)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息