在 MySQL 中使用码农很忙 IP 地址数据库
生活随笔
收集整理的這篇文章主要介紹了
在 MySQL 中使用码农很忙 IP 地址数据库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在下載到碼農很忙 IP 地址數據庫后,我們可以將其存儲在 MySQL 數據庫中,并在需要查詢某個 IP 對應的位置數據時,通過 SQL 語句獲取正確的結果。這是一種很便捷的使用方式,并且在增加了恰當的索引后,可以取得不錯的搜索效果。
首先,需要在 MySQL 數據庫中添加數據表:
SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for t_ip_data -- ---------------------------- DROP TABLE IFEXISTS `t_ip_data`; CREATE TABLE `t_ip_data` (`Id` INT ( 11 ) NOT NULL AUTO_INCREMENT,`BeginIPAddress` VARCHAR ( 255 ) NOT NULL,`BeginIPNumber` BIGINT ( 20 ),`EndIPAddress` VARCHAR ( 255 ) NOT NULL,`EndIPNumber` BIGINT ( 20 ),`CC` VARCHAR ( 255 ),`Continent` VARCHAR ( 255 ),`Flag` VARCHAR ( 255 ),`Country` VARCHAR ( 255 ),`Province` VARCHAR ( 255 ),`City` VARCHAR ( 255 ),`Tag` VARCHAR ( 255 ),`Isp` VARCHAR ( 255 ),PRIMARY KEY ( `Id` ) USING BTREE,INDEX `BeginIPNumber` ( `BeginIPNumber` ) USING BTREE ) ENGINE = INNODB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;SET FOREIGN_KEY_CHECKS = 1;之后,使用 Navicat 等工具,將碼農很忙 IP 地址數據庫提供的數據導入到數據表?t_ip_data?中:
如果不是第一次導入數據,注意將【導入模式】設置為【復制】:
數據導入成功后,需要使用以下 SQL 語句對 BeginIPNumber 和 EndIPNumber 進行修正:
UPDATE t_ip_data SET BeginIPNumber = INET_ATON(BeginIPAddress), EndIPNumber = INET_ATON(EndIPAddress);修正完成的數據,BeginIPNumber 和 EndIPNumber 就被填入了數值:
之后,使用以下 SQL 語句即可進行數據查詢:
SELECT* FROMt_ip_data WHEREBeginIPNumber <= INET_ATON( '要查詢的 IPv4 地址' ) ORDER BYBeginIPNumber DESCLIMIT 1示例查詢如下:
總結
以上是生活随笔為你收集整理的在 MySQL 中使用码农很忙 IP 地址数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 结构型设计模式总结
- 下一篇: 死磕 Redis,我有这么几招