您的位置:首页 > 数据库 > MySQL

mysql(或其他数据库)

2019-02-14 15:39 246 查看

连接mysql(用sqlx库,不仅支持mysql,第一个参数还可以是别的数据库):
database, err := sqlx.Open("mysql", "root:password@tcp(127.0.0.1:3306)/dbname")
insert操作:
r, err := Db.Exec("insert into person(username, sex, email)values(?, ?, ?)", "stu001", "man", "stu01@qq.com")

package main

import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
)

type Person struct {
UserId   int    `db:"user_id"`
Username string `db:"username"`
Sex      string `db:"sex"`
Email    string `db:"email"`
}

type Place struct {
Country string `db:"country"`
City    string `db:"city"`
TelCode int    `db:"telcode"`
}

//此处的db是线程安全的,实现了连接池
var Db *sqlx.DB
func init() {
database, err := sqlx.Open("mysql", "root:@tcp(127.0.0.1:3306)/test")
if err != nil {
fmt.Println("open mysql failed,", err)
return
}
Db = database
}

func main() {
r, err := Db.Exec("insert into person(username, sex, email)values(?, ?, ?)", "stu001", "man", "stu01@qq.com")
if err != nil {
fmt.Println("exec failed, ", err)
return
}
id, err := r.LastInsertId()
if err != nil {
fmt.Println("exec failed, ", err)
return
}

fmt.Println("insert succ:", id)
}

Select 操作:
err := Db.Select(&person, "select user_id, username, sex, email from person where user_id=?", 1)

package main

import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
)

type Person struct {
UserId   int    `db:"user_id"`
Username string `db:"username"`
Sex      string `db:"sex"`
Email    string `db:"email"`
}

type Place struct {
Country string `db:"country"`
City    string `db:"city"`
TelCode int    `db:"telcode"`
}
var Db *sqlx.DB
func init() {

database, err := sqlx.Open("mysql", "root:@tcp(127.0.0.1:3306)/test")
if err != nil {
fmt.Println("open mysql failed,", err)
return
}

Db = database
}

func main() {

var person []Person
err := Db.Select(&person, "select user_id, username, sex, email from person where user_id=?", 1)
if err != nil {
fmt.Println("exec failed, ", err)
return
}

fmt.Println("select succ:", person)
}

update操作:
_, err := Db.Exec("update person set username=? where user_id=?", "stu0001", 1)

package main

import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
)

type Person struct {
UserId   int    `db:"user_id"`
Username string `db:"username"`
Sex      string `db:"sex"`
Email    string `db:"email"`
}

type Place struct {
Country string `db:"country"`
City    string `db:"city"`
TelCode int    `db:"telcode"`
}

var Db *sqlx.DB

func init() {

database, err := sqlx.Open("mysql", "root:@tcp(127.0.0.1:3306)/test")
if err != nil {
fmt.Println("open mysql failed,", err)
return
}

Db = database
}

func main() {

_, err := Db.Exec("update person set username=? where user_id=?", "stu0001", 1)
if err != nil {
fmt.Println("exec failed, ", err)
return
}

}

Delete 操作:
_, err := Db.Exec("delete from person where user_id=?", 1)

package main

import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
)

type Person struct {
UserId   int    `db:"user_id"`
Username string `db:"username"`
Sex      string `db:"sex"`
Email    string `db:"email"`
}

type Place struct {
Country string `db:"country"`
City    string `db:"city"`
TelCode int    `db:"telcode"`
}

var Db *sqlx.DB

func init() {

database, err := sqlx.Open("mysql", "root:@tcp(127.0.0.1:3306)/test")
if err != nil {
fmt.Println("open mysql failed,", err)
return
}

Db = database
}

func main() {

_, err := Db.Exec("delete from person where user_id=?", 1)
if err != nil {
fmt.Println("exec failed, ", err)
return
}

fmt.Println("delete succ")
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 数据库
相关文章推荐