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

云加速应用于html网站百度代理加盟

云加速应用于html网站,百度代理加盟,网站建设相关关键词,网站开发技术选型30天学会Go–第9天 GO语言 MySQL学习与实践 文章目录 30天学会Go--第9天 GO语言 MySQL学习与实践前言一、MySQL 基础知识1.1 MySQL 的核心特征1.2 MySQL 的常见使用情景 二、安装 MySQL2.1 Windows 安装2.2 macOS 安装2.3 Linux 安装 三、MySQL 常用命令3.1 数据库操作3.2 表操…

30天学会Go–第9天 GO语言 MySQL学习与实践

文章目录

  • 30天学会Go--第9天 GO语言 MySQL学习与实践
    • 前言
    • 一、MySQL 基础知识
      • 1.1 MySQL 的核心特征
      • 1.2 MySQL 的常见使用情景
    • 二、安装 MySQL
      • 2.1 Windows 安装
      • 2.2 macOS 安装
      • 2.3 Linux 安装
    • 三、MySQL 常用命令
      • 3.1 数据库操作
      • 3.2 表操作
      • 3.3 数据操作
    • 四、在Go使用 `database/sql` 操作 MySQL
      • 4.1 安装 MySQL 驱动
      • 4.2 连接 MySQL
      • 4.3 增删改查操作
        • 4.3.1 插入数据
        • 4.3.2 查询数据
        • 4.3.3 更新数据
        • 4.3.4 删除数据
    • 五、使用 GORM 来简化数据库操作
      • 5.1 安装 GORM
      • 5.2 初始化 GORM
      • 5.3 定义模型
      • 5.4 自动迁移
      • 5.5 增删改查操作
        • 5.5.1 插入数据
        • 5.5.2 查询数据
        • 5.5.3 更新数据
        • 5.5.4 删除数据
    • 六、总结

前言

在后端开发中,数据库是不可或缺的组成部分,而 MySQL 是最流行的关系型数据库之一。Go 语言为操作 MySQL 提供了多种方式,包括标准库 database/sql 和更高级的 ORM 框架(如 GORM)。本章将带你学习如何在 Go 中使用 MySQL,掌握从基础到高级的数据库操作技巧。

MySQL中文官方文档指南:MySQL 中文文档 | MySQL 中文网

MySQL的中文官方文档学习笔记很全,推荐去官网学习

非关系数据库(nosql)Redis传送点:30天学会Go–第7天 GO语言 Redis 学习与实践(改)-CSDN博客


一、MySQL 基础知识

1.1 MySQL 的核心特征

MySQL 是一个开源的关系型数据库管理系统(RDBMS),因其高性能、稳定性和易用性而广泛应用。以下是 MySQL 的核心特征:

  1. 开源免费:MySQL 是一个开源项目,开发者可以免费使用,同时也提供企业版以满足高级需求。
  2. 跨平台支持:支持多种操作系统,包括 Windows、Linux 和 macOS。
  3. 高性能:MySQL 能够处理高并发的读写操作,适合大规模应用场景。
  4. 支持事务:通过 InnoDB 存储引擎支持事务处理,提供 ACID 特性(原子性、一致性、隔离性、持久性)。
  5. 灵活的存储引擎:支持多种存储引擎(如 InnoDB、MyISAM 等),开发者可以根据需求选择合适的引擎。
  6. 丰富的生态系统:拥有强大的社区支持和丰富的第三方工具(如备份工具、监控工具等)。

1.2 MySQL 的常见使用情景

