MySQL資料庫5:Go與MySQL的互動
下載第三方依賴
go get github.com/jmoiron/sqlx
go get github.com/go-sql-driver/mysql
- 其中github.com/jmoiron/sqlx是我們需要用到的主要類庫
- github.com/go-sql-driver/mysql是作為MySQL的驅動程式存在的,我們只需要執行包的init方法即可
引入依賴
import (
"github.com/jmoiron/sqlx"
//執行mysql包的init方法
_"github.com/go-sql-driver/mysql"
"fmt"
)
建立測試資料庫表
create database mydb charset=utf8;
use mydb;
create table person(
id int primary key auto_increment,
name varchar(20) unique not null,
age int default 0,
dollar float default 1
);
alter table person add sex bool;
alter table person add schoolday date;
alter table person add birthtime datetime;
定義與資料表向匹配的結構體
/*
id | name | poem | age | dollar | sex | schoolday | birthtime
*/
type Person struct {
//所有屬性必須公開——框架會轉化查詢結果為結構體物件
//標籤名寫法:`db:"表欄位名"`
Name string `db:"name"`
Age int `db:"age"`
Dollar float32 `db:"dollar"`
}
執行增刪改查操作
- 增刪改的方式是db.Exec(sql)
- 查詢的方式是:db.select(&model,sql)
func main() {
//連線資料庫
db, _ := sqlx.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/mydb")
defer db.Close()
//執行增刪改,獲得受影響的行數
result, _ := db.Exec("insert into person(name,age,sex,schoolday,birthtime) values(?,?,?,?,?);", "雙黃蛋", 35, false, 20080813, 20180814164300)
rowsAffected, _:= result.RowsAffected()
lastInsertId, _ := result.LastInsertId()
fmt.Println("受影響的行數",rowsAffected,"最後一條記錄的id",lastInsertId)
//執行增刪改
db.Exec("insert into person(name,age,sex,schoolday,birthtime) values(?,?,?,?,?);", "雙黃蛋", 35, false, 20080813, 20180814164300)
db.Exec("delete from person where id=?;", 2)
db.Exec("update person set name=? where name=?;", "張倆蛋","張全蛋")
//執行查詢,獲得person物件
//用於接收的資料型別是【結構體切片】,必須包含查詢欄位對應的公開屬性,屬性標籤應寫作:`db:"表欄位名"`
var ps []Person
//第一個引數是【結構體切片】的地址
err := db.Select(&ps, "select name,age,dollar from person where name like ?;", "%蛋")
if err!=nil{
fmt.Println("err=",err)
}
fmt.Printf("%T,%v\n", ps, ps)
fmt.Println("執行成功!")
}
學院Go語言視訊主頁
https://edu.csdn.net/lecturer/1928
[清華團隊帶你實戰區塊鏈開發]
(https://ke.qq.com/course/344443?tuin=3d17195d)
掃碼獲取海量視訊及原始碼 QQ群:721929980
相關文章
- python與mysql資料庫互動PythonMySql資料庫
- python資料庫-MySQL與python的互動(52)Python資料庫MySql
- MySQL資料庫6:Go與MySQL事務MySql資料庫Go
- Redis資料庫4:Go與Redis的互動Redis資料庫Go
- MySQL資料庫遷移與MySQL資料庫批量恢復MySql資料庫
- 啟動MySql資料庫MySql資料庫
- MySQL(一):MySQL資料庫事務與鎖MySql資料庫
- Go語言中mysql資料庫操作(一)GoMySql資料庫
- ag介面對接網站Mysql資料庫資源資料互動實踐網站MySql資料庫
- MySQL資料庫如何啟動?MySql資料庫
- Python操作MySQL資料庫的5種方式PythonMySql資料庫
- MYSQL資料庫與Emoji表情的故事MySql資料庫
- mysql資料庫互為主從配置方法分享MySql資料庫
- [資料庫]【MySQL】MySQL資料庫規範總結資料庫MySql
- MySQL 資料庫與 SQL 優化MySql資料庫優化
- 【MySQL 資料庫】MySQL目錄MySql資料庫
- MySQL預設資料庫之mysql庫MySql資料庫
- Mysql資料庫自動備份MySql資料庫
- Python與資料庫的新人手冊 -- MySQLPython資料庫MySql
- Python與資料庫的新人手冊 — MySQLPython資料庫MySql
- 資料庫(MySQL)資料庫MySql
- MYSQL資料庫MySql資料庫
- 資料庫-MySQL資料庫MySql
- 資料庫 MySQL資料庫MySql
- 國產資料庫oceanBbase,達夢,金倉與mysql資料庫的效能對比 六、python讀mysql資料庫資料庫MySqlPython
- mysql資料庫的索引MySql資料庫索引
- python與mysql互動中的各種坑PythonMySql
- MySQL與Python的互動學習筆記MySqlPython筆記
- SqlSugar與資料庫互動官網SqlSugar資料庫
- 查詢MySQL資料庫,MySQL表的大小MySql資料庫
- flask筆記:flask與資料庫的互動Flask筆記資料庫
- Mysql 資料庫匯入與匯出MySql資料庫
- 精PHP與MYSQL資料庫連線PHPMySql資料庫
- 安全快速修改Mysql資料庫名的5種方法MySql資料庫
- 資料庫mysql8.0.22的安裝與使用資料庫MySql
- mysql資料庫語句自動生成MySql資料庫
- MySQL資料庫自動補全命令MySql資料庫
- Python高階 -- 08 MySQL與Python互動PythonMySql