mysqldb

package module
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2024 License: MIT Imports: 8 Imported by: 0

README

Golang operation on MySQL/Mariadb

数据库操作

封装mysql/mariadb查询方法,简化逻辑

使用方法

查询单条记录
dbname:=""
tablename:=""
map,err := db.NewQuery().Db(dbname).Table(tablename).
	Where("id=?").Value(1).
	Where("name=?").Value("test").
	Debug(true).//打印sql
	Find()

查询列表
list,err := db.NewQuery().Db(dbname).Table(tablename).
	Where("id=?").Value(1).
	Where("name=?").Value("test").
	List()
条件"或"
list,err := db.NewQuery().Db(dbname).Table(tablename).
	Where("id=?").Where("name=?").WhereOr("mobile=?").
	Value(1).Value("test").Value("22").
	List()
使用Join联表查
jointable:=""
list,err := db.NewQuery().Db(dbname).Table(tablename).Alias("t").
	Join([]string{jointable,t.id=jointable.cid,"LEFT"}).
	Where("t.id=?").Where("name=?").
	Value(1).Value("test").
	List()


list,err := db.NewQuery().Db(dbname).Table(tablename).Alias("t").
	Join([]string{jointable,t.id=a.cid,"LEFT","a"}).
	Where("t.id=?").Where("name=?").
	Value(1).Value("test").
	List()
更新
ret,err := db.NewQuery().Db(dbname).Table(tablename).
	Data("name=?").Value("xxx").
	Data("depart=?").Value("test").
	Update()
插入
ret,err := db.NewQuery().Db(dbname).Table(tablename).
	Data("name=?").Value("xxx").
	Data("depart=?").Value("test").
	Create()
删除
ret,err := db.NewQuery().Db(dbname).Table(tablename).
	Where("name=?").Value("xxx").
	Where("depart=?").Value("test").
	Delete()
事务

使用事务与上述方法类似,区别将初始化方法NewQuery()换成NewTxQuery()

事务更新
ret,err := db.NewTxQuery().Db(dbname).Table(tablename).
	Data("name=?").Value("xxx").
	Data("depart=?").Value("test").
	Update()

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DB *sql.DB

主库

View Source
var DB_PROVIDER string

db类型,默认空,如TencentDB(腾讯),

View Source
var SLAVER_DB *sql.DB

从库

View Source
var TABLE_PREFIX string

表前缀

Functions

func CloseConn

func CloseConn() error

func CloseSlaverConn

func CloseSlaverConn() error

func CloseStmt

func CloseStmt(stmt *sql.Stmt) error

func Connect

func Connect(DBHOST, DBUSER, DBPWD, DBNAME, DBPORT string, conns ...int) (bool, error)

func ConnectSlaver

func ConnectSlaver(DBHOST, DBUSER_SLAVER, DBPWD_SLAVER, DBNAME, DBPORT string, conns ...int) (bool, error)

func GetDataByStmt

func GetDataByStmt(dbName string, table string, title string, where []string, valuelist []interface{}, limit map[string]string) (map[string]string, error)

*

  • 使用db prepare方式查询单条数据
  • @param dbName
  • @param title 查询的字段名
  • @param where 查询条件
  • @param valuelist 查询的条件值
  • @param limit 查询排序
  • GZ
  • 2020/05/19

func GetDbTableName

func GetDbTableName(dbName, table string) string

*

  • 检测表名

func GetJoinListByStmt

func GetJoinListByStmt(dbName string, tableA, tableA_alias string, tableB, tableB_alias string, join_type, join_on string, title string, where []string, valuelist []interface{}, limit map[string]string, page ...int) ([]map[string]string, error)

*

  • 联表查询
  • @param dbName
  • @param tableA 表一
  • @param tableA_alias 表一别名
  • @param tableB 表二
  • @param tableB_alias 表二别名
  • @param join 联表方式
  • @param join_on 联表字段
  • @param title 查询的字段名
  • @param where 查询条件
  • @param valuelist 查询的条件值
  • @param limit 查询排序
  • @param page 查询范围,可传两个值 pageNum,pageSize
  • GZ
  • 2020/11/23

func GetListByStmt

func GetListByStmt(dbName string, table string, title string, where []string, valuelist []interface{}, limit map[string]string, page ...int) ([]map[string]string, error)

