博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用纯真ip地址库 查询 ip所属地
阅读量:4916 次
发布时间:2019-06-11

本文共 1216 字,大约阅读时间需要 4 分钟。

1. 首先下周数据源,选择是纯真数据库:http://www.cz88.net/

2. 安装后,打开软件,将数据导出为txt格式。

3. 处理数据,参照网上的文章(http://www.jb51.net/article/20511.htm),用vi打开,执行如下命令::%s/\s\+/;/

执行3次。

%s代表全局搜索替换,\s 代表空格 , \+ 代表尽可能多的匹配前面的字符,;代表替换成';'(我再实际操作的时候将;替换为tab了)

4. 创建表ip2

startip	varchar	255	0	-1	0	0	0	0		0		gbk	gbk_chinese_ci		0	0endip	varchar	255	0	-1	0	0	0	0		0		gbk	gbk_chinese_ci		0	0location	varchar	255	0	-1	0	0	0	0		0		gbk	gbk_chinese_ci		0	0detail	varchar	255	0	-1	0	0	0	0		0		gbk	gbk_chinese_ci		0	0

 最后是数据库的编码格式就选择为 gbk_chinese_ci

创建表ip

id	int	10	0	0	-1	-1	0	0		0					-1	0startip	int	10	0	-1	0	0	0	0		0					0	0endip	int	10	0	-1	0	0	0	0		0					0	0location	varchar	255	0	-1	0	0	0	0		0		gbk	gbk_chinese_ci		0	0detail	varchar	255	0	-1	0	0	0	0		0		gbk	gbk_chinese_ci		0	0

 5. 将文本中的数据导入到数据库中来。

d:\mysql>mysqlimport -h127.0.0.1 -uroot -p --local --delete ips ip2.txt (因为我的文本中的分隔符是tab,所以这里不用指定分隔符)

注意文本的文件名必须和表的名字相同

6. 为了以后查询方便,将ip用int存储,将ip2的数据的ip转换为数字后插入ip表中

INSERT into ips.ip(startip,endip,location,detail)  (select Inet_ATON(startip),inet_ATON(endip),location,detail FROM ips.ip2)

7. 这样当你需要查询某个ip的地址时,可以如下这样:

SELECT * from ips.ip where startip < INET_ATON('1.2.5.333') and INET_ATON('1.2.5.33')< endip

 

 

 

转载于:https://www.cnblogs.com/maseng/p/3520931.html

你可能感兴趣的文章
unload事件Ajax提交问题
查看>>
代码工程flex不显示GIF图片问题
查看>>
Kotlin 初窥门径[2]:流程控制
查看>>
Android利用Socket与硬件通信之智能家居APP
查看>>
Idea中提交SVN或git时,忽略某些文件不提交
查看>>
20135236、20135206第一次试验报告
查看>>
Java的“Goto”与标签
查看>>
python 爬虫
查看>>
C# 支持两种形式的字符串:规则字符串和逐字字符串
查看>>
css z-index
查看>>
Javascript网页刷新方法集锦
查看>>
SQL触发器
查看>>
阿里云CentOS环境下tomcat启动超级慢的解决方案
查看>>
c/c++中的&、|和&&、||
查看>>
普通disco
查看>>
tmux快捷键及命令汇总
查看>>
NET Core微服务之路:弹性和瞬态故障处理库Polly的介绍
查看>>
Android学习笔记进阶15之Shader渲染
查看>>
Docker 镜像的内部结构(四)
查看>>
thinkphp+dwz完成的一个号码查询小系统
查看>>