表、数据库和列的名称 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

表、数据库和列的名称

使用这些技巧在 Athena 中命名数据库对象。

数据库、表和列名的长度必须小于或等于 255 个字符

数据库、表和列名的长度必须少于或等于 255 个字符。超过此限制会生成错误,例如“名称”处的值无法满足约束条件:成员的长度必须小于或等于 255 个字符

Athena 中的表名称和表列名称使用小写

Athena 在 DDL 和 DML 查询中接受混合大小写,但在执行查询时使用小写名称。因此,请避免使用混合大小写表或列名称,并且不要单独依赖 Athena 中的大小写来区分这些名称。例如,如果您使用 DDL 语句创建名为 Castle 的列,则创建的列将被转换成小写,castle。如果您随后将 DML 查询中的列名指定为 Castle 或者 CASTLE,Athena 会将名称转换为小写以为您运行查询,但使用您在查询中选择的大小写显示列标题。

数据库、表和列名的长度必须小于或等于 255 个字符。

以下划线开头的名称

创建表时,使用反引号将以下划线开头的表、视图或列名称括起来。例如:

CREATE EXTERNAL TABLE IF NOT EXISTS `_myunderscoretable`( `_id` string, `_index` string) LOCATION 's3://my-athena-data/'

以数字开头的表、视图或列名称

在运行 SELECTCTASVIEW 查询中,用引号将以数字开头的表、视图或列名称等标识符括起来。例如:

CREATE OR REPLACE VIEW "123view" AS SELECT "123columnone", "123columntwo" FROM "234table"

列名和复杂类型

对于复杂类型,只有字母数字字符、下划线 (_) 和句号 (.) 允许在列名称中使用。要为包含受限字符的键创建表和映射,可以使用自定义 DDL 语句。有关更多信息,请参阅 Amazon 大数据博客文章:使用 JSONSerDe 在 Amazon Athena 中通过嵌套 JSON 和映射来创建表

保留字

必须对 Athena 中的某些预留字进行转义。要对 DDL 语句中的保留关键字进行转义,请使用反引号 (`) 将其括起来。要对 SQL SELECT 语句以及视图的查询中的保留关键字进行转义,请使用双引号 ('') 将其括起来。

有关更多信息,请参阅保留关键字

另请参阅

有关完整的数据库和表创建语法,请参阅以下页面。