MySQL中将IP转换为int类型
电信项目,或者高安全性的银行、第三方支付服务等都需要设计进存储IP的业务。 为了节省空间和性能,人们通常将IP地址存储在字符串char(15)(占用16个字符)部分),而不是使用int来存储。
int只占用4个字节。 使用mysql的()和()函数存储IP地址的方法如下:
('192.168.1.200');
//结果是
('');
//192.168.1.200
还有许多更高级的用途,例如按网段分组。 这里需要注意的是,Linux C中有一个函数可以将IPv4字符串地址('192.168.1.200')转换为网络地址结构。
但mysql中也有这个函数,同样将字符串IPv4地址转换为整数。 转换后的4位整数是主机字节顺序,这与Linux库函数相反。 在 Linux 中,还有一个 IPv4 地址可将网络字节顺序整形转换为字符串(“192.168.1.200”)。 Mysql 将主机字节顺序转换为字符串。