Go操作mysql資料庫簡單示例

2022-06-23 13:51:09 字數 3119 閱讀 6598

//初始化資料庫

func initdd() (err error)

err = db.pingcontext(ctx)

if err !=nil

return nil

}//查詢

func queryrow() (m map[int]string,err error)

defer rows.close()

m1 :=make(map[int]string)

for rows.next()

m1[u.id] = u.name+strconv.itoa(u.age)

} return m1,nil

}func insertrow() (int64,error)

theid,err := ret.lastinsertid()

if err !=nil

return theid,nil

}//更新操作

func updatedemo(id int) (int64,error)

theid,err := ret.rowsaffected()

if err !=nil

return theid,nil

}func delete(id int)(int64,error)

theid ,err := ret.rowsaffected()

if err !=nil

return theid,nil

}func main()

fmt.println("connect mysql success...")

// **************查詢

m1,err := queryrow()

if err !=nil

for k,v := range m1

// ***************插入

id,err := insertrow()

if err !=nil

fmt.println("insert into table success id:",id)

// ***************更新

id := 213

row,err := updatedemo(id)

if err !=nil

fmt.println("update table sunccess ..affectrows:",row)

// ************ 刪除

row,err := delete(213)

if err !=nil

fmt.println("delete from table success rows:",row)

}

以下是和redis一起使用的mysql示例

從資料庫讀取資料,放入redis(幾種方式),然後從redis獲取資料進行處理,效能最優

)//初始化資料庫

var (

db *sql.db

rdb *redis.client

wg sync.waitgroup

)func initdb() (err error)

ctx,cancel := context.withtimeout(context.background(),5*time.second)

defer cancel()

err = db.pingcontext(ctx)

if err !=nil

return nil

}func initredis() (err error))

ctx,cancel := context.withtimeout(context.background(),5*time.second)

defer cancel()

_,err = rdb.ping(ctx).result()

return err

}// ******************redis string 型別

func putdatatoredis(ctx context.context)

}func getdatabyredis(ctx context.context)

fmt.println(val)

}//*************put list in redis

func putdatatoredisbylist(ctx context.context)

for _,v := range s1

}func getdatabyredisbylist(ctx context.context)

fmt.printf("%t\n",val)

for k,v := range val

}// ******************put hash in redis

func putdatatoredisbyhash(ctx context.context)

err := rdb.hset(ctx,"myhash",m1).err()

if err !=nil

}func getdatabyredisbyhash(ctx context.context)

fmt.println(m1)

}

測試沒什麼問題

go操作mysql資料庫

var db sql.db 資料庫 控制代碼 var errorg error 全域性變數 func init 功能 查詢 引數 tablename 表名 cond 選擇條件 items 選擇的欄位名 返回值 未定 ex select id,name from flask sx test.stu t...

Go操作MySql資料庫

使用go操作mysql等資料庫,一般有兩種方式 一是使用database sql介面,直接在 裡硬編碼sql語句 二是使用gorm,即物件關係對映的方式在 裡抽象的運算元據庫。一般推薦使用第二種方式。go沒有內建的驅動支援任何資料庫,但是go定義了database sql介面,使用者可以基於驅動介面...

Go 語言操作 MySQL 資料庫

完整 如下,其中需要一些函式,理解記住就好。time 2019 11 6 下午 3 04 插入資料 func insertinfo db sql.db 將資訊寫入資料庫 result,execerr stmt.exec female 18 if execerr nil 返回值 id 為,上面的操作,...