sqlites

package
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DbFile = "database.db"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type SqliteDB

type SqliteDB struct {
	DB *sql.DB
}

SqliteDB 是 SQLite 数据库的包装器

func NewSqliteDB

func NewSqliteDB(businessDbPath, dbFile string) (*SqliteDB, error)

NewSqliteDB 创建一个新的 SqliteDB 实例

func (*SqliteDB) AddColumnsIfNotExists

func (db *SqliteDB) AddColumnsIfNotExists(tableName string, columnNames map[string]string) error

新增列如果不存在 k是列名,v是数据类型。

func (*SqliteDB) Close

func (db *SqliteDB) Close() error

Close关闭SqliteDB中的数据库连接

func (*SqliteDB) Count

func (db *SqliteDB) Count(tableName string, conditions []string, args []interface{}) (int, error)

Count 返回总数

func (*SqliteDB) CreateTable

func (db *SqliteDB) CreateTable(tableName string, columns []string) error

CreateTable 方法用于创建数据库表。tableName 是要创建的表名,columns 是列定义字符串的切片, 如 []string{"id INTEGER PRIMARY KEY", "name TEXT"}。

func (*SqliteDB) Delete

func (db *SqliteDB) Delete(tableName string, conditions []string, args []interface{}) error

Delete 方法在表中删除数据。tableName 是要删除数据的表的名字, conditions 是 WHERE 条件,args 是 conditions 中的参数值。

func (*SqliteDB) Exists

func (db *SqliteDB) Exists(tableName string, conditions []string, args []interface{}) (bool, error)

Exists 方法用于查询是否存在满足条件的记录。 tableName 是要查询的表的名字,conditions 是 WHERE 条件,args 是 conditions 中的参数值。

func (*SqliteDB) InitDBTable added in v0.0.4

func (db *SqliteDB) InitDBTable() error

InitDBTable 数据库表

func (*SqliteDB) Insert

func (db *SqliteDB) Insert(tableName string, data map[string]interface{}) error

Insert方法向表中插入数据。tableName是要插入数据的表的名字, data是一个map,其中键是列的名字,值是对应的值。

func (*SqliteDB) InsertFilesDatabase added in v0.0.4

func (db *SqliteDB) InsertFilesDatabase(assetID string, totalPieces int64, operates, status int, modTime time.Time) error

InsertFilesDatabase 插入文件数据

func (*SqliteDB) InsertSlicesDatabase added in v0.0.4

func (db *SqliteDB) InsertSlicesDatabase(assetID, sliceHash string, current, status int) error

InsertSlicesDatabase 插入文件片段数据

func (*SqliteDB) ModifyColumnType

func (db *SqliteDB) ModifyColumnType(tableName string, columnName string, newColumnType string) error

ModifyColumnType方法修改数据库表中指定列的数据类型。tableName是要修改的表的名字, columnName是要修改的列名,newColumnType是要修改成的数据类型。

func (*SqliteDB) Select

func (db *SqliteDB) Select(tableName string, columns []string, conditions []string, args []interface{}, start, limit int, orderBy string) (*sql.Rows, error)

Select 方法从表中查询数据。tableName 是要查询的表的名字,columns 是要查询的列的名字, args 是 WHERE 条件中的参数值,start 是查询的起始行,limit 是查询的行数。conditions 是 WHERE 条件,可以为空。 orderBy 是排序字段,可以包含多个字段,以逗号分隔,例如 "field1 ASC, field2 DESC"。

func (*SqliteDB) SelectOne

func (db *SqliteDB) SelectOne(tableName string, columns []string, conditions []string, args []interface{}) (*sql.Row, error)

SelectOne 方法从表中查询一条数据。tableName 是要查询的表的名字,columns 是要查询的列的名字, args 是 WHERE 条件中的参数值,conditions 是 WHERE 条件,可以为空。

func (*SqliteDB) SelectOneAssetID added in v0.0.4

func (db *SqliteDB) SelectOneAssetID(assetID string) bool

SelectOneAssetID 查询制定的文件资产是否存在

func (*SqliteDB) SelectOneSlicesDatabaseStatus added in v0.0.4

func (db *SqliteDB) SelectOneSlicesDatabaseStatus(assetID string) (*struct {
	SliceHash  string // 文件片段的哈希值
	SliceIndex int    // 文件片段的索引
}, error)

SelectOneSlicesDatabaseStatus 查询指定文件的片段数据对象信息

func (*SqliteDB) Update

func (db *SqliteDB) Update(tableName string, data map[string]interface{}, conditions []string, args []interface{}) error

Update 方法在表中更新数据。tableName 是要更新的表的名字, data 是一个 map,其中键是列名,值是新的值,conditions 是 WHERE 条件,args 是 conditions 中的参数值。

func (*SqliteDB) UpdateFileDatabaseStatus added in v0.0.4

func (db *SqliteDB) UpdateFileDatabaseStatus(assetID string, operates, status int) error

UpdateFileDatabaseStatus 更新文件数据对象的状态 operates 操作(0:下载、1:上传) status 状态(0:失败、1:成功、2:待开始、3:进行中)

func (*SqliteDB) UpdateSlicesDatabaseStatus added in v0.0.4

func (db *SqliteDB) UpdateSlicesDatabaseStatus(assetID, sliceHash string, status int) error

UpdateSlicesDatabaseStatus 更新文件片段数据对象的状态

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL