在MySQL中没有直接提供IP类型字段,但如果有两个函数可以把IP与最大长度为10位数字类型互转,所以使用int类型存储IP比varchar类型存储IP地址性能要提升很多,减少不少空间。因为varchar是可变长形,需要多余的一个字节存储长度。另外int型在逻辑运算上要比varchar速度快。
创建IP地址表
CREATE TABLE ip_address(
id BIGINT(20) NOT NULL AUTO_INCREMENT,
ipaddress VARCHAR(16),
PRIMARY KEY(id)
);
插入IP地址
INSERT INTO ip_address(ipaddress) VALUES(INET_ATON('192.168.1.21'));
查询IP地址
SELECT INET_NTOA(ipaddress) FROM ip_address;