mysql inet_aton 与 inet_ntoa 方法

2020-7-10 dingshangchao 数据库

mysql提供了两个方法来处理ip地址
inet_aton 把ip转为无符号整型(4-8位)
inet_ntoa 把整型的ip转为电地址

插入数据前,先用inet_aton把ip地址转为整型,可以节省空间,因为char(15) 占16字节。
显示数据时,使用inet_ntoa把整型的ip地址转为电地址显示即可。

例子:

CREATE TABLE `user` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `name` varchar(100) NOT NULL,
 `ip` int(10) unsigned NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB;

插入几条数据

INSERT INTO `user` (`id`, `name`, `ip`) VALUES
(2, 'Abby', inet_aton('192.168.1.1')),
(3, 'Daisy', inet_aton('172.16.11.66')),
(4, 'Christine', inet_aton('220.117.131.12'));

mysql> select * from `user`;
+----+-----------+------------+
| id | name      | ip         |
+----+-----------+------------+
|  2 | Abby      | 3232235777 |
|  3 | Daisy     | 2886732610 |
|  4 | Christine | 3698688780 |
+----+-----------+------------+


查询显示

mysql> select id,name,inet_ntoa(ip) as ip from `user`;
+----+-----------+----------------+
| id | name      | ip             |
+----+-----------+----------------+
|  2 | Abby      | 192.168.1.1    |
|  3 | Daisy     | 172.16.11.66   |
|  4 | Christine | 220.117.131.12 |
+----+-----------+----------------+

网站备案号:京ICP备11043289号-1 北京市公安局网络备案 海1101084571
版权所有 北京育灵童科技发展有限公司 Copyright © 2002-2022 www.elight.cn, All Rights Reserved