Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

IP 주소를 저장하는 데 사용할 MySQL 데이터 유형은 무엇입니까?

<시간/>

INT unsigned를 사용하여 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)