美文网首页IT技术篇
MysSql 存储ip地址

MysSql 存储ip地址

作者: 游戏原画设计 | 来源:发表于2019-01-08 18:37 被阅读0次

mysql提供了两个方法来处理ip地址:

inet_aton把ip转为无符号整型(4-8位)inet_ntoa把整型的ip转为电地址

插入数据前,先用inet_aton把ip地址转为整型,可以节省空间。

显示数据时,使用inet_ntoa把整型的ip地址转为电地址显示即可。为社么这样存?,性能上的提示比直接存储字符串的IP要高出很多。

示例:

CREATETABLE`t_user`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(15)DEFAULTNULLCOMMENT'用户名',`ip`bigint(20)DEFAULTNULLCOMMENT'IP地址', PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci;

插入几条数据:

INSERTINTO`t_user`(`id`,`name`,`ip`)VALUES(2,'babala',inet_aton('127.0.0.1') ), (3,'maly',inet_aton('192.168.1.1') ), (4,'kaven',inet_aton('111.175.7.143') );

查询显示地址:

select id,name,inet_ntoa(ip) as ip from`t_user`;

如果需要找出在某个网段的用户(例如:192.168.1.1 ~ 192.168.1.100),可以利用php的ip2long方法,把ip地址转为整型,再进行比较。

$ip_start ='192.168.1.1';$ip_end ='192.168.1.100';echosprintf('%u',ip2long($ip_start)).PHP_EOL;// 3232235777echosprintf('%u',ip2long($ip_end)).PHP_EOL;// 3232235876

总结

1.保存ip地址到数据库,使用unsigned int格式,插入时使用inet_aton方法把ip先转为无符号整型,可以节省存储空间。

2.显示时使用inet_ntoa把整型ip地址转为电地址。

3.php 使用 ip2long转ip为整型时,需要注意出现负数的问题(如果出现负数:参照之前我写的这篇)

每天都在分享文章,也每天都有人想要我出来给大家分享下怎么去学习Java。大家都知道,我们是学Java全栈的,大家就肯定以为我有全套的Java系统教程。没错,我是有Java全套系统教程,进扣裙【47】974【9726】所示,进群的时候记得表明自己想要学习什么,不要用小号,这样小编才好给你们发定向资源,今天小编就免费送!~

“我们相信人人都可以成为一个程序员,现在开始,找个师兄,带你入门,学习的路上不再迷茫。这里是ja+va修真院,初学者转行到互联网行业的聚集地。"

相关文章

  • MysSql 存储ip地址

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

  • MySQL 存储IP地址

    ip 地址(ipv4格式) 127.0.0.1 如果用 varchar 存储,需要占用 15 个字节如果用 uns...

  • mysql优化

    一、IP地址转换 使用unsigned int(10)存储ip地址,使用函数inet_ntoa()进行数字转IP,...

  • 有了ip为什么还需要mac(未完待续)

    ip、mac介绍 ip地址是可变化的(自己设置或者dhcp),mac地址是全球唯一的;(ip是存储在计算机的存储器...

  • suricata 声誉

    1.IP声誉 IP信誉组件的目的是Suricata引擎中IP地址的排名。它将收集,存储,更新和分发IP地址上的信誉...

  • Mysql怎样存储IP地址

    Mysql怎样存储IP地址 概述 在Mysql中并没有提供针对IP地址存储的数据格式,在开发中我们可以选择使用ch...

  • MySQL有效的存储IP地址

    本文仅供笔者平日学习笔记之用,侵删作者:鸭血粉丝链接:https://mp.weixin.qq.com/s/P_w...

  • MySQL学习笔记-如果要存ip地址,用什么数据类型比较好

    当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNED INT)来存储IP地址,而不是使用字符串。 相...

  • 安卓如何是ip地址生效的

    突破点,已知ip地址存储在 ipconfig.txt。通过搜索代码,知道 EthernetConfigStore....

  • MySQL相关优化操作

    SHOW PROCESSLIST显示哪些线程正在运行 存储IP地址尽量用整型,不要用字符,可以减少存储空间,可以通...

网友评论

    本文标题:MysSql 存储ip地址

    本文链接:https://www.haomeiwen.com/subject/iyvbrqtx.html