10bet网址
MySQL 8.0参考手册
相关文件10bet官方网站 下载本手册 从本手册中摘录

11.4.7填充空间列

创建空间列后,可以使用空间数据填充它们。

值应以内部几何格式存储,但您可以将它们从众所周知的文本(WKT)或众所周知的二进制(WKB)格式转换为该格式。以下示例通过将WKT值转换为内部几何格式,演示如何将几何值插入表中:

  • 直接执行转换插入陈述:

    INSERT INTO geom VALUES (ST_GeomFromText('POINT(1 1)'));SET @g = 'POINT(1)';插入到地质值(st_geomfromtext(@g));
  • 在此之前执行转换插入

    SET @g = ST_GeomFromText('POINT(1 1)');INSERT INTO geom VALUES (@g);

以下示例将更复杂的几何形状插入表中:

SET @g = 'LINESTRING(0 0,1 1,2 2)';插入到地质值(st_geomfromtext(@g));SET @g = 'POLYGON((0 0,10 0,10 10,0 10,0 10,0 0),(5 5,7 5,7 7,5 7,5 7,5 5))';插入到地质值(st_geomfromtext(@g));SET @g = '几何集合(点(1 1),LINESTRING(0 0,1 1,2 2,3 3,4 4))';插入到地质值(st_geomfromtext(@g));

前面的示例使用st_geom fromtext()创建几何值。您还可以使用特定于类型的函数:

SET @g = 'POINT(1)';INSERT INTO geom VALUES (ST_PointFromText(@g));SET @g = 'LINESTRING(0 0,1 1,2 2)';INSERT INTO geom VALUES (ST_LineStringFromText(@g));SET @g = 'POLYGON((0 0,10 0,10 10,0 10,0 10,0 0),(5 5,7 5,7 7,5 7,5 7,5 5))';INSERT INTO geom VALUES (ST_PolygonFromText(@g));SET @g = '几何集合(点(1 1),LINESTRING(0 0,1 1,2 2,3 3,4 4))';INSERT INTO geom VALUES (ST_GeomCollFromText(@g));

想要使用几何值的WKB表示的客户端应用程序是负责在对服务器的查询中正确形成的WKB。有几种方法可以满足这个要求。例如:

  • 插入A.点(1 1)具有十六进制文字语法的价值:

    INSERT INTO geom VALUES (ST_GeomFromWKB(X' 0101000000000000000000f03f00000000f03f '));
  • ODBC应用程序可以发送WKB表示,使用参数将其绑定到占位符斑点类型:

    插入到电影值(st_geom freomwkb(?))

    其他编程接口可以支持类似的占位符机制。

  • 在C程序中,您可以使用二进制值mysql_real_escape_string_quote ()并将结果包含在发送到服务器的查询字符串中。看mysql_real_escape_string_quote ()