std.database.sql 包
功能介绍
database.sql 包提供仓颉访问数据库的接口。
本包提供 SQL/CLI 的通用接口,配合数据库驱动 Driver 完成对数据库的各项操作。
注意:
当前仅支持 SQL/CLI 接口。
SQL 数据类型和仓颉数据类型对应表如下:
SQL | CDBC/Cangjie | SqlDataType | 说明 |
---|---|---|---|
RUNE | String | SqlChar | - |
VARCHAR | String | SqlVarchar | - |
CLOB | io.InputStream | SqlClob | - |
BINARY | Array<Byte> | SqlBinary | - |
VARBINARY | Array<Byte> | SqlVarBinary | - |
BLOB | io.InputStream | SqlBlob | - |
NUMERIC | Decimal | sqlDecimal | - |
DECIMAL | Decimal | sqlDecimal | - |
BOOLEAN | Bool | SqlBool | - |
TINYINT | Int8 | SqlByte | - |
SMALLINT | Int16 | SqlSmallInt | - |
INTEGER | Int32 | SqlInteger | - |
BIGINT | Int64 | SqlBigInt | - |
REAL | Float32 | SqlReal | - |
DOUBLE | Float64 | SqlDouble | - |
DATE | time.DateTime | SqlDate | 值支持 YEAR ,MONTH ,DAY 。 |
TIME | time.DateTime | SqlTime | 值支持 HOUR ,MINUTE ,SECOND (不包括 TIME ZONE )。 |
TIMETZ | time.DateTime | SqlTimeTz | 值支持 HOUR ,MINUTE ,SECOND (包括 TIME ZONE )。 |
TIMESTAMP | time.DateTime | SqlTimestamp | 值支持 YEAR ,MONTH ,DAY ,HOUR ,MINUTE ,SECOND ,TIME ZONE 。 |
INTERVAL | time.Duration | SqlInterval | 年-月间隔或者日-时间隔。 |
API列表
接口
接口名 | 功能 |
---|---|
ColumnInfo | 执行 Select/Query 语句返回结果的列信息。 |
Connection | 数据库连接接口。 |
Datasource | 数据源接口。 |
Driver | 数据库驱动接口。 |
QueryResult | 执行 Select 语句产生的结果接口。 |
SqlDbType (deprecated) | 所有 sql 数据类型的父类。 |
SqlNullableDbType (deprecated) | 允许 null 值的 sql 数据类型父类。 |
Statement | sql 语句预执行接口。 |
Transaction | 定义数据库事务的核心行为。 |
UpdateResult | 执行 Insert、Update、Delete 语句产生的结果接口。 |
类
类名 | 功能 |
---|---|
DriverManager | 支持运行时根据驱动名获取数据库驱动实例。 |
PooledDatasource | 数据库连接池类,提供数据库连接池能力。 |
SqlOption | 预定义的 sql 选项名称和值。 |
SqlBigInt (deprecated) | 大整数,对应仓颉 Int64 类型。 |
SqlBinary (deprecated) | 定长二进制字符串,对应仓颉 Array<Byte> 类型。 |
SqlBlob (deprecated) | 变长超大二进制字符串(BINARY LARGE OBJECT),对应仓颉 InputStream 类型。 |
SqlBool (deprecated) | 布尔类型,对应仓颉 Bool 类型。 |
SqlByte (deprecated) | 字节,对应仓颉 Int8 类型。 |
SqlChar (deprecated) | 定长字符串,对应仓颉 String 类型。 |
SqlClob (deprecated) | 变长超大字符串(RUNE LARGE OBJECT),对应仓颉 InputStream 类型。 |
SqlDate (deprecated) | 日期,仅年月日有效,对应仓颉 DateTime 类型。 |
SqlDecimal (deprecated) | 高精度数,对应仓颉 Decimal 类型。 |
SqlDouble (deprecated) | 双精度数,对应仓颉 Float64 类型。 |
SqlInteger (deprecated) | 中整数,对应仓颉 Int32 类型。 |
SqlInterval (deprecated) | 时间间隔,对应仓颉 Duration 类型。 |
SqlReal (deprecated) | 浮点数,对应仓颉 Float32 类型。 |
SqlSmallInt (deprecated) | 小整数,对应仓颉 Int16 类型。 |
SqlTime (deprecated) | 时间,仅时分秒毫秒有效,对应仓颉 DateTime 类型。 |
SqlTimestamp (deprecated) | 时间戳,对应仓颉 DateTime 类型。 |
SqlTimeTz (deprecated) | 带时区的时间,仅时分秒毫秒时区有效,对应仓颉 DateTime 类型。 |
SqlVarBinary (deprecated) | 变长二进制字符串,对应仓颉 Array<Byte> 类型。 |
SqlVarchar (deprecated) | 变长字符串,对应仓颉 String 类型。 |
SqlNullableBigInt (deprecated) | 大整数,对应仓颉 Int64 类型,可为数据库 Null 值。 |
SqlNullableBinary (deprecated) | 定长二进制字符串,对应仓颉 Array<Byte> 类型,可为数据库 Null 值。 |
SqlNullableBlob (deprecated) | 变长超大二进制字符串(BINARY LARGE OBJECT),对应仓颉 InputStream 类型,可为数据库 Null 值。 |
SqlNullableBool (deprecated) | 布尔类型,对应仓颉 Bool 类型,可为数据库 Null 值。 |
SqlNullableByte (deprecated) | 字节,对应仓颉 Int8 类型,可为数据库 Null 值。 |
SqlNullableChar (deprecated) | 定长二进制字符串,对应仓颉 String 类型,可为数据库 Null 值。 |
SqlNullableClob (deprecated) | 变长超大字符串(RUNE LARGE OBJECT),对应仓颉 InputStream 类型,可为数据库 Null 值。 |
SqlNullableDate (deprecated) | 日期,仅年月日有效,对应仓颉 DateTime 类型,可为数据库 Null 值。 |
SqlNullableDecimal (deprecated) | 高精度数,对应仓颉 Decimal 类型,可为数据库 Null 值。 |
SqlNullableDouble (deprecated) | 双精度数,对应仓颉 Float64 类型,可为数据库 Null 值。 |
SqlNullableInteger (deprecated) | 中整数,对应仓颉 Int32 类型,可为数据库 Null 值。 |
SqlNullableInterval (deprecated) | 时间间隔,对应仓颉 Duration 类型,可为数据库 Null 值。 |
SqlNullableReal (deprecated) | 浮点数,对应仓颉 Float32 类型,可为数据库 Null 值。 |
SqlNullableSmallInt (deprecated) | 小整数,对应仓颉 Int16 类型,可为数据库 Null 值。 |
SqlNullableTime (deprecated) | 时间,仅时分秒毫秒有效,对应仓颉 DateTime 类型,可为数据库 Null 值。 |
SqlNullableTimestamp (deprecated) | 时间戳,对应仓颉 DateTime 类型,可为数据库 Null 值。 |
SqlNullableTimeTz (deprecated) | 带时区的时间,仅时分秒毫秒时区有效,对应仓颉 DateTime 类型,可为数据库 Null 值。 |
SqlNullableVarBinary (deprecated) | 变长二进制字符串,对应仓颉 Array<Byte> 类型,可为数据库 Null 值。 |
SqlNullableVarchar (deprecated) | 变长字符串,对应仓颉 String 类型,可为数据库 Null 值。 |
枚举
枚举名 | 功能 |
---|---|
ConnectionState | 描述与数据源连接的当前状态。 |
TransactionAccessMode | 事务的读写模式。 |
TransactionDeferrableMode | 事务的延迟模式。 |
TransactionIsoLevel | 定义了数据库系统中,一个事务中操作的结果在何时以何种方式对其他并发事务操作可见。 |
异常类
异常类名 | 功能 |
---|---|
SqlException | 用于处理 sql 相关的异常。 |