使用MySQL的inet_aton共享IP地址()和()函数inet_ntoa
查询OK,0行受影响(0.02秒)
MySQL >插入jackbillow值(inet_aton('192.168.1.200 '),A),(inet_aton('200.100.30.241 '),B);
查询OK,2行受影响(0秒)
记录:2个重复:0个警告:0
MySQL >插入jackbillow值(inet_aton('24.89.35.27 '),C),(inet_aton('100.200.30.22 '),会);
查询OK,2行受影响(0秒)
记录:2个重复:0个警告:0
MySQL SELECT * FROM jackbillow >;
------------ ------ + + +
| IP |名字|
------------ ------ + + +
| 3232235976 |一|
| 3362004721 | B |
| 408494875 | C |
| 1690836502 | D |
------------ ------ + + +
4行(0秒)
MySQL >选择*从jackbillow IP = inet_aton('192.168.1.200);
------------ ------ + + +
| IP |名字|
------------ ------ + + +
| 3232235976 |一|
------------ ------ + + +
1行集(0秒)
MySQL >选择inet_ntoa(IP)从jackbillow;
---------------- + +
| inet_ntoa(IP)|
---------------- + +
| 192.168.1.200 |
| 200.100.30.241 |
| 24.89.35.27 |
| 100.200.30.22 |
---------------- + +
4行(0秒)
对字符串的字符的应用程序的数量(15)来存储IP地址(16字节),使用inet_aton(inet_ntoa)和()函数,高效存储IP地址,unsigned int可以满足需求,不需要使用BIGINT,只需要4个字节,节省存储空间,在同一时间,效率更高。
如果IP列有索引,您可以使用以下查询:
MySQL >选择inet_aton('100.200.30.22);
---------------------------- + +
| inet_aton('100.200.30.22)|
---------------------------- + +
1690836502 | |
---------------------------- + +
1行集(0秒)
MySQL >选择*从jackbillow IP = 1690836502;
------------ ------ + + +
| IP |名字|
------------ ------ + + +
| 1690836502 | D |
------------ ------ + + +
1行集(0秒)
MySQL >选择inet_ntoa(IP),从jackbillow IP = 1690836502名;
--------------- ------ + + +
| inet_ntoa(IP)的名字| |
--------------- ------ + + +
| 100.200.30.22 | D |
--------------- ------ + + +
1行集(0秒)
对于类似的操作,可以使用以下方式:
MySQL >选择inet_ntoa(IP)从jackbillow;
---------------- + +
| inet_ntoa(IP)|
---------------- + +
| 192.168.1.200 |
| 200.100.30.241 |
| 24.89.35.27 |
| 100.200.30.22 |
| 192.168.1.100 |
| 192.168.1.20 |
| 192.168.2.20 |
---------------- + +
7行(0秒)
MySQL >选择inet_aton('192.168.1.0);
-------------------------- + +
| inet_aton('192.168.1.0)|
-------------------------- + +
3232235776 | |
-------------------------- + +
1行集(0秒)
MySQL >选择inet_aton('192.168.1.255);
---------------------------- + +
| inet_aton('192.168.1.255)|
---------------------------- + +
3232236031 | |
---------------------------- + +
1行集(0秒)
MySQL >选择inet_ntoa(IP)从jackbillow IP 3232235776和3232236031之间;
--------------- + +
| inet_ntoa(IP)|
--------------- + +
| 192.168.1.200 |
| 192.168.1.100 |
| 192.168.1.20 |
--------------- + +
3行(0秒)
MySQL >选择inet_ntoa(IP)从jackbillow IP之间inet_aton('192.168.1.0)和;
--------------- + +
| inet_ntoa(IP)|
--------------- + +
| 192.168.1.200 |
| 192.168.1.100 |
| 192.168.1.20 |
--------------- + +
3行(0秒)