huijial 发表于 2018-9-28 09:08:44

MySQL如何处理ip类型数据

  但凡涉及到网络应用的数据库项目,几乎都涉及到了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)

页: [1]
查看完整版本: MySQL如何处理ip类型数据