mysql处理ip地址的2个方法:inet_aton 与 inet_ntoa

mysql处理ip地址的2个方法:inet_aton 与 inet_ntoa

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 |
+—-+———–+————+

利用inet_ntoa查询

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 |
+—-+———–+—————-+

要发表评论,您必须先登录