您好,登錄后才能下訂單哦!
小編給大家分享一下MySQL如何存儲(chǔ)IP值,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
IP值一般使用char或varchar進(jìn)行存儲(chǔ),但是當(dāng)進(jìn)行查找和統(tǒng)計(jì)時(shí),字符類型不是很高效。MySQL數(shù)據(jù)庫(kù)內(nèi)置了兩個(gè)IP相關(guān)的函數(shù)INET_ATON()
、INET_NTOA()
,可以實(shí)現(xiàn) IP 地址和整數(shù)類型的轉(zhuǎn)換。轉(zhuǎn)換后使用可以INT UNSIGNED 來(lái)存儲(chǔ)IP,轉(zhuǎn)換后的數(shù)字是連續(xù)的,提高了查詢性能,占用空間更小。
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測(cè)試表'; # 插入數(shù)據(jù) insert into `tb_ip` (`name`,`inet_ip`) values ('wang',INET_ATON('192.168.0.1')),('lisi',INET_ATON('192.168.0.2')); # 相互轉(zhuǎn)換 select INET_ATON('192.168.0.1'); select INET_NTOA(3232235521);
以上是“MySQL如何存儲(chǔ)IP值”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。