天涯海角异孤星
在MySQL 5.6中,可以使用以下公式来计算两个地图坐标之间的距离:
SELECT
(6371 * acos(cos(radians(lat1)) * cos(radians(lat2)) *
cos(radians(lng2) - radians(lng1)) + sin(radians(lat1)) *
sin(radians(lat2)))) AS distance
FROM
your_table
WHERE
your_table.id = your_id;
其中,lat1
和lng1
是第一个坐标的纬度和经度,lat2
和lng2
是第二个坐标的纬度和经度。your_table
是你的表的名称,your_id
是你要查询的记录的ID。
这个公式使用了余弦定理来计算两个点之间的距离。它将地球视为一个完美的球体,并假设它的半径为6371公里。
1、创建名为 demo 密码为 123456 的账户:
CREATE USER 'demo'@'%' identified by '123456';
其中 'demo'@'%'
其中的 %
表示该账户可以从任意 IP 登录,可以改成指定 IP 登录,如 'demo'@'192.168.1.125'
,或指定 IP 段 'demo'@'192.168.1.%'
。
2、把数据库 demodb 授权给该账户:
GRANT ALL PRIVILEGES ON `demodb`.* TO 'demo'@'%' WITH GRANT OPTION;
其中 `demodb`.*
表示授权数据库 demodb 的所有权限。
3、刷新权限缓存:
FLUSH PRIVILEGES;
别忘了执行这条指令,不然可能无法正常登录。
sql中的连接查询有inner join(内连接)、left join(左连接)、right join(右连接)、full join(全连接)四种方式,它们之间其实并没有太大区别,仅仅是查询出来的结果有所不同。
1.inner join,在两张表进行连接查询时,只保留两张表中完全匹配的结果集。
2.left join,在两张表进行连接查询时,会返回左表所有的行,即使在右表中没有匹配的记录。
3.right join,在两张表进行连接查询时,会返回右表所有的行,即使在左表中没有匹配的记录。
4.full join,在两张表进行连接查询时,返回左表和右表中所有没有匹配的行。