今天,一同事跑来问我,数据库应该用什么来保存IP地址,平时看到的都是字符串。

答曰:有钱任性!要么就像马云粑粑说的,开发心里受委屈了!开个玩笑,咱谈正事!

其实,日常开发中,大多数新手保存IP地址时会创建一个VARCHAR类型的字段以字符串形式去保存的IP,而不是以无符号整型的方式去存放IP地址。这不仅浪费了存储空间,也降低了查询的效率。

实际上,我们只需要用UNSIGNED INT就可以保存IP地址了,不仅效率提升了,还可以支持范围查询,非常方便!

一、MySQL的inet_aton与inet_ntoa

inet_aton可以把字符串IP地址转为整型存储;

inet_ntoa则是把数据库里整型IP地址转为字符串IP;

二、Python中IP地址的转换

py的socket模块同样提供了inet_aton和inet_ntoa

例子:

注意:需要导入相关socket模块和struct模块

三、PHP中IP地址的转换

PHP中也有两个转换函数:

ip2long:将字符串类型IP地址转为整型IP地址

long2ip:将整型IP地址转为字符串类型IP地址

例子:

很简单,只是程序计算有时会出现负数,还需要使用u%格式化一下!

至于价钱,有人说用decimal类型,有人说bigint类型,到底用哪种,看完以上内容,大家说说看,用什么类型存储最好?

mysql中ip用什么存,在MySQL中,价钱和IP用什么类型存储最好?相关推荐

  1. mysql 字段值1_2_3 如何查询3是否存在?_MySQL根据col1中的值是否存在于col2中以及col3是否=值来更新col4...

    我有一个表(命名单位),结构如下:id type type_id name parent hide ================================================== ...

  2. mysql权限和使用注意事项及mysql 数据类型详解和innodb,myisam区别

    mysql用户权限管理(Grant,Revoke) MySQL可以为不同的用户分配严格的.复杂的权限.这些操作大多都可以用SQL 指令Grant(分配权限)和Revoke(回收权限)来实现. Gran ...

  3. 存放在mysql数据库的表_下列选项中,存放在mysql数据库的表是

    下列选项中,存放在mysql数据库的表是 答:column_priv db user tables_priv 关于礼说法正确的是(). 答:对人有约束力 金钱能买来熟人,买不来朋友 答:√ 绿泥石强度 ...

  4. mysql 中函数如何转存_mysql 导入导出数据库以及函数、存储过程 【转】

    MySQL常用导出数据命令: 1.mysql导出整个数据库 mysqldump -hhostname -uusername -ppassword databasename > backupfil ...

  5. 将image存入mysql数据库_有谁知道如何把一图片存放到mysql数据库中

    root@ytt:/var/lib/mysql-files# for i in `seq 1 100`; do cp 微信图片_20190711095019.jpg "$i".jp ...

  6. 怎样把图片存上mysql数据库表中_怎样把图片存入SQL数据库表中?

    展开全部 一.先来熟悉一下将要使用的对象方法: 用来获取上一个页面传 递过来的数据一62616964757a686964616fe58685e5aeb931333431363030般是使用Reques ...

  7. mysql如何限制数据修改密码_MySQL_MySQL数据库中修改密码及访问限制设置详解,MySQL是一个真正的多用户、多 - phpStudy...

    MySQL数据库中修改密码及访问限制设置详解 MySQL是一个真正的多用户.多线程SQL数据库服务器.MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序 ...

  8. mysql数据库建仓范式_存mysql个数

    MySQL学习笔记之数据类型详解 注:以下内容针对MySQL5.0及以上版本 MySQL的数据类型非常多,选择正确的数据类型对于获得高性能至关重要,本文是我结合网上看到的一些blog加上<高性能 ...

  9. mysql中没有内置函数_[mysql]MySQL中的内置函数

    用在select  语句,以及子句where   order  by    hacing  中    update   delete 函数中可以将字段名作为字段来用,变量的值就是这个列对应的每一行记录 ...

最新文章

  1. TensorFlow指定使用GPU 多块gpu
  2. 可构建AI的「AI」诞生:几分之一秒内,就能预测新网络的参数
  3. python函数返回元组平均数_关于python:使用函数中的单个项返回元组
  4. xml提示无法连接到远程服务器,异步调用WebService时,如何捕捉“无法连接远程服务器”异常...
  5. 菲律宾政府网站被黑!
  6. 深度学习100例 | 第34天:如何进行数据增强?
  7. 统计特性和概率估计-2 (数学推导与证明)
  8. vue+element-ui操作删除(单行和批量删除)
  9. mysql as join_mysql as 别名与 join 多表连接语法
  10. 高等代数(邱维声):高等代数的研究对象
  11. spring boot 设置启动时初始化DispatcherServlet
  12. 豆瓣电影 Top 250
  13. java integer集合排序_Java集合中List的Sort()方法进行排序
  14. PCI/PCIE相关知识
  15. dnf 台服服务器pvf修改器,求教怎么用pvf修改器自制装备
  16. SqlServer2008操作总结
  17. 前端框架系列之(mvp)
  18. 一文搞懂PV、UV、VV、IP及其关系与计算
  19. 快学Python:函数的使用
  20. Action Recognition(行为识别)

热门文章

  1. cp和scp复制命令
  2. Django案例:显示图书信息
  3. Java学习笔记:进程与线程、BIO、NIO、Selector
  4. 安卓学习笔记31:使用自定义视图绘制文本、图形与图像
  5. 单击跳转_如何在100张工作表中快速实现查找和跳转
  6. 2017.3.3 拔河比赛 思考记录
  7. centos安装redis并客户端连接_Linux(Centos)之安装Redis及注意事项
  8. Intel Core Enhanced Core架构/微架构/流水线 (14) - 存储器/内存读写 Memory Load/Store
  9. 学生信息管理信息系统--添加用户
  10. python requests库api_python利用requests库进行接口测试的方法详解