向GEO数据库中插入地理空间数据的方法与向普通MySQL数据库中插入数据类似。以下是一个简单的示例,展示了如何向GEO数据库中插入地理空间数据:
CREATE TABLE locations (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
point GEOMETRY NOT NULL,
SPATIAL INDEX(point)
);
在这个例子中,我们创建了一个名为locations的表,其中包含一个名为point的地理空间列。
INSERT INTO locations (name, point)
VALUES ('New York', ST_GeomFromText('POINT(-74.0060 40.7128)'));
在这个例子中,我们使用ST_GeomFromText函数将经纬度坐标转换为地理空间点,并将其插入到locations表中。
SELECT name, ST_AsText(point)
FROM locations
WHERE ST_Distance_Sphere(point, ST_GeomFromText('POINT(-74.0060 40.7128)')) <= 100000;
在这个例子中,我们使用ST_Distance_Sphere函数计算两个点之间的球面距离,并使用ST_AsText函数将地理空间点转换为文本格式。