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 相关的异常。 |