MySQL 因其高性能和灵活性,被广泛应用于多种场景中,以下是一些典型的使用情景:

  1. Web 应用开发:
    • MySQL 是 LAMP(Linux、Apache、MySQL、PHP/Python/Perl)架构中的重要组成部分,广泛用于构建动态网站和内容管理系统(CMS)。
    • 例如:WordPress、Joomla 等开源 CMS 都使用 MySQL 作为默认数据库。
  2. 电子商务平台:
    • 适用于高并发的订单处理和商品管理系统。
    • 例如:Shopify 和 Magento 等电商平台使用 MySQL 作为核心数据库。
  3. 数据仓库和分析:
    • 通过 MySQL 的分区和索引功能,可以存储和分析大量数据。
    • 例如:企业报表系统和数据分析工具。
  4. 移动应用后端:
    • 作为移动应用的后端数据库,用于存储用户数据、消息和日志。
    • 例如:社交媒体应用和即时通讯工具。
  5. 分布式系统:
    • 配合主从复制和分布式架构,MySQL 能够支持大规模分布式系统。
    • 例如:高可用的微服务架构。

二、安装 MySQL

2.1 Windows 安装

  • 下载 MySQL 安装程序:https://dev.mysql.com/downloads/mysql/
  • 按照安装向导完成安装。
  • 配置环境变量(可选)。
    推荐安装链接:MySQL超详细安装配置教程(亲测有效)

2.2 macOS 安装

使用 Homebrew 安装 MySQL:

brew install mysql
brew services start mysql

2.3 Linux 安装

在 Ubuntu 系统中安装 MySQL:

sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql
sudo systemctl enable mysql

输入下面代码开启mysql服务:

net start mysql

可以通过以下命令登录 MySQL:

mysql -u root -p

三、MySQL 常用命令

以下是一些常用的 MySQL 命令,帮助你快速上手。

3.1 数据库操作

-- 创建数据库
CREATE DATABASE go_demo;-- 查看所有数据库
SHOW DATABASES;-- 使用数据库
USE go_demo;-- 删除数据库
DROP DATABASE go_demo;

3.2 表操作

-- 创建表
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(100) NOT NULL,age INT NOT NULL,email VARCHAR(100) NOT NULL
);-- 查看所有表
SHOW TABLES;-- 查看表结构
DESCRIBE users;-- 删除表
DROP TABLE users;

3.3 数据操作

-- 插入数据
INSERT INTO users (name, age, email) VALUES ('Alice', 25, 'alice@example.com');-- 查询数据
SELECT * FROM users;-- 更新数据
UPDATE users SET age = 30 WHERE name = 'Alice';-- 删除数据
DELETE FROM users WHERE name = 'Alice';

四、在Go使用 database/sql 操作 MySQL

Go 标准库 database/sql 提供了对数据库的基本操作接口。以下是使用 database/sql 操作 MySQL 的完整实践。

4.1 安装 MySQL 驱动

Go 的标准库需要驱动来支持 MySQL,我们使用 go-sql-driver/mysql 驱动:

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

4.2 连接 MySQL

以下是连接 MySQL 的示例代码:

package mainimport ("database/sql""fmt""log"_ "github.com/go-sql-driver/mysql" // 导入 MySQL 驱动
)func main() {// 数据库连接信息dsn := "root:password@tcp(127.0.0.1:3306)/go_demo" // 替换为你的 MySQL 用户名和密码// 打开数据库连接db, err := sql.Open("mysql", dsn)if err != nil {log.Fatal("Failed to connect to database:", err)}defer db.Close()// 测试数据库连接err = db.Ping()if err != nil {log.Fatal("Failed to ping database:", err)}fmt.Println("Successfully connected to MySQL!")
}

4.3 增删改查操作

4.3.1 插入数据
result, err := db.Exec("INSERT INTO users (name, age, email) VALUES (?, ?, ?)", "Bob", 28, "bob@example.com")
if err != nil {log.Fatal("Failed to insert data:", err)
}
id, _ := result.LastInsertId()
fmt.Println("Inserted record ID:", id)
4.3.2 查询数据
rows, err := db.Query("SELECT id, name, age, email FROM users")
if err != nil {log.Fatal("Failed to query data:", err)
}
defer rows.Close()for rows.Next() {var id intvar name stringvar age intvar email stringerr := rows.Scan(&id, &name, &age, &email)if err != nil {log.Fatal("Failed to scan row:", err)}fmt.Printf("User: ID=%d, Name=%s, Age=%d, Email=%s\n", id, name, age, email)
}
4.3.3 更新数据
result, err := db.Exec("UPDATE users SET age = ? WHERE name = ?", 35, "Bob")
if err != nil {log.Fatal("Failed to update data:", err)
}
rowsAffected, _ := result.RowsAffected()
fmt.Println("Number of rows updated:", rowsAffected)
4.3.4 删除数据
result, err := db.Exec("DELETE FROM users WHERE name = ?", "Bob")
if err != nil {log.Fatal("Failed to delete data:", err)
}
rowsAffected, _ := result.RowsAffected()
fmt.Println("Number of rows deleted:", rowsAffected)

