Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql point

作者:初吻被奶嘴夺走了   发布日期:2026-04-16   浏览:69

-- 创建一个包含点类型字段的表
CREATE TABLE location (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    position POINT NOT NULL,
    SPATIAL INDEX(position)
);

-- 插入一些示例数据
INSERT INTO location (name, position) VALUES 
('Point A', ST_PointFromText('POINT(10 20)')),
('Point B', ST_PointFromText('POINT(30 40)')),
('Point C', ST_PointFromText('POINT(50 60)'));

-- 查询并返回点的位置信息
SELECT name, ST_X(position) AS longitude, ST_Y(position) AS latitude 
FROM location;

-- 计算两个点之间的距离(假设使用的是经纬度)
SELECT name, ST_Distance_Sphere(
    position, 
    ST_PointFromText('POINT(10 20)')
) AS distance_in_meters
FROM location;

解释说明:

  1. 创建表:我们创建了一个名为 location 的表,其中包含一个 POINT 类型的字段 positionSPATIAL INDEX 用于对空间数据进行索引,以提高查询性能。
  2. 插入数据:使用 ST_PointFromText 函数将文本格式的点转换为 POINT 类型,并插入到表中。
  3. 查询点信息:使用 ST_XST_Y 函数分别提取点的 X(经度)和 Y(纬度)坐标。
  4. 计算距离:使用 ST_Distance_Sphere 函数计算两个点之间的球面距离(单位为米)。

上一篇:mysql修改数据库名称

下一篇:mysql 删除字段sql

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql 1265

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

brew 启动mysql

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站