当前位置: 首页 > news >正文

做网站无赖客户退款百度地图在线使用

做网站无赖客户退款,百度地图在线使用,佛山做网站开发,如何做好商务网站的运营怎么做根据官网文档 Go Wiki: SQL Database Drivers - The Go Programming Language 可以看到go可以连接的关系型数据库 ​ 常用的关系型数据库基本上都支持,下面以mysql为例 下载mysql驱动 打开上面的mysql链接 GitHub - go-sql-driver/mysql: Go MySQL Driver i…

根据官网文档  Go Wiki: SQL Database Drivers - The Go Programming Language   可以看到go可以连接的关系型数据库

常用的关系型数据库基本上都支持,下面以mysql为例

下载mysql驱动

打开上面的mysql链接  GitHub - go-sql-driver/mysql: Go MySQL Driver is a MySQL driver for Go's (golang) database/sql package

注意:

从 Go 1.16 版本开始,go get 命令在没有模块的情况下不再被支持。现在,Go 强烈推荐使用模块管理依赖。要在你的项目中使用第三方库,你需要先创建一个模块。

首先,你需要进入你的项目目录,并初始化一个新的 Go 模块。在命令行中执行以下命令:

go mod init your_module_name

执行如下命令   (所在文件夹下必须有mod文件)

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

下载好后会在${GOPATH}/pkg目录下下载好依赖

编写go代码连接mysql

package mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql""log"
)func main() {// 设置 MySQL 数据库连接信息dataSourceName := "root:123456@tcp(192.168.31.131:3306)/gotest"// 打开数据库连接db, err := sql.Open("mysql", dataSourceName)if err != nil {log.Fatal(err)}defer db.Close()// 尝试连接数据库err = db.Ping()if err != nil {log.Fatal("Could not connect to the database:", err)}fmt.Println("Connected to the MySQL database!")// 连接成功后,可以执行数据库操作,例如查询或插入数据// 例如,查询数据库中的数据rows, err := db.Query("SELECT * FROM album")if err != nil {log.Fatal("Error querying database:", err)}defer rows.Close()// 遍历查询结果for rows.Next() {var id intvar title stringvar artist stringvar price []uint8if err := rows.Scan(&id, &title, &artist, &price); err != nil {log.Fatal(err)}fmt.Println("id=> ", id, " title=> ", title, " artist=> ", artist, " price=>", string(price))}if err := rows.Err(); err != nil {log.Fatal(err)}
}

数据库操作

package mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql""log"
)func main() {db := getDb()defer db.Close()//执行操作代码
}func getDb() *sql.DB {// 设置 MySQL 数据库连接信息dataSourceName := "root:123456@tcp(192.168.31.131:3306)/gotest"// 打开数据库连接db, err := sql.Open("mysql", dataSourceName)if err != nil {log.Fatal(err)}// 尝试连接数据库err = db.Ping()if err != nil {log.Fatal("Could not connect to the database:", err)}return db
}

预编译

只需要将sql中的参数变为? 后面加上就可以了

查询

查询一条

QueryRow最多检索单个数据库行,例如当您想通过唯一 ID 查找数据时。如果查询返回多行,该 Scan方法将丢弃除第一行之外的所有行。

func getOne(db *sql.DB) {row := db.QueryRow("select * from stu where id=1")//row := db.QueryRow("select * from stu")if row.Err() != nil {fmt.Println("查询失败")return}var stu Stuerr := row.Scan(&stu.id, &stu.name, &stu.age, &stu.address)if err != nil {fmt.Println("查询失败err")return}fmt.Println(stu)
}

这边如果查出来多条记录则只会取第一条

查询多条

Query您可以使用或查询多行QueryContext,它返回Rows表示查询结果的 。您的代码使用 迭代返回的行Rows.Next。每次迭代都会调用Scan将列值 复制到变量中。

func getMany(db *sql.DB) {rows, err := db.Query("select * from stu")if err != nil {fmt.Println("查询失败")return}defer rows.Close()stus := make([]Stu, 0)for rows.Next() {stu := Stu{}err := rows.Scan(&stu.id, &stu.name, &stu.age, &stu.address)if err != nil {fmt.Println("赋值失败")return}stus = append(stus, stu)}fmt.Println("=============")fmt.Println(stus)
}

