mysql中的ip存储与查询
MySQL 提供了两个方法来处理 ip 地址
- inet_aton 把 ip 转为无符号整型 (4-8 位)
- inet_ntoa 把整型的 ip 转为地址
- 插入数据前,先用 inet_aton 把 ip 地址转为整型,可以节省空间,显示数据时,使用 inet_ntoa 把整型的 ip 地址转为地址显示即可
-  select INET_ATON('192.168.0.1'); select INET_NTOA('3232235521');
select 
INET_ATON('192.168.0.1')
select 
INET_NTOA('3232235521') 
建表语句:
CREATE TABLE `test_ip` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `ipstr` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'str类型的ip',
  `ip_aton` bigint DEFAULT NULL COMMENT '转换为无符号之后的ip数据',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;插入语句sql:
INSERT INTO test_ip (ipstr,ip_aton) VALUES ('192.168.0.1',INET_ATON('192.168.0.1'));插入完成后的结果如图:
 

上面的查询sql:
SELECT id,ipstr,ip_aton,INET_NTOA(ip_aton) from test_ip本文来自博客园,作者:diligently,转载请注明原文链接:https://www.cnblogs.com/luo12828-foxmail/p/16963994.html
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号