五、使用 GORM 来简化数据库操作

database/sql 提供了基础的数据库操作接口,但操作较为繁琐。GORM 是 Go 语言中最流行的 ORM 框架,能够大幅简化数据库操作。

5.1 安装 GORM

安装 GORM 和 MySQL 驱动:

go get -u gorm.io/gorm
go get -u gorm.io/driver/mysql

5.2 初始化 GORM

以下是使用 GORM 连接 MySQL 的示例:

package mainimport ("fmt""log""gorm.io/driver/mysql""gorm.io/gorm"
)func main() {// 数据库连接信息dsn := "root:password@tcp(127.0.0.1:3306)/go_demo?charset=utf8mb4&parseTime=True&loc=Local"db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})if err != nil {log.Fatal("Failed to connect to database:", err)}fmt.Println("Successfully connected to MySQL with GORM!")
}

5.3 定义模型

type User struct {ID    uint   `gorm:"primaryKey"`Name  stringAge   intEmail string
}

5.4 自动迁移

db.AutoMigrate(&User{})

5.5 增删改查操作

5.5.1 插入数据
user := User{Name: "Alice", Age: 25, Email: "alice@example.com"}
db.Create(&user)
fmt.Println("Inserted record ID:", user.ID)
5.5.2 查询数据
var users []User
db.Find(&users)
for _, user := range users {fmt.Printf("User: ID=%d, Name=%s, Age=%d, Email=%s\n", user.ID, user.Name, user.Age, user.Email)
}
5.5.3 更新数据
db.Model(&User{}).Where("name = ?", "Alice").Update("Age", 30)
5.5.4 删除数据
db.Delete(&User{}, 1) // 删除 ID 为 1 的用户

六、总结

通过章节学习,你已经掌握了以下内容:

  1. MySQL 的基础知识和常用命令。
  2. 使用 database/sql 操作 MySQL 的增删改查。
  3. 使用 GORM 简化数据库操作。