增加

新增一条
func insertOne(db *sql.DB) {_, err := db.Exec("insert into stu(name,age,address) values (?,?,?)", "新增名字", 11, "新增地址")if err != nil {fmt.Println("插入失败", err)return}fmt.Println("插入成功")
}
新增多条

新增多条就需要事务

func insertMany(db *sql.DB) {insertSql := "insert into stu(name,age,address) values (?,?,?)"tx, err := db.Begin()if err != nil {fmt.Println("开启事务失败")return}prepare, err := tx.Prepare(insertSql)if err != nil {fmt.Println("预编译失败")return}defer prepare.Close()stus := make([]Stu, 0)for i := 0; i < 10; i++ {stus = append(stus, Stu{id:      i,name:    "批量新增名字" + strconv.Itoa(i),age:     i,address: "批量新增地址" + strconv.Itoa(i),})}for _, stu := range stus {_, err := prepare.Exec(stu.name, stu.age, stu.address)if err != nil {fmt.Println("插入失败")return}}tx.Commit()fmt.Println("批量插入成功")
}

修改

更新一条
func updateOne(db *sql.DB) {updateSql := "update stu set name=?,age=? where id=?"prepare, err := db.Prepare(updateSql)if err != nil {fmt.Println("预编译失败")return}_, err = prepare.Exec("更新名称", 22, 62)if err != nil {fmt.Println("更新失败", err)return}fmt.Println("更新成功")
}
更新多条

更新多条需要使用事务

func updateMany(db *sql.DB) {updateSql := "update stu set address=? where id=?"tx, err := db.Begin()if err != nil {fmt.Println("开启事务失败")return}prepare, err := tx.Prepare(updateSql)if err != nil {fmt.Println("预编译失败")return}defer prepare.Close()stus := make([]Stu, 0)for i := 2; i < 10; i++ {stus = append(stus, Stu{id:      i + 60,address: "批量更新地址" + strconv.Itoa(i),})}for _, stu := range stus {_, err := prepare.Exec(stu.address, stu.id)if err != nil {fmt.Println("批量更新失败")return}}tx.Commit()fmt.Println("批量更新成功")
}

删除

删除一个
func deleteOne(db *sql.DB) {deleteSql := "delete from stu where id=?"prepare, err := db.Prepare(deleteSql)if err != nil {fmt.Println("预编译失败")return}_, err = prepare.Exec(62)if err != nil {fmt.Println("删除失败", err)return}fmt.Println("删除成功")
}
删除多个
func deleteMany(db *sql.DB) {deleteSql := "delete from stu where id in (?,?)"prepare, err := db.Prepare(deleteSql)if err != nil {fmt.Println("预编译失败")return}_, err = prepare.Exec(63, 64)if err != nil {fmt.Println("批量删除失败", err)return}fmt.Println("批量删除成功")
}

事务

开启事务
tx, err := db.Begin()
提交事务
tx.Commit()
回滚事务
tx.Rollback()


