gomysql
官方网站http://www.widuu.com
介绍
gomysql是基于go-sql-driver基础上开发的orm,这是一个轻量级的库。它会使数据库的增删改查变得非常容易。当然也是测试开发版,会一直优化和更新!请时刻关注我们
安装
1 2 3
| go get github.com/go-sql-driver/mysql go get github.com/widuu/goini go get github.com/widuu/gomysql
|
依赖的包
mysql :github.com/Go-SQL-Driver/MySQL
goini :github.com/widuu/goini
使用教程
设置配置文件
1 2 3 4 5 6 7
| [database] username = mysql username password = mysql password hostname = mysql host charset = mysql charset database = database name port = mysql port
|
初始化配置
1
| c, _ := gomysql.SetConfig("./conf/conf.ini")
|
查询数据
1 2 3 4 5 6 7 8 9
| t := c.SetTable("user") data := t.FindOne() gomysql.Print(data) data := t.Fileds("id", "password", "username").Where("id =12").FindOne() data = c.SetTable("user").Fileds("id", "password", "username").Where("id>1").Limit(1, 5).OrderBy("id Desc").FindAll() data = t.FindAll() gomysql.Print(data)
|
添加数据
1 2 3 4 5 6 7
| var value = make(map[string]interface{}) value["password"] = "mima3" value["username"] = "xiaowei" value["id"] = 10 t := c.SetTable("user") t.SetPk("id") i,err := t.Insert(value)
|
修改数据
1 2 3 4
| var value = make(map[string]interface{}) value["password"] = "mima3" value["username"] = "xiaowei" n, err := c.SetTable("user").Where("id =5").Update(value)
|
删除数据
1
| n, err := c.SetTable("user").Delete("id = 6")
|
关联操作
INNER JOIN
1 2 3 4
| t := c.SetTable("user") //下面相当于sql语句,打印出是Select user.id,data.keywords,user.username,user.password from user INNER JOIN data ON user.id = data.id data := t.Fileds("user.id", "data.keywords", "user.username", "user.password").Join("data", "user.id = data.id").FindAll() fmt.Println(data)
|
LEFT JOIN
1 2
| t.Fileds("user.id", "data.keywords", "user.username", "user.password").LeftJoin("data", "user.id = data.id").FindAll() fmt.Println(data)
|
RIGHT JOIN
1 2
| t.Fileds("user.id", "data.keywords", "user.username", "user.password").RightJoin("data", "user.id = data.id").FindAll() fmt.Println(data)
|
FULL JOIN
1 2
| data := t.Fileds("user.id", "data.keywords", "user.username", "user.password").RightJoin("data", "user.id = data.id").FindAll() fmt.Println(data)
|
自定义sql语句
insert类型的数据
1
| n := t.Query("INSERT INTO user (`username`,`password`) VALUES ('xiaoweitest','xiaowei')") //返回最后增长的id
|
update|delete
1 2 3 4 5 6 7
| n := c.Query("update user set username='ceshishenma' where id =17 ") fmt.Println(n) n := c.Query("delete from user where id=16 ") fmt.Println(n)
|
select
1 2
| data := c.Query("select username,password from user") fmt.Println(data) //返回map[int]map[string]string 结构的所有数据
|
关闭数据库