mysql inet_aton 原理_基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析_MySQL
bitsCN.com
有个统计需求,需要对IP进行分类统计,Mysql提供了inet_aton()和inet_ntoa()函数进程处理。
具体可以查看官方手册。
INET_ATON(expr)给出一个作为字符串的网络地址的点地址表示,返回一个代表该地址数值的整数。地址可以是4或8比特地址。
mysql> select inet_ntoa(3507806248);
+-----------------------+
| inet_ntoa(3507806248) |
+-----------------------+
| 209.20.224.40 |
+-----------------------+
1 row in set (0.00 sec)
产生的数字总是按照网络字节顺序。如上面,数字按照 209×2563 + 207×2562 + 224×2561 + 40 ×2560 进行计算。我们来验算下:
mysql> select 209*POW(256,3)+207*POW(256,2)+224*POW(256,1)+40*POW(256,0);
+------------------------------------------------------------+
| 209*POW(256,3)+207*POW(256,2)+224*POW(256,1)+40*POW(256,0) |
+------------------------------------------------------------+
| 3520061480 |
+------------------------------------------------------------+
1 row in set (0.02 sec)
INET_ATON() 也能理解短格式 IP 地址:
mysql> select inet_aton('127.0.0.1'),inet_aton('127.1');
+------------------------+--------------------+
| inet_aton('127.0.0.1') | inet_aton('127.1') |
+------------------------+--------------------+
| 2130706433 | 2130706433 |
+------------------------+--------------------+
1 row in set (0.00 sec)
可以理解成为中间2为地址默认为0。
注: 在存储由INET_ATON() 产生的值时,推荐你使用 INT UNSIGNED 列。假如你使用 (带符号) INT列, 则相应的第一个八位组大于127的IP 地址值会被截至 2147483647 (即, INET_ATON('127.255.255.255′) 所返回的值)。当然,直接使用bigint更加省事。
INET_NTOA(expr)给定一个数字网络地址 (4 或 8 比特),返回作为字符串的该地址的电地址表示。也就是inet_aton()的反函数。
mysql> select inet_ntoa(3507806248);
+-----------------------+
| inet_ntoa(3507806248) |
+-----------------------+
| 209.20.224.40 |
+-----------------------+
1 row in set (0.00 sec)bitsCN.com
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
mysql inet_aton 原理_基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析_MySQL相关推荐
- mysql研究内容_基于MySQL数据库的数据管理的研究
[摘 要]MySQL 是一种开放源代码的关系型数据库管理系统,MySQL数据库系统使用最常用的数据库管理语言,即结构化查询语言进行数据库管理.缓存管理是对于文件数据在内存中的特殊管理,基于内存管理,向 ...
- Mysql sequence使用_基于Mysql的Sequence实现
团队更换新框架.新的业务全部使用新的框架,甚至是新的数据库--Mysql. 这边之前一直是使用oracle,各种订单号.流水号.批次号啥的,都是直接使用oracle的sequence提供的数字序列号. ...
- mysql优化原理_【MySQL】我必须得告诉你们的MySQL优化原理3(下)INNODB配置
INNODB:使用最广的存储引擎 innodb-buffer-pool-size 若是大部分是InnoDB表,那么InnoDB缓冲池或许比其余任何东西都更须要内存,InnoDB缓冲池缓冲的数据:索引. ...
- mysql注册数据库_基于mysql数据库的注册
前期准备: 1.下载并安装mysql数据库5.X版本即可 2.学习相关的sql语法 3.在lib包导入mysql-connector-java-5.1.38-bin.jar数据库连接的jar包 创建数 ...
- mysql query 原理_[转]MySQL的Query Cache原理
QueryCache(下面简称QC)是根据SQL语句来cache的.一个SQL查询如果以select开头,那么MySQL服务器将尝试对其使用QC.每个Cache都是以SQL文本作为key来存的.在应用 ...
- 考试 mysql 数据库设计_基于MySQL的在线考试系统数据库设计
2017年第8期信息通信2017 (总第176 期)INFORMATION & COMMUNICATIONS (Sum. No 176) 基于M ySQL的在线考试系统数据库设计 陈松楠,侯丽 ...
- 只用mysql实现银行转账_基于mysql数据库银行转账功能实现
import pymysql class TransferMoney(object): # 构造方法 def __init__(self, conn): self.conn = conn self.c ...
- MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结
MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是 ...
- MySQL inet aton函数,基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析
有个统计需求,需要对IP进行分类统计,Mysql提供了inet_aton()和inet_ntoa()函数进程处理. 具体可以 INET_ATON(expr)给出一个作为字符串的网络地址的点地址表示,返 ...
最新文章
- 推荐一个ASP的内容管理框架(ASP Nuke)
- Kali Linux 2020.1快速修改root用户密码
- 计算机配置里面没有网络选项,主编教您win10网络设置中没有wlan选项怎么办
- 差点就被联通客服给营销了...
- 一个利用正则表达式进行代码重构,去除冗余代码的例子
- 安卓自定义时间选择器_微信小程序拾色器(颜色选择器)组件
- 凹入表形式打印树形结构_【树形立方体】立方体有哪些特性?
- SQL Server中关于跟踪(Trace)那点事(转载)
- 连接mysql_spring boot连接mysql提示The server time zone value xxx错误
- 理解证券行业“行业分类
- 访问网站时出现Service Unavailable的解决方法
- 联想 G50-70 关闭无线功能,如何重新启动??
- 四川大学计算机学院优秀毕业论文,(完整版)四川大学本科_毕业论文(设计)_有关规定...
- 机械电钢琴音源 Cinesamples Keyboard In Blue Kontakt
- 数据同步工具kettle
- 前端promise、async重点总结
- 互联网寒冬?软件测试行业饱和了?为何每年还会增加40万测试员?
- 工作被拥抱变化了该怎么办?
- SpringBoot 雪花算法生成商品订单号【SpringBoot系列13】
- 计算机电缆yjv,zr电缆(yjv电缆与zryjv电缆区别)
热门文章
- 区块链研究生专业_“区块链大数据赋能低碳发展”高端研讨活动 在增城低碳总部举行...
- 高中英语完形填空同义词90%选项
- string字符串转换为Date日期格式
- 初识linux之vim工具与bdb调试工具
- ERROR 1062 (23000): ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1'
- 通往天堂的选择问题 python_意识体革命
- 上海Java开发待遇 、上海软件开发待遇、上海项目经理待遇,群硕待遇,爱立信待遇、恒生电子待遇
- 什么是Google Voice
- 微信小程序组件和插件
- 【Bugzilla】我按照bugzilla的官方指导进行的安装。(一)