*

  • 使用db prepare方式查询列表
  • @param dbName
  • @param title 查询的字段名
  • @param where 查询条件
  • @param valuelist 查询的条件值
  • @param limit 查询排序
  • @param page 查询范围,可传两个值 pageNum,pageSize
  • GZ
  • 2020/05/19

func GetPage

func GetPage(pageNum, pageSize interface{}) (string, string)

*

  • 根据第几页计算从第几行开始
  • @param pageNum 第几页
  • @param pageSize 每页几行
  • @return from,offset 开始行数,偏移量

func InsertByStmt

func InsertByStmt(dbName string, table string, data []string, valuelist []interface{}) (int64, error)

*

  • 使用db prepare写入数据
  • @param dbName
  • @param table 表名
  • @param data 写入的字段
  • @param valuelist 写入的值
  • GZ
  • 2020/08/06

func LeftJoinListByStmt

func LeftJoinListByStmt(dbName string, tableA, tableB string, join_on string, title string, where []string, valuelist []interface{}, limit map[string]string, page ...int) ([]map[string]string, error)

*

  • 左联表查询
  • @param dbName
  • @param tableA 表一
  • @param tableB 表二
  • @param join_on 联表字段
  • @param title 查询的字段名
  • @param where 查询条件
  • @param valuelist 查询的条件值
  • @param limit 查询排序
  • @param page 查询范围,可传两个值 pageNum,pageSize
  • GZ
  • 2021/1/27

func QueryByStmt

func QueryByStmt(sql string, valuelist []interface{}) ([]map[string]string, error)

*

  • 执行自定义查询
  • @return lastId error

func SetTablePrefix

func SetTablePrefix(pre string)

func StmtForInsert

func StmtForInsert(dbName, table string, data []string) (*sql.Stmt, error)

*

  • 准备写入
  • return Stmt error

func StmtForInsertExec

func StmtForInsertExec(stmt *sql.Stmt, valuelist []interface{}) (int64, error)

*

  • 执行写入
  • @return lastId error

func StmtForQuery

func StmtForQuery(querysql string) (*sql.Stmt, error)

*

  • 自定义查询
  • return Stmt error

func StmtForQueryList

func StmtForQueryList(stmt *sql.Stmt, valuelist []interface{}) ([]map[string]string, error)

*

  • 执行查询列表
  • return list error

func StmtForQueryRow

func StmtForQueryRow(stmt *sql.Stmt, valuelist []interface{}) (map[string]string, error)

*

  • 执行查询一条数据
  • return row error

func StmtForRead

func StmtForRead(dbName, table string, title string, where []string, limit map[string]string) (*sql.Stmt, error)

*

  • 准备查询
  • return Stmt error

func StmtForUpdate

func StmtForUpdate(dbName, table string, data []string, where []string) (*sql.Stmt, error)

*

  • 准备更新
  • return Stmt error

func StmtForUpdateExec

func StmtForUpdateExec(stmt *sql.Stmt, valuelist []interface{}) (int64, error)

*

  • 执行更新
  • return is_updated error

func StrFirstToUpper

func StrFirstToUpper(str string) string

*

  • 字符串转大驼峰 ios_bbbbbbbb -> IosBbbbbbbbb

func StringJoin

func StringJoin(s ...string) string

* 连接多个字符串 * 2019/05/05

func ToInt

func ToInt(inter interface{}) int

func ToInt64

func ToInt64(inter interface{}) int64

func ToStr

func ToStr(v interface{}) string

func ToString

func ToString(v interface{}) string

func UpdateByStmt

func UpdateByStmt(dbName string, table string, data []string, where []string, valuelist []interface{}) (int64, error)

*

  • 使用db prepare修改数据
  • @param dbName
  • @param title 查询的字段名
  • @param where 查询条件
  • @param valuelist 查询的条件值
  • @param limit 查询排序
  • GZ
  • 2020/05/19

Types

type Query

type Query struct {
	// contains filtered or unexported fields
}

func NewQuery

func NewQuery() *Query

func (*Query) Alias

func (this *Query) Alias(tablename string) *Query

func (*Query) BuildSelectSql

func (this *Query) BuildSelectSql() (map[string]interface{}, error)

构造子查询

func (*Query) Clean

func (this *Query) Clean() *Query

* 清理上次查询

func (*Query) Conn

func (this *Query) Conn(conn *sql.DB) *Query

func (*Query) Create

func (this *Query) Create() (int64, error)

*

  • 执行写入
  • return is_insert error

func (*Query) CreateAll

func (this *Query) CreateAll() (int64, error)

func (*Query) CreateAllStmt

