std.database.sql 包

功能介绍

database.sql 包提供仓颉访问数据库的接口。

本包提供 SQL/CLI 的通用接口,配合数据库驱动 Driver 完成对数据库的各项操作。

注意:

当前仅支持 SQL/CLI 接口。

SQL 数据类型和仓颉数据类型对应表如下:

SQLCDBC/CangjieSqlDataType说明
RUNEStringSqlChar-
VARCHARStringSqlVarchar-
CLOBio.InputStreamSqlClob-
BINARYArray<Byte>SqlBinary-
VARBINARYArray<Byte>SqlVarBinary-
BLOBio.InputStreamSqlBlob-
NUMERICDecimalsqlDecimal-
DECIMALDecimalsqlDecimal-
BOOLEANBoolSqlBool-
TINYINTInt8SqlByte-
SMALLINTInt16SqlSmallInt-
INTEGERInt32SqlInteger-
BIGINTInt64SqlBigInt-
REALFloat32SqlReal-
DOUBLEFloat64SqlDouble-
DATEtime.DateTimeSqlDate值支持 YEARMONTHDAY
TIMEtime.DateTimeSqlTime值支持 HOURMINUTESECOND(不包括 TIME ZONE)。
TIMETZtime.DateTimeSqlTimeTz值支持 HOURMINUTESECOND(包括 TIME ZONE)。
TIMESTAMPtime.DateTimeSqlTimestamp值支持 YEARMONTHDAYHOURMINUTESECONDTIME ZONE
INTERVALtime.DurationSqlInterval年-月间隔或者日-时间隔。

API列表

接口

接口名功能
ColumnInfo执行 Select/Query 语句返回结果的列信息。
Connection数据库连接接口。
Datasource数据源接口。
Driver数据库驱动接口。
QueryResult执行 Select 语句产生的结果接口。
SqlDbType所有 sql 数据类型的父类。
SqlNullableDbType允许 null 值的 sql 数据类型父类。
Statementsql 语句预执行接口。
Transaction定义数据库事务的核心行为。
UpdateResult执行 Insert、Update、Delete 语句产生的结果接口。

类名功能
DriverManager支持运行时根据驱动名获取数据库驱动实例。
PooledDatasource数据库连接池类,提供数据库连接池能力。
SqlOption预定义的 sql 选项名称和值。
SqlBigInt大整数,对应仓颉 Int64 类型。
SqlBinary定长二进制字符串,对应仓颉 Array<Byte> 类型。
SqlBlob变长超大二进制字符串(BINARY LARGE OBJECT),对应仓颉 InputStream 类型。
SqlBool布尔类型,对应仓颉 Bool 类型。
SqlByte字节,对应仓颉 Int8 类型。
SqlChar定长字符串,对应仓颉 String 类型。
SqlClob变长超大字符串(RUNE LARGE OBJECT),对应仓颉 InputStream 类型。
SqlDate日期,仅年月日有效,对应仓颉 DateTime 类型。
SqlDecimal高精度数,对应仓颉 Decimal 类型。
SqlDouble双精度数,对应仓颉 Float64 类型。
SqlInteger中整数,对应仓颉 Int32 类型。
SqlInterval时间间隔,对应仓颉 Duration 类型。
SqlReal浮点数,对应仓颉 Float32 类型。
SqlSmallInt小整数,对应仓颉 Int16 类型。
SqlTime时间,仅时分秒毫秒有效,对应仓颉 DateTime 类型。
SqlTimestamp时间戳,对应仓颉 DateTime 类型。
SqlTimeTz带时区的时间,仅时分秒毫秒时区有效,对应仓颉 DateTime 类型。
SqlVarBinary变长二进制字符串,对应仓颉 Array<Byte> 类型。
SqlVarchar变长字符串,对应仓颉 String 类型。
SqlNullableBigInt大整数,对应仓颉 Int64 类型,可为数据库 Null 值。
SqlNullableBinary定长二进制字符串,对应仓颉 Array<Byte> 类型,可为数据库 Null 值。
SqlNullableBlob变长超大二进制字符串(BINARY LARGE OBJECT),对应仓颉 InputStream 类型,可为数据库 Null 值。
SqlNullableBool布尔类型,对应仓颉 Bool 类型,可为数据库 Null 值。
SqlNullableByte字节,对应仓颉 Int8 类型,可为数据库 Null 值。
SqlNullableChar定长二进制字符串,对应仓颉 String 类型,可为数据库 Null 值。
SqlNullableClob变长超大字符串(RUNE LARGE OBJECT),对应仓颉 InputStream 类型,可为数据库 Null 值。
SqlNullableDate日期,仅年月日有效,对应仓颉 DateTime 类型,可为数据库 Null 值。
SqlNullableDecimal高精度数,对应仓颉 Decimal 类型,可为数据库 Null 值。
SqlNullableDouble双精度数,对应仓颉 Float64 类型,可为数据库 Null 值。
SqlNullableInteger中整数,对应仓颉 Int32 类型,可为数据库 Null 值。
SqlNullableInterval时间间隔,对应仓颉 Duration 类型,可为数据库 Null 值。
SqlNullableReal浮点数,对应仓颉 Float32 类型,可为数据库 Null 值。
SqlNullableSmallInt小整数,对应仓颉 Int16 类型,可为数据库 Null 值。
SqlNullableTime时间,仅时分秒毫秒有效,对应仓颉 DateTime 类型,可为数据库 Null 值。
SqlNullableTimestamp时间戳,对应仓颉 DateTime 类型,可为数据库 Null 值。
SqlNullableTimeTz带时区的时间,仅时分秒毫秒时区有效,对应仓颉 DateTime 类型,可为数据库 Null 值。
SqlNullableVarBinary变长二进制字符串,对应仓颉 Array<Byte> 类型,可为数据库 Null 值。
SqlNullableVarchar变长字符串,对应仓颉 String 类型,可为数据库 Null 值。

枚举

枚举名功能
ConnectionState描述与数据源连接的当前状态。
TransactionAccessMode事务读写模式。
TransactionDeferrableMode事务的延迟模式。
TransactionIsoLevel定义了数据库系统中,一个事务中操作的结果在何时以何种方式对其他并发事务操作可见。

异常类

异常类名功能
SqlException用于处理 sql 相关的异常。