Amazon RDS 数据 API 操作参考
Amazon RDS 数据 API 提供了以下操作来执行 SQL 语句。
Data API 操作 |
Amazon CLI command |
描述 |
---|---|---|
对数据库运行 SQL 语句。 |
||
对数据数组运行批处理 SQL 语句,以执行批量更新和插入操作。您可以使用参数集数组运行数据操作语言 (DML) 语句。相比单个插入和更新语句,批处理 SQL 语句可提供显著的性能改进。 |
您可以使用任一操作来运行单独的 SQL 语句或运行事务。针对事务,数据 API 提供了以下操作。
Data API 操作 |
Amazon CLI command |
描述 |
---|---|---|
开始 SQL 事务。 |
||
结束 SQL 事务并提交更改。 |
||
执行事务回滚。 |
执行 SQL 语句和支持事务的操作具有以下常用 Data API 参数和 Amazon CLI 选项。某些操作支持其他参数或选项。
Data API 操作参数 |
Amazon CLI 命令选项 |
必需 |
描述 |
---|---|---|---|
|
|
是 |
Aurora 数据库集群的 Amazon 资源名称(ARN)。集群必须与调用数据 API 的 IAM 角色或用户位于相同的 Amazon Web Services 账户中。要使用其它账户访问集群,请代入该账户中的角色。 |
|
|
是 |
允许访问数据库集群的密钥的名称或 ARN。 |
RDS 数据 API 对于 Aurora MySQL 支持以下数据类型:
TINYINT(1)
,BOOLEAN
,BOOL
TINYINT
SMALLINT
[SIGNED
|UNSIGNED
]MEDIUMINT
[SIGNED
|UNSIGNED
]INT
[SIGNED
|UNSIGNED
]BIGINT
[SIGNED
|UNSIGNED
]FLOAT
DOUBLE
VARCHAR
,CHAR
,TEXT
,ENUM
VARBINARY
,BINARY
,BLOB
DATE
,TIME
,DATETIME
,TIMESTAMP
DECIMAL
JSON
BIT
,BIT(N)
RDS 数据 API 支持以下 Aurora PostgreSQL 标量类型:
BOOL
BYTEA
DATE
CIDR
DECIMAL
,NUMERIC
ENUM
FLOAT8
,DOUBLE PRECISION
INET
INT
,INT4
,SERIAL
INT2
,SMALLINT
,SMALLSERIAL
INT8
,BIGINT
,BIGSERIAL
JSONB
,JSON
REAL
,FLOAT
TEXT
,CHAR(N)
,VARCHAR
,NAME
TIME
TIMESTAMP
UUID
VECTOR
RDS 数据 API 支持以下 Aurora PostgreSQL 数组类型:
BOOL[]
,BIT[]
DATE[]
DECIMAL[]
,NUMERIC[]
FLOAT8[]
,DOUBLE PRECISION[]
INT[]
,INT4[]
INT2[]
INT8[]
,BIGINT[]
JSON[]
REAL[]
,FLOAT[]
TEXT[]
,CHAR(N)[]
,VARCHAR[]
,NAME[]
TIME[]
TIMESTAMP[]
UUID[]
您可以在对 ExecuteStatement
和 BatchExecuteStatement
的 Data API 调用中使用参数,或在运行 Amazon CLI 命令 execute-statement
和 batch-execute-statement
时使用。要使用参数,请在 SqlParameter
数据类型中指定名称/值对。您可以使用 Field
数据类型指定值。下表将 Java 数据库连接 (JDBC) 数据类型映射到您在 Data API 调用中指定的数据类型。
JDBC 数据类型 |
Data API 数据类型 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
其他类型(包括与日期和时间有关的类型) |
|
注意
您可以在 Data API 调用中为数据库返回的 LONG
值指定 LONG
或 STRING
数据类型。建议您这样操作,以避免在使用 JavaScript 时发生超大数字失去精准性的情况。
某些类型(例如 DECIMAL
和 TIME
)需要提示,以便数据 API 将 String
值作为正确的类型传递给数据库。要使用提示,typeHint
数据类型中需要包含 SqlParameter
的值。typeHint
的可能值如下所示:
-
DATE
– 相应的String
参数值作为DATE
类型的对象发送到数据库。接受的格式为YYYY-MM-DD
。 -
DECIMAL
– 相应的String
参数值作为DECIMAL
类型的对象发送到数据库。 -
JSON
– 相应的String
参数值作为JSON
类型的对象发送到数据库。 -
TIME
– 相应的String
参数值作为TIME
类型的对象发送到数据库。接受的格式为HH:MM:SS[.FFF]
。 -
TIMESTAMP
– 相应的String
参数值作为TIMESTAMP
类型的对象发送到数据库。接受的格式为YYYY-MM-DD HH:MM:SS[.FFF]
。 -
UUID
– 相应的String
参数值作为UUID
类型的对象发送到数据库。注意
目前,数据 API 不支持通用唯一标识符(UUID)数组。
注意
对于 Amazon Aurora PostgreSQL,数据 API 始终以 UTC 时区返回 Aurora PostgreSQL 数据类型 TIMESTAMPTZ
。