首页  >  文章  >  数据库  >  Mysql 中存储IP地址

Mysql 中存储IP地址

WBOY
WBOY原创
2016-06-07 16:42:11990浏览

本文介绍IP字段在mysql数据表中的优化。 创建测试表 mysql create table hosts( - `id` int(8) not null auto_increment, - `ip` int unsigned not null, - `hostname` varchar(30) not null, - `desc` varchar(100) , - PRIMARY KEY(`id`)) ENGINE=InnoDB;Q

本文介绍IP字段在mysql数据表中的优化。

创建测试表

mysql> create table hosts( 
 -> `id` int(8) not null auto_increment,
 -> `ip` int unsigned not null,
 -> `hostname` varchar(30) not null,
 -> `desc` varchar(100) , 
 -> PRIMARY KEY(`id`)) ENGINE=InnoDB;
Query OK, 0 rows affected (0.03 sec)

查看表结构

mysql> desc hosts
 -> ;
+----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+------------------+------+-----+---------+----------------+
| id | int(8) | NO | PRI | NULL | auto_increment |
| ip | int(10) unsigned | NO | | NULL | |
| hostname | varchar(30) | NO | | NULL | |
| desc | varchar(100) | YES | | NULL | |
+----------+------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

插入测试数据

mysql> insert into hosts (`ip`,`hostname`,`desc`) values (inet_aton('192.168.1.106'),'test','this is test host.');
Query OK, 1 row affected (0.03 sec)
mysql> select * from hosts
 -> ;
+----+------------+----------+--------------------+
| id | ip | hostname | desc |
+----+------------+----------+--------------------+
| 1 | 3232235882 | test | this is test host. |
+----+------------+----------+--------------------+
1 row in set (0.00 sec)

查询

mysql> select inet_ntoa(ip) from hosts;
+---------------+
| inet_ntoa(ip) |
+---------------+
| 192.168.1.106 |
+---------------+
1 row in set (0.00 sec)
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn