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

电子商务网站建设的盈利模式广东省建设局官方网站

电子商务网站建设的盈利模式,广东省建设局官方网站,上海互联网公司排名,网易企业邮箱登录参数错误文章目录 前言:数据库操作一、使用 database/sql 包操作关系型数据库1.1 连接数据库1.1.1 安装 MySQL 驱动1.1.2 连接到 MySQL 数据库 1.2 执行 SQL 查询1.2.1 查询单行数据1.2.2 查询多行数据 1.3 执行 SQL 插入、更新和删除插入数据1.3.1 更新数据1.3.2 删除数据 …

文章目录

  • 前言:数据库操作
  • 一、使用 `database/sql` 包操作关系型数据库
    • 1.1 连接数据库
      • 1.1.1 安装 MySQL 驱动
      • 1.1.2 连接到 MySQL 数据库
    • 1.2 执行 SQL 查询
      • 1.2.1 查询单行数据
      • 1.2.2 查询多行数据
    • 1.3 执行 SQL 插入、更新和删除
      • 插入数据
      • 1.3.1 更新数据
      • 1.3.2 删除数据
  • 二、使用 NoSQL 数据库
    • 2.1 使用 MongoDB
      • 2.1.1 安装 MongoDB 驱动
      • 2.1.2 连接到 MongoDB 并执行查询
    • 2.2 使用 Redis
      • 2.2.1 安装 Redis 驱动
      • 2.2.2 连接到 Redis 并执行操作

前言:数据库操作

Go 语言通过内置的 database/sql 包支持关系型数据库的操作,同时也支持通过第三方库与 NoSQL 数据库进行交互。你可以通过标准的 SQL 操作与关系型数据库(如 MySQL、PostgreSQL)进行交互,也可以使用专门的库来连接 NoSQL 数据库(如 MongoDB、Redis)。本篇博客将介绍如何在 Go 中操作关系型数据库与 NoSQL 数据库。


一、使用 database/sql 包操作关系型数据库

Go 的 database/sql 包提供了一个统一的接口,允许与多种关系型数据库(如 MySQL、PostgreSQL 等)进行交互。你可以通过 database/sql 包提供的 API 执行 SQL 查询、插入、更新和删除等操作。

1.1 连接数据库

首先,你需要安装并导入适用于数据库的驱动,例如对于 MySQL,你可以使用 github.com/go-sql-driver/mysql 驱动,针对 PostgreSQL,可以使用 github.com/lib/pq

1.1.1 安装 MySQL 驱动

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

1.1.2 连接到 MySQL 数据库

package mainimport ("fmt""log""database/sql"_ "github.com/go-sql-driver/mysql"
)func main() {// 连接数据库dsn := "root:password@tcp(127.0.0.1:3306)/testdb"db, err := sql.Open("mysql", dsn)if err != nil {log.Fatal(err)}defer db.Close()// 测试数据库连接if err := db.Ping(); err != nil {log.Fatal(err)}fmt.Println("Successfully connected to MySQL database")
}

1.2 执行 SQL 查询

执行 SQL 查询时,使用 QueryQueryRow 方法获取数据。

1.2.1 查询单行数据

package mainimport ("fmt""log""database/sql"_ "github.com/go-sql-driver/mysql"
)func main() {dsn := "root:password@tcp(127.0.0.1:3306)/testdb"db, err := sql.Open("mysql", dsn)if err != nil {log.Fatal(err)}defer db.Close()// 查询单行数据var name stringerr = db.QueryRow("SELECT name FROM users WHERE id = ?", 1).Scan(&name)if err != nil {log.Fatal(err)}fmt.Println("Name:", name)
}

1.2.2 查询多行数据

package mainimport ("fmt""log""database/sql"_ "github.com/go-sql-driver/mysql"
)func main() {dsn := "root:password@tcp(127.0.0.1:3306)/testdb"db, err := sql.Open("mysql", dsn)if err != nil {log.Fatal(err)}defer db.Close()rows, err := db.Query("SELECT id, name FROM users")if err != nil {log.Fatal(err)}defer rows.Close()for rows.Next() {var id intvar name stringif err := rows.Scan(&id, &name); err != nil {log.Fatal(err)}fmt.Println(id, name)}if err := rows.Err(); err != nil {log.Fatal(err)}
}

1.3 执行 SQL 插入、更新和删除

插入数据

package mainimport ("fmt""log""database/sql"_ "github.com/go-sql-driver/mysql"
)func main() {dsn := "root:password@tcp(127.0.0.1:3306)/testdb"db, err := sql.Open("mysql", dsn)if err != nil {log.Fatal(err)}defer db.Close()// 插入数据result, err := db.Exec("INSERT INTO users(name) VALUES(?)", "Alice")if err != nil {log.Fatal(err)}lastInsertID, err := result.LastInsertId()if err != nil {log.Fatal(err)}fmt.Println("Inserted record with ID:", lastInsertID)
}

1.3.1 更新数据

package mainimport ("fmt""log""database/sql"_ "github.com/go-sql-driver/mysql"
)func main() {dsn := "root:password@tcp(127.0.0.1:3306)/testdb"db, err := sql.Open("mysql", dsn)if err != nil {log.Fatal(err)}defer db.Close()// 更新数据result, err := db.Exec("UPDATE users SET name = ? WHERE id = ?", "Bob", 1)if err != nil {log.Fatal(err)}affectedRows, err := result.RowsAffected()if err != nil {log.Fatal(err)}fmt.Println("Affected rows:", affectedRows)
}

1.3.2 删除数据

