go get github.com/go-sql-driver/mysql import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" )
//用户名:密码^@tcp(地址:3306)/数据库 db, err := sql.Open("mysql", "root:123456%^@tcp(39.107.87.114:3306)/book_manager?charset=utf8") if err!=nil { fmt.Println(err) return }
//表结构 type info struct { id int `db:"id"` name string `db:"name"` author string `db:"author"` } //查询表 rows,err:=db.Query("SELECT * FROM book") //遍历打印 for rows.Next(){ var s info err=rows.Scan(&s.id,&s.name,&s.author,) fmt.Println(s) } //用完关闭 rows.Close()
完整代码
[kou@python golang]$ go run go_mysql.go {4 三国演义 罗贯中}
//执行MySql语句 result,err:=db.Exec("INSERT INTO book(id,name,author)VALUES (?,?,?)",2,"将进酒","李白") if err != nil { panic(err) } fmt.Println(result) for rows.Next(){ var s info err=rows.Scan(&s.id,&s.name,&s.author,) fmt.Println(s) } rows.Close() }
[kou@python golang]$ !g go run go_mysql.go {4 三国演义 罗贯中} {0xc0000a2100 0xc000016390} [kou@python golang]$ !g go run go_mysql.go {2 将进酒 李白} {4 三国演义 罗贯中} panic: Error 1062: Duplicate entry '2' for key 'PRIMARY' goroutine 1 [running]: main.main() /home/kou/golang/go_mysql.go:32 +0x4fa exit status 2 [kou@python golang]$ !vi vim go_mysql.go
db.Exec("DELETE FROM book where id=?", 2) rows,err:=db.Query("SELECT * FROM book") for rows.Next(){ var s info err=rows.Scan(&s.id,&s.name,&s.author,) fmt.Println(s) }
[kou@python golang]$ !g go run go_mysql.go {4 三国演义 罗贯中}
go语言如何连接数据库介绍到这里,更多Go学习请参考编程字典Go教程 和问答部分,谢谢大家对编程字典的支持。
原文链接:https://blog.csdn.net/csdn_kou/article/details/90730861?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163480011616780274138504%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163480011616780274138504&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-2-90730861.pc_v2_rank_blog_default&utm_term=go&spm=1018.2226.3001.4450