gomysql
gomysql copied to clipboard
golang mysql orm
gomysql

###ä»ç»
gomysqlæ¯åºäºgo-sql-driveråºç¡ä¸å¼åçormï¼è¿æ¯ä¸ä¸ªè½»é级çåºãå®ä¼ä½¿æ°æ®åºçå¢å æ¹æ¥åå¾é常容æãå½ç¶ä¹æ¯æµè¯å¼åçï¼ä¼ä¸ç´ä¼ååæ´æ°ï¼è¯·æ¶å»å ³æ³¨æä»¬
###å®è£
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
###ä½¿ç¨æç¨
设置é ç½®æä»¶
[database]
username = mysql username
password = mysql password
hostname = mysql host
charset = mysql charset
database = database name
port = mysql port
åå§åé ç½®
c, _ := gomysql.SetConfig("./conf/conf.ini") //æ ¹æ®é
ç½®æä»¶ï¼è¿æ¥æ°æ®åº
æ¥è¯¢æ°æ®
t := c.SetTable("user") //设置è¦å¤çç表å
data := t.FindOne() //æ¥è¯¢è¡¨ç䏿¡æ°æ®ï¼è¿åmap[int]map[string]stringæ ¼å¼
gomysql.Print(data) //æå°æ°æ®ä¿¡æ¯ï¼è¿åå¦ä¸æªå¾çæ°æ®æ ¼å¼

data := t.Fileds("id", "password", "username").Where("id =12").FindOne() //Fileds æ¥è¯¢å段,Where whereæ¡ä»¶FindOne()æ¥è¯¢ä¸æ¡
//limit sqlä¸çlimit OrderBy sql䏿¥è¯¢çOrderBy
data = c.SetTable("user").Fileds("id", "password", "username").Where("id>1").Limit(1, 5).OrderBy("id Desc").FindAll()
data = t.FindAll() //æ¥è¯¢æææ°æ®ï¼å
¶ä¸OrderBy() Limit() Where() Fileds()ç设置æ¡ä»¶
gomysql.Print(data) //æ¥è¯¢çæ°æ®é½å¯ä»¥ç¨Print()æ¹æ³å好æå°åºæ¥ä¿¡æ¯
æ·»å æ°æ®
var value = make(map[string]interface{}) //设置mapå卿°æ®ï¼map[key]value
value["password"] = "mima3"
value["username"] = "xiaowei"
value["id"] = 10
t := c.SetTable("user") //设置å¢å çæ°æ®è¡¨
t.SetPk("id") //设置主é®èªå¢çåæ®µåç§°
i,err := t.Insert(value) // æå
¥æ°æ®ï¼è¿åå¢å 个æ°åé误信æ¯ãè¿åæåå¢é¿çidåé误信æ¯
ä¿®æ¹æ°æ®
var value = make(map[string]interface{})
value["password"] = "mima3"
value["username"] = "xiaowei"
n, err := c.SetTable("user").Where("id =5").Update(value) //è®¾ç½®è¡¨ï¼æ¡ä»¶åä¿®æ¹çå
容ï¼è¿å影忡æ°åé误信æ¯
å 餿°æ®
n, err := c.SetTable("user").Delete("id = 6") //设置å é¤çè¡¨åæ°æ®ï¼è¿å影忡æ°åé误信æ¯
å ³èæä½
INNER JOIN
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
t.Fileds("user.id", "data.keywords", "user.username", "user.password").LeftJoin("data", "user.id = data.id").FindAll()
fmt.Println(data)
RIGHT JOIN
t.Fileds("user.id", "data.keywords", "user.username", "user.password").RightJoin("data", "user.id = data.id").FindAll()
fmt.Println(data)
FULLãJOIN
data := t.Fileds("user.id", "data.keywords", "user.username", "user.password").RightJoin("data", "user.id = data.id").FindAll()
fmt.Println(data)
èªå®ä¹sqlè¯å¥
// Query()æ¹æ³ æ¯èªå®ä¹sqlè¯å¥ç
insertç±»åçæ°æ®
n := t.Query("INSERT INTO user (`username`,`password`) VALUES ('xiaoweitest','xiaowei')") //è¿åæåå¢é¿çid
update|delete
//update
n := c.Query("update user set username='ceshishenma' where id =17 ")
fmt.Println(n) //1 è¿ååå½±åè¡æ°
//delete
n := c.Query("delete from user where id=16 ")
fmt.Println(n) //1 è¿ååå½±åè¡æ°
select
data := c.Query("select username,password from user")
fmt.Println(data) //è¿åmap[int]map[string]string ç»æçæææ°æ®
å ³éæ°æ®åº
c.DbClose() //å
³éæ°æ®åº
##English Document
###Introduction
Gomysql is based on the go - SQL - driver based on orm, this is a lightweight library.It allows the database to add delete very easily.Of course is also testing the development version, will continue to optimize and update!Please attention to us
###Install
go get github.com/widuu/gomysql
###Rely on the package
mysql :github.com/Go-SQL-Driver/MySQL
goini :github.com/widuu/goini
###Using the tutorial
Set the configuration file
[database]
username = mysql username
password = mysql password
hostname = mysql host
charset = mysql charset
database = database name
port = mysql port
Initialize the configuration
c, _ := gomysql.SetConfig("./conf/conf.ini") //According to the configuration files, connect to the database
Query data
t := c.SetTable("user") //set up the table name
data := t.FindOne() //A data queryï¼return map[int]map[string]string format
gomysql.Print(data) //Print data information, and return the following screenshots data formats

