GORM 学习笔记 01-go 原生操作 sql

官方文档

安装驱动

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

连接

引入驱动

import (
	"database/sql"
	"fmt"
	"log"

	//引入驱动
	_ "github.com/go-sql-driver/mysql"
)
db, err := sql.Open("mysql", "root:root@tcp(127.0.0.1:3306)/gorm_new_db")
if err != nil {
  log.Fatalf("数据库连接失败 %s", err)
}
	//判断是否连接成功
	err = db.Ping()
	if err != nil {
		log.Fatalf("数据库连接失败 %s", err)
	}
	fmt.Println(db)

执行sql

除查询外,使用Exec函数

//插入数据
res, err := db.Exec("insert into user(username,age) values ('lier',29)")
if err != nil {
	fmt.Println(err)
	return
}
fmt.Println(res)

查询sql

可以使用Query函数

rows, err := db.Query("select id,username from user")
if err != nil {
	log.Fatalf("查询失败 %s", err)
}
defer rows.Close()
for rows.Next() {
	var id int
	var name string
	err = rows.Scan(&id, &name)
	fmt.Println(id, name, err)
}

也可以使用QueryRow函数,查一行

//查一行
var id int
var name string
err = db.QueryRow("select id,username from user").Scan(&id, &name)
fmt.Println(id, name)