在 MySQL 中使用哪种数据类型来存储 IP 地址?
我们可以借助无符号 INT 来存储 IP 地址。在使用 INSERT 时,包含 INET_ATON(),在使用 SELECT 时,包含 INET_NTOA()。IP 地址为点分格式。
让我们看一个示例。
创建表。
mysql> create table IPV4AddressDemo -> ( -> `IPV4Address` INT UNSIGNED -> ); Query OK, 0 rows affected (0.52 sec)
使用 INET_ATON() 向表中插入 IP 地址。
mysql> insert into IPV4AddressDemo values(INET_ATON("120.0.0.1"));
Query OK, 1 row affected (0.17 sec)
显示所有记录。
mysql> select *from IPV4AddressDemo;
以下是输出,但我们肯定希望它采用 IP 地址格式。
+-------------+ | IPV4Address | +-------------+ | 2013265921 | +-------------+ 1 row in set (0.00 sec)
由于上述输出给出一系列整数,但我们可以将它们转换为原始的 IP 地址格式。为此,请使用 INET_NTOA
mysql> SELECT INET_NTOA(`IPV4Address`) FROM IPV4AddressDemo;
以下是显示实际格式的 IP 地址的输出。
+--------------------------+ | INET_NTOA(`IPV4Address`) | +--------------------------+ | 120.0.0.1 | +--------------------------+ 1 row in set (0.00 sec)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP