您好,登錄后才能下訂單哦!
小編給大家分享一下MySQL如何存儲IP值,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
IP值一般使用char或varchar進行存儲,但是當進行查找和統計時,字符類型不是很高效。MySQL數據庫內置了兩個IP相關的函數INET_ATON()
、INET_NTOA()
,可以實現 IP 地址和整數類型的轉換。轉換后使用可以INT UNSIGNED 來存儲IP,轉換后的數字是連續的,提高了查詢性能,占用空間更小。
CREATE TABLE `tb_ip` ( `increment_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主鍵', `name` varchar(100) NOT NULL COMMENT '姓名', `inet_ip` int(10) unsigned NOT NULL COMMENT 'IP', PRIMARY KEY (`increment_id`), KEY `idx_inet_ip` (`inet_ip`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='ip測試表'; # 插入數據 insert into `tb_ip` (`name`,`inet_ip`) values ('wang',INET_ATON('192.168.0.1')),('lisi',INET_ATON('192.168.0.2')); # 相互轉換 select INET_ATON('192.168.0.1'); select INET_NTOA(3232235521);
以上是“MySQL如何存儲IP值”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。