func (this *Query) CreateAllStmt() error

拼批量插入sql

func (*Query) CreateStmt

func (this *Query) CreateStmt() error

拼插入sql

func (*Query) Data

func (this *Query) Data(data string) *Query

func (*Query) Datas

func (this *Query) Datas(datas []string) *Query

func (*Query) Db

func (this *Query) Db(dbname string) *Query

func (*Query) Debug

func (this *Query) Debug(debug bool) *Query

func (*Query) Delete

func (this *Query) Delete() (int64, error)

*

  • 执行删除
  • return is_delete error

func (*Query) DeleteStmt

func (this *Query) DeleteStmt() error

拼删除sql

func (*Query) Find

func (this *Query) Find() (map[string]string, error)

*

  • 执行查询一条数据
  • return row error

func (*Query) Get

func (this *Query) Get() (map[string]string, error)

*

  • 执行查询一条数据
  • return row error
  • 2022/01/05

func (*Query) GetTableInfo

func (this *Query) GetTableInfo(table string) (map[string]interface{}, error)

获取表格信息

func (*Query) GetTableName

func (this *Query) GetTableName(table string) string

返回表名

func (*Query) Groupby

func (this *Query) Groupby(groupby string) *Query

func (*Query) Having

func (this *Query) Having(having string) *Query

func (*Query) Join

func (this *Query) Join(join []string) *Query

func (*Query) LeftJoin

func (this *Query) LeftJoin(table_name string, condition string, table_alias ...string) *Query

*

  • 左连接
  • 2023/08/10
  • gz

func (*Query) List

func (this *Query) List() ([]map[string]string, error)

*

  • 执行查询多条数据
  • return row error
  • 2022/01/05

func (*Query) Orderby

func (this *Query) Orderby(orderby string) *Query

func (*Query) Page

func (this *Query) Page(page int) *Query

func (*Query) PageSize

func (this *Query) PageSize(page_num int) *Query

func (*Query) QueryStmt

func (this *Query) QueryStmt() error

拼查询sql

func (*Query) RightJoin

func (this *Query) RightJoin(table_name string, condition string, table_alias ...string) *Query

*

  • 右连接
  • 2023/08/10
  • gz

func (*Query) SaveData

func (this *Query) SaveData(value map[string]interface{}) *Query

func (*Query) SaveDatas

func (this *Query) SaveDatas(value []map[string]interface{}) *Query

func (*Query) Select

func (this *Query) Select() ([]map[string]string, error)

*

  • 执行查询列表
  • return list error

func (*Query) Table

func (this *Query) Table(tablename string) *Query

func (*Query) Title

func (this *Query) Title(title string) *Query

func (*Query) UpdField

func (this *Query) UpdField(value string) *Query

func (*Query) UpdFields

func (this *Query) UpdFields(value []string) *Query

func (*Query) Update

func (this *Query) Update() (int64, error)

*

  • 执行更新
  • return is_updated error

func (*Query) UpdateAll

func (this *Query) UpdateAll() (int64, error)

批量更新

func (*Query) UpdateAllStmt

func (this *Query) UpdateAllStmt() error

拼批量存在更新不存在插入sql

func (*Query) UpdateStmt

func (this *Query) UpdateStmt() error

拼更新sql

func (*Query) Value

func (this *Query) Value(value interface{}) *Query

func (*Query) Values

func (this *Query) Values(values []interface{}) *Query

func (*Query) Where

func (this *Query) Where(where string) *Query

func (*Query) WhereOr

func (this *Query) WhereOr(where string) *Query

func (*Query) Wheres

func (this *Query) Wheres(wheres []string) *Query

type TxQuery

type TxQuery struct {
	// contains filtered or unexported fields
}

func NewTxQuery

func NewTxQuery() *TxQuery

func (*TxQuery) Alias

func (this *TxQuery) Alias(tablename string) *TxQuery

func (*TxQuery) BuildSelectSql

func (this *TxQuery) BuildSelectSql() (map[string]interface{}, error)

构造子查询

func (*TxQuery) Clean

func (this *TxQuery) Clean() *TxQuery

* 清理上次查询

func (*TxQuery) Commit

func (this *TxQuery) Commit() error

*

  • 提交

func (*TxQuery) Conn

func (this *TxQuery) Conn(conn *sql.DB) *TxQuery

func (*TxQuery) Create

func (this *TxQuery) Create() (int64, error)

*

  • 执行写入
  • return is_insert error

