mysql go语法_go (golang)使用mysql 数据库

本文介绍了如何在Go(Golang)中使用MySQL数据库,包括下载导入数据库驱动包、连接数据库、执行查询(Exec、Query、QueryRow、预编译语句)、以及事务处理的基本步骤。示例代码展示了如何查询数据库并打印结果。
摘要由CSDN通过智能技术生成

导入MYSQL 包

1.下载并导入数据库驱动包

官方不提供实现,先下载第三方的实现,点击这里查看各种各样的实现版本。

这里选择了Go-MySQL-Driver这个实现。地址是:https://github.com/go-sql-driver/mysql/。

然后按照里面的说明下载驱动包:

$ go get github.com/go-sql-driver/mysql

最后导入包即可:

import "database/sql"

import _ "github.com/go-sql-driver/mysql"

2.连接至数据库

db, err := sql.Open("mysql", "root:root@/uestcbook")

3.执行查询

(1)Exec

result, err := db.Exec(

"INSERT INTO users (name, age) VALUES (?, ?)",

"gopher",

27,

)

(2)Query

rows, err := db.Query("SELECT name FROM users WHERE age = ?", age)

if err != nil {

log.Fatal(err)

}

for rows.Next() {

var name string

if err := rows.Scan(&name); err != nil {

log.Fatal(err)

}

fmt.Printf("%s is %d\n", name, age)

}

if err := rows.Err(); err != nil {

log.Fatal(err)

}

(3)QueryRow

var age int64

row := db.QueryRow("SELECT age FROM users WHERE name = ?", name)

err := row.Scan(&age)

(4)Prepared statements

age := 27

stmt, err := db.Prepare("SELECT name FROM users WHERE age = ?")

if err != nil {

log.Fatal(err)

}

rows, err := stmt.Query(age)

// process rows

4. 事务

tx, err := db.Begin()

if err != nil {

log.Fatal(err)

}

测试代码

package main

import (

"database/sql"

"fmt"

_ "github.com/go-sql-driver/mysql"

)

func main() {

db, _ := sql.Open("mysql", "root:root@tcp(localhost:3306)/amz?charset=utf8")

rows, _ := db.Query("select name from product_amz limit 0,100")

for rows.Next() {

var name string

rows.Scan(&name)

fmt.Println(name)

}

//db.Exec("")

}

10209e540cf96e836295e32263af737c.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值