mysql point类型的简单使用

  1. 云栖社区>
  2. 博客>
  3. 正文

mysql point类型的简单使用

互联网编程 2018-01-25 15:24:00 浏览926
展开阅读全文

什么是point类型数据?举个例子如下:POINT(123.462202 41.804471)

首先建立一个表:

DROP TABLE IF EXISTS `tb_point`;
CREATE TABLE `tb_point` (
  `timestamp` date NOT NULL COMMENT '时间戳',
  `point` point NOT NULL COMMENT '经纬度',
  `type` char(20) character set utf8 default '' COMMENT '点类型',
  `name` varchar(50) character set utf8 NOT NULL COMMENT '点名称',
  `introduce` text character set utf8 COMMENT '介绍,包含文字、视频、目录,json格式',
  `attention` int(5) NOT NULL default '0' COMMENT '关注人数',
  `score` tinyint(2) NOT NULL default '0' COMMENT '评分,用于协同过滤推荐',
  `status` tinyint(2) NOT NULL default '2' COMMENT '状态,用于管理员添加',
  `uri` varchar(255) character set utf8 default NULL COMMENT '维基uri',
  PRIMARY KEY  (`timestamp`,`point`(25)),
  KEY `index_timestamp` USING BTREE (`timestamp`),
  KEY `index_name` USING HASH (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

要想使用point类型,在建表时,需要这样设置:ENGINE=MyISAM

建完表以后插入部分数据。插入数据后的部分截图如下(其中红框里就是point类型数据):

img_393acec3931e1249e772dce2f7e53616.jpe
image

insert示例:

INSERT INTO `tb_point` VALUES ('1900-01-01', GeomFromText('POINT(123.462202 41.804471)'), '景点', '沈阳故宫', 
'{\"text\":\"1900年左右的沈阳故宫文字介绍\",\"picture\":\"\",\"video\":\"\"}', '1000', '0', '1', null);

select示例:

SELECT timestamp,AsText(point),type,name,introduce,attention,score,uri FROM 
tb_point order by AsText(point),`timestamp` DESC ;

select的结果如下图所示:

img_fb44cefd4923a7590eabed496681a2fb.jpe
image

网友评论

登录后评论
0/500
评论
互联网编程
+ 关注