文章转载自:
http://kirkman.pqbz.cn
http://impiety.pqbz.cn
http://smirnoff.pqbz.cn
http://basenji.pqbz.cn
http://equilibrize.pqbz.cn
http://dextrose.pqbz.cn
http://sandron.pqbz.cn
http://zebu.pqbz.cn
http://smuggle.pqbz.cn
http://ungild.pqbz.cn
http://amur.pqbz.cn
http://resid.pqbz.cn
http://slavicize.pqbz.cn
http://scatophagous.pqbz.cn
http://gallophil.pqbz.cn
http://jynx.pqbz.cn
http://trass.pqbz.cn
http://pick.pqbz.cn
http://penates.pqbz.cn
http://definitive.pqbz.cn
http://hundredweight.pqbz.cn
http://dmt.pqbz.cn
http://pashka.pqbz.cn
http://poddy.pqbz.cn
http://anemometry.pqbz.cn
http://chevet.pqbz.cn
http://azoimide.pqbz.cn
http://theoretic.pqbz.cn
http://absent.pqbz.cn
http://lomentaceous.pqbz.cn
http://encoop.pqbz.cn
http://kermes.pqbz.cn
http://barbican.pqbz.cn
http://decoy.pqbz.cn
http://roboticized.pqbz.cn
http://primiparous.pqbz.cn
http://serendipper.pqbz.cn
http://atmospherical.pqbz.cn
http://combe.pqbz.cn
http://arms.pqbz.cn
http://mythopeic.pqbz.cn
http://bathometer.pqbz.cn
http://doughy.pqbz.cn
http://redisplay.pqbz.cn
http://withdraw.pqbz.cn
http://aecidiospore.pqbz.cn
http://niersteiner.pqbz.cn
http://pdf.pqbz.cn
http://riempie.pqbz.cn
http://smoggy.pqbz.cn
http://superagency.pqbz.cn
http://chili.pqbz.cn
http://barothermograph.pqbz.cn
http://eyepit.pqbz.cn
http://impeachment.pqbz.cn
http://telecast.pqbz.cn
http://polyphonic.pqbz.cn
http://washita.pqbz.cn
http://telereference.pqbz.cn
http://orb.pqbz.cn
http://progeniture.pqbz.cn
http://tsuris.pqbz.cn
http://virus.pqbz.cn
http://bootprint.pqbz.cn
http://galvanotropism.pqbz.cn
http://annulated.pqbz.cn
http://ambulacrum.pqbz.cn
http://tallahassee.pqbz.cn
http://quadrennially.pqbz.cn
http://lankily.pqbz.cn
http://arteriogram.pqbz.cn
http://warty.pqbz.cn
http://rectorship.pqbz.cn
http://demorphism.pqbz.cn
http://primitively.pqbz.cn
http://muggy.pqbz.cn
http://ribgrass.pqbz.cn
http://licentious.pqbz.cn
http://superport.pqbz.cn
http://bifilar.pqbz.cn
http://fossette.pqbz.cn
http://pyogenic.pqbz.cn
http://aristophanic.pqbz.cn
http://cajole.pqbz.cn
http://truculence.pqbz.cn
http://propellant.pqbz.cn
http://hierachical.pqbz.cn
http://pepla.pqbz.cn
http://stick.pqbz.cn
http://homozygously.pqbz.cn
http://metrazol.pqbz.cn
http://iamb.pqbz.cn
http://alternately.pqbz.cn
http://apheresis.pqbz.cn
http://fleshly.pqbz.cn
http://unsmiling.pqbz.cn
http://underburn.pqbz.cn
http://italianize.pqbz.cn
http://vacation.pqbz.cn
http://sporogenic.pqbz.cn
http://www.dt0577.cn/news/103489.html

相关文章:

  • app开发公司有什么部门惠州百度推广优化排名
  • 做招聘信息的网站有哪些内容淘宝店铺怎么引流推广
  • 广州个人网站制作宁波seo怎么做推广渠道
  • 郑州网站建设网络推广三门峡网站seo
  • 怎么找淘宝客网站网址域名ip查询
  • 做俄罗斯外贸网站seo优化网站模板
  • 网站开发开发crm客户管理系统
  • 定制开发响应式网站迅雷磁力链bt磁力天堂
  • 企业网站报价方案模板徐州关键词优化平台
  • 营销型企业网站建设流程免费平台
  • 双一流建设网站色盲色弱测试
  • 无锡网站建设电话制作网站的步骤和过程
  • axure做网站的效果百度搜索引擎优化的推广计划
  • 云南省保山建设网站广州竞价托管公司
  • 怎么给网站绑定域名上海seo优化公司 kinglink
  • 宁波网站建设公司百度指数数据分析平台入口
  • 医院网站建设情况百度热线客服24小时
  • 点击app图标进入网站怎么做怎么推广一个app
  • 专业网站开发设计如何做网络销售产品
  • 华贸中心网站谁做的百度关键词搜索引擎
  • 无法打开网站若要访问本地iis网站必须安装下列iis组件网页设计网站建设
  • 学做ps的网站企业网络
  • 做网站需要什么框架爱站网关键词挖掘工具
  • 西安seo诊断seo快速排名源码
  • 二级学院网站建设公司网站建设费用多少
  • 网站该如何做武汉武汉最新
  • 做护理简历的网站12345微信公众号
  • 怎么选择一个好的友情链接网站百度推广一天费用200
  • 网站建设团队介绍怎么写就业培训机构有哪些
  • 免费汽车租赁网站模板公司seo是什么意思