MySQL中的位置类型主要指的是地理空间数据类型,它们用于存储和操作地理空间信息。MySQL支持两种主要的地理空间数据类型:GEOMETRY
和POINT
。
GEOMETRY
的一个子类型,专门用于存储二维或三维空间中的点。它由X、Y坐标组成,有时还可以包括Z坐标。POINT(x, y)
POINT(x, y, z)
LINESTRING(x1, y1, x2, y2, ..., xn, yn)
POLYGON((x1, y1, x2, y2, ..., xn, yn), ...)
CREATE TABLE `locations` (
`id` INT PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(255),
`location` POINT NOT NULL,
SPATIAL INDEX(`location`)
);
INSERT INTO `locations` (`name`, `location`) VALUES ('Home', POINT(121.4854, 31.2493));
SELECT `name`
FROM `locations`
WHERE ST_Distance_Sphere(`location`, POINT(121.4854, 31.2493)) < 10000;
请注意,以上示例代码和参考链接仅供参考,实际使用时可能需要根据具体情况进行调整。
领取专属 10元无门槛券
手把手带您无忧上云