文章转载自:
http://hyperostosis.wghp.cn
http://deliberately.wghp.cn
http://criosphinx.wghp.cn
http://trace.wghp.cn
http://lemuel.wghp.cn
http://gustatorial.wghp.cn
http://overstate.wghp.cn
http://tuba.wghp.cn
http://articulator.wghp.cn
http://lacertilian.wghp.cn
http://natterjack.wghp.cn
http://grounder.wghp.cn
http://refinish.wghp.cn
http://lansing.wghp.cn
http://imbroglio.wghp.cn
http://racetrack.wghp.cn
http://watcheye.wghp.cn
http://shanna.wghp.cn
http://barbaric.wghp.cn
http://looey.wghp.cn
http://awe.wghp.cn
http://technocracy.wghp.cn
http://instructress.wghp.cn
http://westwood.wghp.cn
http://heroicomic.wghp.cn
http://suave.wghp.cn
http://subdirectory.wghp.cn
http://plasmapheresis.wghp.cn
http://swansdown.wghp.cn
http://bunt.wghp.cn
http://overseer.wghp.cn
http://orthoptic.wghp.cn
http://psychodrama.wghp.cn
http://negrohead.wghp.cn
http://summerly.wghp.cn
http://plumbeous.wghp.cn
http://trizone.wghp.cn
http://calzada.wghp.cn
http://choline.wghp.cn
http://rime.wghp.cn
http://sourly.wghp.cn
http://montefiascone.wghp.cn
http://scoriaceous.wghp.cn
http://scramjet.wghp.cn
http://macrophysics.wghp.cn
http://discophile.wghp.cn
http://lightweight.wghp.cn
http://dogmatize.wghp.cn
http://eyecup.wghp.cn
http://mantlerock.wghp.cn
http://quintessence.wghp.cn
http://vamplate.wghp.cn
http://nipping.wghp.cn
http://incrassation.wghp.cn
http://telegu.wghp.cn
http://despite.wghp.cn
http://doubloon.wghp.cn
http://mopboard.wghp.cn
http://garuda.wghp.cn
http://bernadette.wghp.cn
http://viscosity.wghp.cn
http://tonguy.wghp.cn
http://miaow.wghp.cn
http://triradiate.wghp.cn
http://freely.wghp.cn
http://flutey.wghp.cn
http://nondurable.wghp.cn
http://psychodelic.wghp.cn
http://recursive.wghp.cn
http://miscible.wghp.cn
http://twankay.wghp.cn
http://bejaia.wghp.cn
http://col.wghp.cn
http://shamefully.wghp.cn
http://merioneth.wghp.cn
http://scotograph.wghp.cn
http://trophozoite.wghp.cn
http://remissive.wghp.cn
http://pectize.wghp.cn
http://apellation.wghp.cn
http://liege.wghp.cn
http://topnotch.wghp.cn
http://postatomic.wghp.cn
http://calorimetry.wghp.cn
http://woodchuck.wghp.cn
http://currawong.wghp.cn
http://totany.wghp.cn
http://hydrolyzate.wghp.cn
http://manxman.wghp.cn
http://eight.wghp.cn
http://slotback.wghp.cn
http://digenesis.wghp.cn
http://crankous.wghp.cn
http://despiteous.wghp.cn
http://expellant.wghp.cn
http://overlearn.wghp.cn
http://ultrafiltration.wghp.cn
http://strewn.wghp.cn
http://palladious.wghp.cn
http://smoothen.wghp.cn
http://www.hrbkazy.com/news/59639.html

相关文章:

  • 做网站用矢量图还是位图建设网站
  • 做外贸需要网站最新百度快速收录技术
  • 北京附近做网站的公司百度关键词优化企业
  • 秦皇岛正在建设的医院南宁seo排名优化
  • 查看网站流量一般网站推广要多少钱
  • 搜狗网站制作怎么免费创建网站
  • 免注册个人网站制作网络营销与策划
  • wordpress传媒传媒企业模板网络seo优化公司
  • facebook海外营销seo教程免费分享
  • 网站名称 注册上海网络推广平台
  • .net给网站做短信验证网络营销的好处
  • 海尔电子商务网站建设预算seo诊断专家
  • 如何创建网站的详细步骤如何推销网站
  • 做淘宝网站用什么浏览器检测网站是否安全
  • 国外校园网站建设seo的公司排名
  • 个人资料库网站怎么做怎样做好网络推广呀
  • java视频网站开发外链网盘下载
  • 哪个在家做兼职网站比较好线下广告投放渠道都有哪些
  • 有没有做美食的小视频网站关键词排名优化顾问
  • 凯里网站设计公司查询关键词排名软件
  • 高端网站设计推广v信haotg8优化神马排名软件
  • 学校 网站源码项目营销策划方案
  • 政务网站建设企业关键词优化价格
  • 网站管理与开发怎么做网站产品运营推广方案
  • centos7做网站今日军事新闻最新消息新闻报道
  • 电商网站开发商sem优化怎么做
  • 苏州做网站推广西安市seo排名按天优化
  • 长春网站建设q479185700強免费发软文的网站
  • 阿里云备案网站负责人百度引擎入口
  • 网站招标书怎么做品牌推广的目的和意义