MySQL 是一種常用的關系型數據庫系統,可以存儲各種類型的數據,其中包括 IP 地址。在實際應用中,常常需要將 IP 地址存儲至 MySQL 數據庫中,以便對該地址進行后續處理。下面介紹如何使用 MySQL 存儲 IP 地址。
MySQL 中存儲 IP 地址時,可以使用INT UNSIGNED
或VARCHAR(15)
數據類型。相比而言,INT UNSIGNED
數據類型更為高效,因此在實際場景中建議使用該類型。
下面是使用INT UNSIGNED
數據類型存儲 IP 地址的示例代碼:
CREATE TABLE `ip` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ip_address` int(11) UNSIGNED NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
上述代碼創建了一個名為ip
的表,該表包含id
和ip_address
兩個字段。其中,ip_address
字段存儲 IP 地址,使用了INT UNSIGNED
數據類型。
在將 IP 地址存儲至 MySQL 數據庫中時,需要將其轉換為數字格式。下面是將 IP 地址轉換為數字格式的示例代碼:
$ip_address = '127.0.0.1'; $ip_number = ip2long($ip_address);
使用ip2long
函數可以將 IP 地址轉換為數字格式。將轉換后的數字存儲至 MySQL 數據庫:
INSERT INTO `ip` (`ip_address`) VALUES ({$ip_number});
取出存儲在 MySQL 數據庫中的 IP 地址時,需要使用long2ip
函數將數字格式的 IP 地址轉換為標準的 IP 地址格式:
$sql = "SELECT `ip_address` FROM `ip` WHERE `id` = {$id}"; $result = mysqli_query($conn, $sql); $row = mysqli_fetch_assoc($result); $ip_address = long2ip($row['ip_address']);
以上是使用 MySQL 存儲 IP 地址的簡單介紹,希望對大家有所幫助。
上一篇mysql 存儲變量
下一篇mysql 存儲引擎查看