func (*TxQuery) CreateAll

func (this *TxQuery) CreateAll() (int64, error)

*

  • 执行批量写入
  • return is_insert error

func (*TxQuery) CreateAllStmt

func (this *TxQuery) CreateAllStmt() error

拼批量插入sql

func (*TxQuery) CreateStmt

func (this *TxQuery) CreateStmt() error

拼插入sql

func (*TxQuery) Data

func (this *TxQuery) Data(data string) *TxQuery

func (*TxQuery) Datas

func (this *TxQuery) Datas(datas []string) *TxQuery

func (*TxQuery) Db

func (this *TxQuery) Db(dbname string) *TxQuery

func (*TxQuery) Debug

func (this *TxQuery) Debug(debug bool) *TxQuery

func (*TxQuery) Delete

func (this *TxQuery) Delete() (int64, error)

*

  • 执行删除
  • return is_delete error

func (*TxQuery) DeleteStmt

func (this *TxQuery) DeleteStmt() error

拼删除sql

func (*TxQuery) Find

func (this *TxQuery) Find() (map[string]string, error)

*

  • 执行查询一条数据
  • return row error

func (*TxQuery) GetTableInfo

func (this *TxQuery) GetTableInfo(table string) (map[string]interface{}, error)

获取表格信息

func (*TxQuery) GetTableName

func (this *TxQuery) GetTableName(table string) string

返回表名

func (*TxQuery) Groupby

func (this *TxQuery) Groupby(groupby string) *TxQuery

func (*TxQuery) Having

func (this *TxQuery) Having(having string) *TxQuery

func (*TxQuery) Join

func (this *TxQuery) Join(join []string) *TxQuery

func (*TxQuery) LeftJoin

func (this *TxQuery) LeftJoin(table_name string, condition string, table_alias ...string) *TxQuery

*

  • 左连接
  • 2023/08/10
  • gz

func (*TxQuery) Orderby

func (this *TxQuery) Orderby(orderby string) *TxQuery

func (*TxQuery) Page

func (this *TxQuery) Page(page int) *TxQuery

func (*TxQuery) PageSize

func (this *TxQuery) PageSize(page_num int) *TxQuery

func (*TxQuery) QueryStmt

func (this *TxQuery) QueryStmt() error

拼查询sql

func (*TxQuery) RightJoin

func (this *TxQuery) RightJoin(table_name string, condition string, table_alias ...string) *TxQuery

*

  • 右连接
  • 2023/08/10
  • gz

func (*TxQuery) Rollback

func (this *TxQuery) Rollback() error

*

  • 回滚

func (*TxQuery) SaveData

func (this *TxQuery) SaveData(value map[string]interface{}) *TxQuery

func (*TxQuery) SaveDatas

func (this *TxQuery) SaveDatas(value []map[string]interface{}) *TxQuery

func (*TxQuery) Select

func (this *TxQuery) Select() ([]map[string]string, error)

*

  • 执行查询列表
  • return list error

func (*TxQuery) Table

func (this *TxQuery) Table(tablename string) *TxQuery

func (*TxQuery) Title

func (this *TxQuery) Title(title string) *TxQuery

func (*TxQuery) UpdField

func (this *TxQuery) UpdField(value string) *TxQuery

func (*TxQuery) UpdFields

func (this *TxQuery) UpdFields(value []string) *TxQuery

func (*TxQuery) Update

func (this *TxQuery) Update() (int64, error)

*

  • 执行更新
  • return is_updated error

func (*TxQuery) UpdateAll

func (this *TxQuery) UpdateAll() (int64, error)

UpdateAll 批量更新(根据唯一键判断存在则更新,不存在则创建)

func (*TxQuery) UpdateAllStmt

func (this *TxQuery) UpdateAllStmt() error

拼批量存在更新不存在插入sql

func (*TxQuery) UpdateStmt

func (this *TxQuery) UpdateStmt() error

拼更新sql

func (*TxQuery) Value

func (this *TxQuery) Value(value interface{}) *TxQuery

func (*TxQuery) Values

func (this *TxQuery) Values(values []interface{}) *TxQuery

func (*TxQuery) Where

func (this *TxQuery) Where(where string) *TxQuery

func (*TxQuery) WhereOr

func (this *TxQuery) WhereOr(where string) *TxQuery

func (*TxQuery) Wheres

func (this *TxQuery) Wheres(wheres []string) *TxQuery

Jump to

Keyboard shortcuts

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