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

表、数据库和列的名称

使用这些技巧命名 Athena 中的项目。

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

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

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

特殊字符

不支持特殊字符,下划线 (_) 除外。有关更多信息,请参阅 Apache Hive LanguageManual DDL 文档。

重要

尽管通过将下划线以外的特殊字符包含在反引号 (`) 字符中可以成功创建表、视图、数据库或列名称,但引用它们的后续 DDL 或 DML 查询可能会失败。

以下划线开头的名称

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

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 语句以及视图的查询中的保留关键字进行转义,请使用双引号 ('') 将其括起来。

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