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相关推荐

  1. mysql研究内容_基于MySQL数据库的数据管理的研究

    [摘 要]MySQL 是一种开放源代码的关系型数据库管理系统,MySQL数据库系统使用最常用的数据库管理语言,即结构化查询语言进行数据库管理.缓存管理是对于文件数据在内存中的特殊管理,基于内存管理,向 ...

  2. Mysql sequence使用_基于Mysql的Sequence实现

    团队更换新框架.新的业务全部使用新的框架,甚至是新的数据库--Mysql. 这边之前一直是使用oracle,各种订单号.流水号.批次号啥的,都是直接使用oracle的sequence提供的数字序列号. ...

  3. mysql优化原理_【MySQL】我必须得告诉你们的MySQL优化原理3(下)INNODB配置

    INNODB:使用最广的存储引擎 innodb-buffer-pool-size 若是大部分是InnoDB表,那么InnoDB缓冲池或许比其余任何东西都更须要内存,InnoDB缓冲池缓冲的数据:索引. ...

  4. mysql注册数据库_基于mysql数据库的注册

    前期准备: 1.下载并安装mysql数据库5.X版本即可 2.学习相关的sql语法 3.在lib包导入mysql-connector-java-5.1.38-bin.jar数据库连接的jar包 创建数 ...

  5. mysql query 原理_[转]MySQL的Query Cache原理

    QueryCache(下面简称QC)是根据SQL语句来cache的.一个SQL查询如果以select开头,那么MySQL服务器将尝试对其使用QC.每个Cache都是以SQL文本作为key来存的.在应用 ...

  6. 考试 mysql 数据库设计_基于MySQL的在线考试系统数据库设计

    2017年第8期信息通信2017 (总第176 期)INFORMATION & COMMUNICATIONS (Sum. No 176) 基于M ySQL的在线考试系统数据库设计 陈松楠,侯丽 ...

  7. 只用mysql实现银行转账_基于mysql数据库银行转账功能实现

    import pymysql class TransferMoney(object): # 构造方法 def __init__(self, conn): self.conn = conn self.c ...

  8. MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结

    MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是 ...

  9. MySQL inet aton函数,基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析

    有个统计需求,需要对IP进行分类统计,Mysql提供了inet_aton()和inet_ntoa()函数进程处理. 具体可以 INET_ATON(expr)给出一个作为字符串的网络地址的点地址表示,返 ...

最新文章

  1. 推荐一个ASP的内容管理框架(ASP Nuke)
  2. Kali Linux 2020.1快速修改root用户密码
  3. 计算机配置里面没有网络选项,主编教您win10网络设置中没有wlan选项怎么办
  4. 差点就被联通客服给营销了...
  5. 一个利用正则表达式进行代码重构,去除冗余代码的例子
  6. 安卓自定义时间选择器_微信小程序拾色器(颜色选择器)组件
  7. 凹入表形式打印树形结构_【树形立方体】立方体有哪些特性?
  8. SQL Server中关于跟踪(Trace)那点事(转载)
  9. 连接mysql_spring boot连接mysql提示The server time zone value xxx错误
  10. 理解证券行业“行业分类
  11. 访问网站时出现Service Unavailable的解决方法
  12. 联想 G50-70 关闭无线功能,如何重新启动??
  13. 四川大学计算机学院优秀毕业论文,(完整版)四川大学本科_毕业论文(设计)_有关规定...
  14. 机械电钢琴音源 Cinesamples Keyboard In Blue Kontakt
  15. 数据同步工具kettle
  16. 前端promise、async重点总结
  17. 互联网寒冬?软件测试行业饱和了?为何每年还会增加40万测试员?
  18. 工作被拥抱变化了该怎么办?
  19. SpringBoot 雪花算法生成商品订单号【SpringBoot系列13】
  20. 计算机电缆yjv,zr电缆(yjv电缆与zryjv电缆区别)

热门文章

  1. 区块链研究生专业_“区块链大数据赋能低碳发展”高端研讨活动 在增城低碳总部举行...
  2. 高中英语完形填空同义词90%选项
  3. string字符串转换为Date日期格式
  4. 初识linux之vim工具与bdb调试工具
  5. ERROR 1062 (23000): ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1'
  6. 通往天堂的选择问题 python_意识体革命
  7. 上海Java开发待遇 、上海软件开发待遇、上海项目经理待遇,群硕待遇,爱立信待遇、恒生电子待遇
  8. 什么是Google Voice
  9. 微信小程序组件和插件
  10. 【Bugzilla】我按照bugzilla的官方指导进行的安装。(一)