当前位置:Gxlcms > 数据库问题 > Golang之Mysql操作

Golang之Mysql操作

时间:2021-07-01 10:21:17 帮助过:4人阅读

"fmt" "github.com/jmoiron/sqlx" _ "github.com/go-sql-driver/mysql" //初始化一个mysql驱动,必须 ) type Person struct { UserId int `db:"user_id"` Username string `db:"username"` Sex string `db:"sex"` Email string `db:"email"` } type Place struct { Country string `db:"country"` City string `db:"city"` TelCode int `db:"telcode"` } var Db *sqlx.DB func init() { //"mysql"指定数据库类型, /test指定数据库 root:123 冒号隔开密码 root账号 123密码 database, err := sqlx.Open("mysql", "root@tcp(127.0.0.1:3306)/test") if err != nil { fmt.Println("open mysql failed,", err) return } Db = database } func main() { //插入数据入表 r, err := Db.Exec("insert into person(username,sex,email)values(?,?,?)", "chaoge", "man", "yc_uuu@163.com") if err != nil { fmt.Println("exec failed,", err) return } id, err := r.LastInsertId() if err != nil { fmt.Println("exec failed,", err) return } fmt.Println("insert succ:", id) } insert

查询select

技术分享图片
  1. <span style="color: #000000;">package main
  2. import (
  3. </span><span style="color: #800000;">"</span><span style="color: #800000;">fmt</span><span style="color: #800000;">"</span><span style="color: #000000;">
  4. _ </span><span style="color: #800000;">"</span><span style="color: #800000;">github.com/go-sql-driver/mysql</span><span style="color: #800000;">"</span>
  5. <span style="color: #800000;">"</span><span style="color: #800000;">github.com/jmoiron/sqlx</span><span style="color: #800000;">"</span><span style="color: #000000;">
  6. )
  7. type Person </span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> {
  8. UserId </span><span style="color: #0000ff;">int</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">user_id</span><span style="color: #800000;">"‘</span><span style="color: #800000;">`</span>
  9. Username <span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">username</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  10. Sex </span><span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">sex</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  11. Email </span><span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">email</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  12. }
  13. type Place </span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> {
  14. Country </span><span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">country</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  15. City </span><span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">city</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  16. TelCode </span><span style="color: #0000ff;">int</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">telcode</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  17. }
  18. </span><span style="color: #0000ff;">var</span> Db *<span style="color: #000000;">sqlx.DB
  19. func init() {
  20. </span><span style="color: #008000;">//</span><span style="color: #008000;">初始化链接数据库</span>
  21. database, err := sqlx.Open(<span style="color: #800000;">"</span><span style="color: #800000;">mysql</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">root:@tcp(127.0.0.1:3306)/test</span><span style="color: #800000;">"</span><span style="color: #000000;">)
  22. </span><span style="color: #0000ff;">if</span> err !=<span style="color: #000000;"> nil {
  23. fmt.Println(</span><span style="color: #800000;">"</span><span style="color: #800000;">open mysql failed</span><span style="color: #800000;">"</span><span style="color: #000000;">, err)
  24. </span><span style="color: #0000ff;">return</span><span style="color: #000000;">
  25. }
  26. Db </span>=<span style="color: #000000;"> database
  27. }
  28. func main() {
  29. </span><span style="color: #0000ff;">var</span><span style="color: #000000;"> person []Person
  30. err :</span>= Db.Select(&person, <span style="color: #800000;">"</span><span style="color: #800000;">select user_id,username,sex,email from person where user_id=?</span><span style="color: #800000;">"</span>, <span style="color: #800080;">1</span><span style="color: #000000;">)
  31. </span><span style="color: #0000ff;">if</span> err !=<span style="color: #000000;"> nil {
  32. fmt.Println(</span><span style="color: #800000;">"</span><span style="color: #800000;">exec failed,</span><span style="color: #800000;">"</span><span style="color: #000000;">, err)
  33. </span><span style="color: #0000ff;">return</span><span style="color: #000000;">
  34. }
  35. fmt.Println(</span><span style="color: #800000;">"</span><span style="color: #800000;">select succ:</span><span style="color: #800000;">"</span><span style="color: #000000;">, person)
  36. }</span>
select

改update

技术分享图片
  1. <span style="color: #000000;">package main
  2. import (
  3. </span><span style="color: #800000;">"</span><span style="color: #800000;">fmt</span><span style="color: #800000;">"</span><span style="color: #000000;">
  4. _ </span><span style="color: #800000;">"</span><span style="color: #800000;">github.com/go-sql-driver/mysql</span><span style="color: #800000;">"</span>
  5. <span style="color: #800000;">"</span><span style="color: #800000;">github.com/jmoiron/sqlx</span><span style="color: #800000;">"</span><span style="color: #000000;">
  6. )
  7. type Person </span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> {
  8. UserId </span><span style="color: #0000ff;">int</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">user_id</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  9. Username </span><span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">username</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  10. Sex </span><span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">sex</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  11. Email </span><span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">email</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  12. }
  13. type Place </span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> {
  14. Country </span><span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">country</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  15. City </span><span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">city</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  16. TelCode </span><span style="color: #0000ff;">int</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">telcode</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  17. }
  18. </span><span style="color: #0000ff;">var</span> Db *<span style="color: #000000;">sqlx.DB
  19. func init() {
  20. database, err :</span>= sqlx.Open(<span style="color: #800000;">"</span><span style="color: #800000;">mysql</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">root@tcp(127.0.0.1:3306)/test</span><span style="color: #800000;">"</span><span style="color: #000000;">)
  21. </span><span style="color: #0000ff;">if</span> err !=<span style="color: #000000;"> nil {
  22. fmt.Println(</span><span style="color: #800000;">"</span><span style="color: #800000;">open mysql failed,</span><span style="color: #800000;">"</span><span style="color: #000000;">, err)
  23. </span><span style="color: #0000ff;">return</span><span style="color: #000000;">
  24. }
  25. Db </span>=<span style="color: #000000;"> database
  26. }
  27. func main() {
  28. _, err :</span>= Db.Exec(<span style="color: #800000;">"</span><span style="color: #800000;">update person set username=? where user_id=?</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">chaoge666</span><span style="color: #800000;">"</span>, <span style="color: #800080;">1</span><span style="color: #000000;">)
  29. </span><span style="color: #0000ff;">if</span> err !=<span style="color: #000000;"> nil {
  30. fmt.Println(</span><span style="color: #800000;">"</span><span style="color: #800000;">exec failed,</span><span style="color: #800000;">"</span><span style="color: #000000;">, err)
  31. }
  32. }</span>
update

删delete

技术分享图片
  1. <span style="color: #000000;">package main
  2. import (
  3. </span><span style="color: #800000;">"</span><span style="color: #800000;">fmt</span><span style="color: #800000;">"</span><span style="color: #000000;">
  4. _ </span><span style="color: #800000;">"</span><span style="color: #800000;">github.com/go-sql-driver/mysql</span><span style="color: #800000;">"</span>
  5. <span style="color: #800000;">"</span><span style="color: #800000;">github.com/jmoiron/sqlx</span><span style="color: #800000;">"</span><span style="color: #000000;">
  6. )
  7. type Person </span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> {
  8. UserId </span><span style="color: #0000ff;">int</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">user_id</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  9. Username </span><span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">username</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  10. Sex </span><span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">sex</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  11. Email </span><span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">email</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  12. }
  13. type Place </span><span style="color: #0000ff;">struct</span><span style="color: #000000;"> {
  14. Country </span><span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">country</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  15. City </span><span style="color: #0000ff;">string</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">city</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  16. TelCode </span><span style="color: #0000ff;">int</span> `db:<span style="color: #800000;">"</span><span style="color: #800000;">telcode</span><span style="color: #800000;">"</span><span style="color: #000000;">`
  17. }
  18. </span><span style="color: #0000ff;">var</span> Db *<span style="color: #000000;">sqlx.DB
  19. func init() {
  20. </span><span style="color: #008000;">//</span><span style="color: #008000;">初始化链接数据库</span>
  21. database, err := sqlx.Open(<span style="color: #800000;">"</span><span style="color: #800000;">mysql</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">root@tcp(127.0.0.1:3306)/test</span><span style="color: #800000;">"</span><span style="color: #000000;">)
  22. </span><span style="color: #0000ff;">if</span> err !=<span style="color: #000000;"> nil {
  23. fmt.Println(</span><span style="color: #800000;">"</span><span style="color: #800000;">open mysql failed,</span><span style="color: #800000;">"</span><span style="color: #000000;">, err)
  24. </span><span style="color: #0000ff;">return</span><span style="color: #000000;">
  25. }
  26. Db </span>=<span style="color: #000000;"> database
  27. }
  28. func main() {
  29. _, err :</span>= Db.Exec(<span style="color: #800000;">"</span><span style="color: #800000;">delete FROM person where user_id=?</span><span style="color: #800000;">"</span>, <span style="color: #800080;">1</span><span style="color: #000000;">)
  30. </span><span style="color: #0000ff;">if</span> err !=<span style="color: #000000;"> nil {
  31. fmt.Println(</span><span style="color: #800000;">"</span><span style="color: #800000;">exec failed,</span><span style="color: #800000;">"</span><span style="color: #000000;">, err)
  32. </span><span style="color: #0000ff;">return</span><span style="color: #000000;">
  33. }
  34. fmt.Println(</span><span style="color: #800000;">"</span><span style="color: #800000;">delete succ</span><span style="color: #800000;">"</span><span style="color: #000000;">)
  35. }</span>
delete

 

Golang之Mysql操作

标签:操作   账号   where   eve   增加   36-6   int   ret   failed   

人气教程排行