利用mysql5.6 版本自带的st_distance这个功能就可以
SELECT
c.shop_name,
c.shop_place_name,
c.longitude_shop,
c.latitude_shop,
(st_distance (point (c.longitude_shop, c.latitude_shop),point(126.51,45.80) ) / 0.0111) AS distances
FROM car_life_info c
HAVING distances<30
ORDER BY distances
mysql 5.6 这个在官网就可以下载,带一个安装步骤如下
https://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html