---
title: "创建空间列 - OceanBase 数据库 V4.3.4 | OceanBase 文档中心"
description: "创建空间列 本文档介绍了如何在 OceanBase 数据库中创建空间列。 准备工作 使用 GIS 功能前，需在业务租户配置 GIS meta 数据。在连接到服务器后，执行如下命令将 default_srs_data_mysql.sql 文件导入到数据库中： ## $password 需替换为登录数据库的密码 ## $…"
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.4

# 创建空间列

更新时间：2026-01-13 10:56:36

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.4/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/100.basic-elements-of-mysql-mode/100.data-type-of-mysql-mode/900.spatial-data-type-of-mysql-mode/300.create-spatial-columns-of-mysql-mode.md)  

本文档介绍了如何在 OceanBase 数据库中创建空间列。

## 准备工作

使用 GIS 功能前，需在业务租户配置 GIS meta 数据。在连接到服务器后，执行如下命令将 `default_srs_data_mysql.sql` 文件导入到数据库中：

```shell
## $password 需替换为登录数据库的密码
## $localhost 需替换为登录数据库的 IP
## $tenant_name 需替换为登录数据库的租户名
## $port 需替换为数据库端口号
$python /home/admin/oceanbase/bin/import_srs_data.py -p'$password' -h $localhost -P $port -t $tenant_name -f /home/admin/oceanbase/etc/default_srs_data_mysql.sql

```

返回以下结果代表导入数据文件成功：

```shell
INFO: succeed to import srs data
INFO: oceanbase.__all_spatial_reference_systems old result rows -- 1
INFO: oceanbase.__all_spatial_reference_systems new result rows -- 5152

```

## 示例

OceanBase 数据库支持使用 `CREATE TABLE` 或 `ALTER TABLE` 创建空间列。

使用 `CREATE TABLE` 语句创建具有空间列的表，语法示例如下：

```sql
CREATE TABLE geom (g GEOMETRY);

```

使用 `ALTER TABLE` 语句在现有表中添加或删除空间列，语法示例如下：

```sql
ALTER TABLE geom ADD pt POINT;
ALTER TABLE geom DROP pt;

```

以下示例展示如何创建带有各种几何类型的表：

```sql
-- 创建一张带有各种几何类型的表
CREATE TABLE spatial_data (
    id INT AUTO_INCREMENT PRIMARY KEY,
    geom_point POINT,                    -- 点类型
    geom_linestring LINESTRING not NULL SRID 4326,          -- 线类型
    geom_polygon POLYGON,                -- 多边形类型
    geom_multipoint MULTIPOINT,          -- 多点类型
    geom_multilinestring MULTILINESTRING,-- 多线类型
    geom_multipolygon MULTIPOLYGON,      -- 多多边形类型
    geom_geometrycollection GEOMETRYCOLLECTION, -- 几何集合类型
    geom_geometry GEOMETRY               -- 通用几何类型，可以存储任意几何值。
);

```

创建空间列的相关约束如下：

- 定义空间列的时候，可以显式指定 SRID。如果列上没有定义 SRID，查询的时候优化器不会选择空间索引，但是插入/更新的时候，仍然会生成索引记录。
 - 空间列在指定 `NOT NULL` 约束以及指定了 SRID 之后，可以在空间列上定义空间索引，也即只有定义了 SRID 的列才能使用空间索引。
 - 在空间列上定义了 SRID 之后，插入其它 SRID 值会报错。

`SRID` 的相关约束如下：

- 空间列上显示指定了 `SRID`。
 - 列上所有对象的 `SRID` 必须一样。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