data := t.Fileds("id", "password", "username").Where("id =12").FindOne() //Fileds Query field,Where where conditions FindOne() query a data
//limit - sql limit,OrderBy - sql OrderBy
data = c.SetTable("user").Fileds("id", "password", "username").Where("id>1").Limit(1, 5).OrderBy("id Desc").FindAll()
data = t.FindAll() //Query all the data, including OrderBy () Limit () the Where () Fileds () set conditions
gomysql.Print(data) //Query data can use the Print () method of friendly printed information
Insert data
var value = make(map[string]interface{}) //Set the map data is stored, the map [key] the value
value["password"] = "mima3"
value["username"] = "xiaowei"
value["id"] = 10
t := c.SetTable("user") //Set up to increase the data tables
t.SetPk("id") //Set the primary key on the field name
i,err := t.Insert(value) // Insert data, returns the number increase and error information.Returns the last growth id and error message
Updata data
var value = make(map[string]interface{})
value["password"] = "mima3"
value["username"] = "xiaowei"
n, err := c.SetTable("user").Where("id =5").Update(value) //Set the table, the condition and modify the content of the article returns affect the number and the error information
Delete data
n, err := c.SetTable("user").Delete("id = 6") //Article, set the table and data delete, return to influence the number and the error information
Associated operation
INNER JOIN
t := c.SetTable("user")
//Equivalent to a SQL statement below, print out is
//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
t.Fileds("user.id", "data.keywords", "user.username", "user.password").LeftJoin("data", "user.id = data.id").FindAll()
fmt.Println(data)
RIGHT JOIN
t.Fileds("user.id", "data.keywords", "user.username", "user.password").RightJoin("data", "user.id = data.id").FindAll()
fmt.Println(data)
FULLãJOIN
data := t.Fileds("user.id", "data.keywords", "user.username", "user.password").RightJoin("data", "user.id = data.id").FindAll()
fmt.Println(data)
èªå®ä¹sqlè¯å¥
// Query()function Is a custom SQL statement
insert
n := t.Query("INSERT INTO user (`username`,`password`) VALUES ('xiaoweitest','xiaowei')") //Return the id of the growth
update|delete
//update
n := c.Query("update user set username='ceshishenma' where id =17 ")
fmt.Println(n) //1 Return the affected rows
//delete
n := c.Query("delete from user where id=16 ")
fmt.Println(n) //1 Return the affected rows
select
data := c.Query("select username,password from user")
fmt.Println(data) //return map[int]map[string]string All of the data structure
Close the database
c.DbClose() //close the database