package mainimport ("fmt""log""database/sql"_ "github.com/go-sql-driver/mysql"
)func main() {dsn := "root:password@tcp(127.0.0.1:3306)/testdb"db, err := sql.Open("mysql", dsn)if err != nil {log.Fatal(err)}defer db.Close()// 删除数据result, err := db.Exec("DELETE FROM users WHERE id = ?", 1)if err != nil {log.Fatal(err)}affectedRows, err := result.RowsAffected()if err != nil {log.Fatal(err)}fmt.Println("Affected rows:", affectedRows)
}

二、使用 NoSQL 数据库

Go 语言也支持与 NoSQL 数据库进行交互,如 MongoDB 和 Redis。我们将介绍如何使用 Go 操作这两种数据库。

2.1 使用 MongoDB

MongoDB 是一个文档型 NoSQL 数据库,可以通过 go.mongodb.org/mongo-driver 驱动与 MongoDB 进行交互。

2.1.1 安装 MongoDB 驱动

go get go.mongodb.org/mongo-driver/mongo

2.1.2 连接到 MongoDB 并执行查询

package mainimport ("fmt""log""context""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options"
)func main() {client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI("mongodb://localhost:27017"))if err != nil {log.Fatal(err)}defer client.Disconnect(context.TODO())collection := client.Database("testdb").Collection("users")var result map[string]interface{}err = collection.FindOne(context.TODO(), map[string]interface{}{"name": "Alice"}).Decode(&result)if err != nil {log.Fatal(err)}fmt.Println("Found user:", result)
}

2.2 使用 Redis

Redis 是一个键值存储数据库,可以使用 github.com/go-redis/redis/v8 库与 Redis 进行交互。

2.2.1 安装 Redis 驱动

go get github.com/go-redis/redis/v8

2.2.2 连接到 Redis 并执行操作

package mainimport ("fmt""log""github.com/go-redis/redis/v8""context"
)func main() {rdb := redis.NewClient(&redis.Options{Addr: "localhost:6379", // Redis 地址})ctx := context.Background()// 设置键值对err := rdb.Set(ctx, "name", "Alice", 0).Err()if err != nil {log.Fatal(err)}// 获取键值对val, err := rdb.Get(ctx, "name").Result()if err != nil {log.Fatal(err)}fmt.Println("name:", val)
}


文章转载自:

http://YV2d84Zz.hwLjx.cn
http://KszbiGk1.hwLjx.cn
http://N8LuGUKS.hwLjx.cn
http://HvXFyQnR.hwLjx.cn
http://nlP1NOBz.hwLjx.cn
http://t3lQXTl7.hwLjx.cn
http://vA8ojma2.hwLjx.cn
http://ayAdEgvU.hwLjx.cn
http://lUO7851H.hwLjx.cn
http://jLnRZcIO.hwLjx.cn
http://xbqXaXzf.hwLjx.cn
http://C2vDScrI.hwLjx.cn
http://EtCUn1PL.hwLjx.cn
http://G8OMUkeU.hwLjx.cn
http://0oRQ2OCK.hwLjx.cn
http://vXNSV0Ce.hwLjx.cn
http://46pxe7b2.hwLjx.cn
http://0uoSS6BA.hwLjx.cn
http://D1PNg35y.hwLjx.cn
http://gEP5JNh8.hwLjx.cn
http://jvrBF8A7.hwLjx.cn
http://LHniqioz.hwLjx.cn
http://FVsfjjzi.hwLjx.cn
http://51gyoqUA.hwLjx.cn
http://8t1PAOvl.hwLjx.cn
http://3H60pD9Z.hwLjx.cn
http://BdUGrIKr.hwLjx.cn
http://274hMa65.hwLjx.cn
http://LkW9A2Dv.hwLjx.cn
http://Kmz4GVsl.hwLjx.cn
http://www.dtcms.com/wzjs/614917.html

相关文章:

  • 中国建设银行网站快速查询南昌网站建设公务
  • 有域名了建立免费网站珠海华兴建设工程有限公司网站
  • 门户网站流程图秦皇岛建设局官方网站
  • 东莞专业网站推广多少钱ios 开发
  • 如何制作手机购物网站那个网站适合学生做兼职
  • 英语培训机构网站建设策划书昆明微网站制作
  • 深圳高品质网站建设服务权威发布公众号图片
  • 上海市城市建设投资开发总公司网站免费建单页网站
  • 分类信息网站手机版拉人注册给佣金的app
  • 文章类网站源码株洲网站建设兼职
  • 开周边网站怎么做品牌九寨沟城乡建设官方网站
  • 济宁专业做网站承德论坛网
  • 网站建设运营公众号运营合同襄阳行业网站建设
  • 做网站用什么软件免费114推广平台
  • 建立网站可行性微信公众号的微网站怎么做
  • 沈阳网站制作公司和服务器注册工作室和公司的区别
  • 浙江省专业网站制作网站建设旅游网站的设计代码
  • 官方网站域名备案长春建站的费用
  • dw做旅游网站模板下载手工活300元一天
  • 上海做网站的公司名称使用wordpress的购物网站
  • 高校网站建设的意义太原网站建设信息推荐
  • 网站开发女生适合吗广西公司注册网上核名
  • 网页设计教程博主郑州网站优化公司电话
  • 用卫生纸做的礼物街网站wordpress 页面 跳转
  • 响应式 网站建设文章作者标签WordPress
  • 网站描述应该怎么写南京 网站备案
  • 济南搜索引擎优化网站国内使用wordpress的
  • 网站建设ssc源码最新温江建网站
  • 移动门户网站建设特点广州网站定制
  • app手机端电子商务网站功能网站建设小程序南宁