Computer >> Máy Tính >  >> Lập trình >> MySQL

Loại dữ liệu MySQL nào được sử dụng để lưu trữ địa chỉ IP?

Chúng tôi có thể lưu trữ một địa chỉ IP với sự trợ giúp của INT không dấu. Trong khi sử dụng INSERT, bao gồm INET_ATON () và với SELECT, bao gồm INET_NTOA (). Địa chỉ IP ở định dạng chấm.

Hãy để chúng tôi xem một ví dụ.

Tạo bảng.

mysql> create table IPV4AddressDemo
   -> (
   -> `IPV4Address` INT UNSIGNED
   -> );
Query OK, 0 rows affected (0.52 sec)

Chèn địa chỉ IP vào bảng, với INET_ATON.

mysql> insert into IPV4AddressDemo values(INET_ATON("120.0.0.1"));
Query OK, 1 row affected (0.17 sec)

Để hiển thị tất cả các bản ghi.

mysql> select *from IPV4AddressDemo;

Sau đây là kết quả đầu ra, nhưng chắc chắn chúng tôi muốn nó ở định dạng địa chỉ IP.

+-------------+
| IPV4Address |
+-------------+
|  2013265921 |
+-------------+
1 row in set (0.00 sec)

Như đầu ra ở trên đưa ra một chuỗi các số nguyên, nhưng chúng ta có thể chuyển đổi chúng thành định dạng địa chỉ IP ban đầu. Để làm được điều đó, hãy sử dụng INET_NTOA

mysql> SELECT INET_NTOA(`IPV4Address`) FROM IPV4AddressDemo;

Sau đây là kết quả hiển thị địa chỉ IP ở định dạng thực tế.

+--------------------------+
| INET_NTOA(`IPV4Address`) |
+--------------------------+
| 120.0.0.1                |
+--------------------------+
1 row in set (0.00 sec)