关于存储过程

[复制链接]
查看11 | 回复4 | 2009-3-12 17:07:59 | 显示全部楼层 |阅读模式
有这么一批数据(ARP表):
10.10.23.23: 000c.a6fa.cd31: vlan07
10.10.23.24: 000c.76da.fd38: vlan11
10.10.23.25: 000c.e6fa.ac29: vlan09
10.10.23.26: 000c.d6aa.ed36: vlan20
10.10.23.27: 000c.b6fa.f331: vlan13
10.10.23.28: 000c.c6fa.bdc5: vlan25
……
它们分别是IP地址、MAC地址和VLAN,这些都是从路由器上show arp提取出来的,现在需要把它们保存起来。
由于数据量很大,而且是每隔一段时间就要再次提取,所以我想处理一下数据以节省空间:
在写入MAC-IP数据前,查询每个MAC对应的IP,如果和要写入的IP相同则跳过不做处理,不同(意味着可能有ARP欺骗)则写入。
听说MYSQL的“存储过程”可以实现,或者其它比较简单的方法也行。
请帮我简单的实现一下,最好用python。
谢谢。

回复

使用道具 举报

千问 | 2009-3-12 17:07:59 | 显示全部楼层
建立临时表直接将数据插入 然后对表进行处理删除 mac和ip完全一样的数据 然后复制数据移到一新表里 就得到你想要的干净数据了 从临时表里取得没重复的数据 去掉完全一样的数据的sql 保留一条数据的办法可以在delete时候加rownum>=2...
回复

使用道具 举报

千问 | 2009-3-12 17:07:59 | 显示全部楼层
其实你要做的就是更新数据用MySQL的LOAD DATA 语句或者 mysqlimport 命令行程序 可以实现当更新是遇到重复的key (这里就是你的mac地址时)你可以选择忽略新数据或者替换旧数据具体参看mysql文档...
回复

使用道具 举报

千问 | 2009-3-12 17:07:59 | 显示全部楼层
我觉得将MAC地址设为唯一属性,每次就可以放心插入了。...
回复

使用道具 举报

千问 | 2009-3-12 17:07:59 | 显示全部楼层
这100分不好拿...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行