首页 >

mysql怎么根据经纬度查询 |mysql可以生成er图吗

mysql链接MFC,mysql bat 启动服务,商品分销平台mysql设计,mysql数据储存在哪,mysql删除启动服务,mysql可以生成er图吗mysql怎么根据经纬度查询 |mysql可以生成er图吗
CREATE TABLE `locations` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`latitude` decimal(10,8) NOT NULL,
`longitude` decimal(11,8) NOT NULL,
`location` point NOT NULL,
PRIMARY KEY (`id`),
SPATIAL INDEX `location_index` (`location`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `locations` (`id`, `name`, `latitude`, `longitude`, `location`) VALUES
(1, '北京', 39.904690, 116.407170, Point(116.407170, 39.904690)),
(2, '上海', 31.230390, 121.473700, Point(121.473700, 31.230390)),
(3, '深圳', 22.543099, 114.057869, Point(114.057869, 22.543099));

上面的代码创建了一个名为locations的表,其中包含了id、name、latitude、longitude和location字段。location字段用Point类型存储了经纬度信息,并创建了一个空间索引location_index,以便在查询时使用。

下面是使用ST_Distance_Sphere函数查询距离的示例:

SELECT *, ST_Distance_Sphere(location, Point(121.473700, 31.230390)) AS distance
FROM locations
WHERE ST_Distance_Sphere(location, Point(121.473700, 31.230390))< 500000;

上面的代码可以查询距离上海不超过500公里的位置信息,并将距离保存在名为distance的新字段中。

在查询时,大家还可以使用ST_AsText函数将Point类型的经纬度转换为字符串。

SELECT id, name, ST_AsText(location) AS location
FROM locations;

上面的代码将查询locations表中的id、name和location(经纬度信息)字段,并使用ST_AsText函数将location从Point类型转换为字符串。

使用MySQL的空间数据类型,查询经纬度信息将变得更加简单、高效。


mysql怎么根据经纬度查询 |mysql可以生成er图吗
  • mysql导入备份数据中文乱码 |mysql主从同步视频
  • mysql导入备份数据中文乱码 |mysql主从同步视频 | mysql导入备份数据中文乱码 |mysql主从同步视频 ...

    mysql怎么根据经纬度查询 |mysql可以生成er图吗
  • 如何使用MySQL查询语句获取当前日期(详解常用日期函数) |idea 添加mysql数据库连接
  • 如何使用MySQL查询语句获取当前日期(详解常用日期函数) |idea 添加mysql数据库连接 | 如何使用MySQL查询语句获取当前日期(详解常用日期函数) |idea 添加mysql数据库连接 ...

    mysql怎么根据经纬度查询 |mysql可以生成er图吗
  • mysql导入多个sql文件怎么打开 |服务器mysql版本查询
  • mysql导入多个sql文件怎么打开 |服务器mysql版本查询 | mysql导入多个sql文件怎么打开 |服务器mysql版本查询 ...