MySQL和PHP中以整型存储IP地址
正文:将IP地址以整型存储
一般我们在数据库中会用到ip地址用来查记录的等等,而ip地址是分为四段的,一般是用varchar或char类型存储。但是其实有更好的存储方法就是以整型存储IP地址、
因为char和varchar所占字节会比int类型要大,例如:char(16),就占了16个字节,而使用 int类型的时候只占了4字节。假如使用char类型来存储ip地址那么当数据达到1亿
的时候会比使用int类型存储ip地址要多1.8G的存储空间、而且查询速度也会变快、同时也方便比较(between之类的sql语句)。所以在设计数据表结构的时候以int类型存储IP
地址为最佳,且设置符号类型为unsigned的话保证了长度不够的情况,下面用PHP与SQL展示如何将ip地址互相转换。
PHP示例:
//你的ip地址
$user_ip = $_SERVER['REMOTE_ADDR'];
//将获取到的ip地址转换为整型以及无符号格式
$save_ip = sprintf('%u',ip2long($userIp)); //转换整型后的ip地址
echo $save_ip; //将整型的ip地址转换为正常ip地址
echo long2ip($save_ip);
SQL示例:
-- 将ip地址转换为整型
select inet_aton('192.168.1.1'); -- 将整型ip地址转换为正常ip地址
select inet_ntoa('');
就到这里啦,如果觉得博主写的还不错,可以点赞、评论、推荐三连支持下博主,你的三连就是我最大的动力!
MySQL和PHP中以整型存储IP地址的更多相关文章
- JAVA 长整型转换为IP地址的方法
JAVA 长整型转换为IP地址的方法 代码例如以下: /** * 整型解析为IP地址 * @param num * @return */ public static String int2iP(Lon ...
- MySQL存储IP地址操作
数据库数据表创建语法: DROP TABLE IF EXISTS `admin`; CREATE TABLE IF NOT EXISTS `admin`( `adminid` INT UNSIGNED ...
- mysql 存储ip地址
mysql提供了两个方法来处理ip地址: inet_aton 把ip转为无符号整型(4-8位) inet_ntoa 把整型的ip转为电地址 插入数据前,先用inet_aton把ip地址转为整型,可以节 ...
- dateline 在数据库中就是 整型字段。date函数是可以转换成可读日期的。
返回数据中的dateline全部用date()函数转换后再返回,是要嵌套循环还是遍历,代码怎么写? //查询我的活动 function user_activity_info_by_uid($uid){ ...
- CVE-2018-14634 - Linux create_elf_tables()中的整型溢出 - 翻译
原文:https://seclists.org/oss-sec/2018/q3/274 摘要 Qualys研究实验室的安全团队发现一个位于Linux内核函数create_elf_tables()中的整 ...
- 【mysql】MySQL存储IP地址
为什么要问如何存储IP 首先就来阐明一下部分人得反问:为什么要问IP得怎样存,直接varchar类型不就得了吗? 其实做任何程序设计都要在功能实现的基础上最大限度的优化性能.而数据库设计是程序设计中不 ...
- MySQL怎样存储IP地址
为什么要问如何存储IP 首先就来阐明一下部分人得反问:为什么要问IP得怎样存,直接varchar类型不就得了吗? 其实做任何程序设计都要在功能实现的基础上最大限度的优化性能.而数据库设计是程序设计中不 ...
- MySQL如何有效的存储IP地址
前几天,阿淼的一个朋友去面试,他回来告诉我,面试官问他 IP 地址是怎么存在数据库的?他当时也没多想,直接就回答的存字符串啊(心想:这么简单的问题,怕不是看不起我吧) 前面这段权当看看,毕竟 IP地址 ...
- MySQL怎样存储IP地址 IP转数字 互转
MySQL怎样存储IP地址 - cn三少 - 博客园 https://www.cnblogs.com/cnsanshao/p/3326648.html
随机推荐
- 🧑🏻💻数据库简介及Mac平台环境搭建🧑🏻💻
数据库 存储数据的演变过程 如果没有使用数据库,我们自己存放文件,数据格式是千差万别的,完全取决于我们自己,例如: """ # 张三 zhangsan|123|read ...
- Verifying dml pool data
数据出错 ,硬件变动 解决方案: 1.移除外接设备 2.bios还原
- 关于thinkphp5下URL附加参数,无法获取到(?参数)
nginx 配置问题: 修改配置后:
- <OPTEE>Trusted Application结构分析
最近又开始和Trusted Zone打起了交道,需要把Linaro开发的开源安全系统optee os移植到实验室的老板子上.不过导师要求我先开发一个应用,在普通环境和安全环境分别有一个程序,称为hos ...
- iphone手机卡顿解决方案
一.清除 safari缓存 设置->safari浏览器->清除历史记录与网站数据
- JATG引脚定义
JTAG各类接口针脚定义.含义以及SWD接线方式 2018年08月10日 16:04:14 kkwant 阅读数 1165 标签: 接口定义tag 原文地址为:JTAG各类接口针脚定义.含义以及S ...
- numpy中的max和maximum
numpy科学计算包中有两个函数np.max()和np.maximum(),他们的功能截然不同.简单而言即前者作用于ndarray对象,求的是它自身的最大.而后者是一个数学上的取$\max$的效果,它 ...
- android中的逐帧动画
在android中实现动画最简单的一种方式就是使用逐帧动画(AnimationDrawable).逐帧动画的原理同最古老的动画机制是一样的,通过快速的播放一组变化微小的图片,在人眼的视差时间下,达到一 ...
- iOS开发实践-OOM治理
概览 说起iOS的OOM问题大家第一想到的应该更多的是内存泄漏(Memory Leak),因为无论是从早期的MRC还是2011年Apple推出的ARC内存泄漏问题一直是iOS开发者比较重视的问题,比如 ...
- C# 加密、解密PDF文档(基于Spire.Cloud.SDK for .NET)
Spire.Cloud.SDK for .NET提供了接口PdfSecurityApi可用于加密.解密PDF文档.本文将通过C#代码演示具体加密及解密方法. 使用工具: Spire.Cloud.SDK ...