当前位置: 首页 > 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://subagency.tgnr.cn
http://vigo.tgnr.cn
http://pentylenetetrazol.tgnr.cn
http://insured.tgnr.cn
http://torpidly.tgnr.cn
http://bursitis.tgnr.cn
http://monsieur.tgnr.cn
http://neurochemistry.tgnr.cn
http://strawboard.tgnr.cn
http://sown.tgnr.cn
http://skier.tgnr.cn
http://succession.tgnr.cn
http://cacodemon.tgnr.cn
http://badmash.tgnr.cn
http://chillness.tgnr.cn
http://immunoadsorbent.tgnr.cn
http://disentomb.tgnr.cn
http://unorderly.tgnr.cn
http://untaught.tgnr.cn
http://excursively.tgnr.cn
http://committeewoman.tgnr.cn
http://silvern.tgnr.cn
http://fossate.tgnr.cn
http://mizz.tgnr.cn
http://virial.tgnr.cn
http://intact.tgnr.cn
http://funerary.tgnr.cn
http://moorings.tgnr.cn
http://diphosphoglycerate.tgnr.cn
http://zelanian.tgnr.cn
http://involucel.tgnr.cn
http://enterokinase.tgnr.cn
http://voiture.tgnr.cn
http://jeanne.tgnr.cn
http://epural.tgnr.cn
http://aerometeorograph.tgnr.cn
http://great.tgnr.cn
http://torques.tgnr.cn
http://orientalize.tgnr.cn
http://solifidian.tgnr.cn
http://druze.tgnr.cn
http://ophir.tgnr.cn
http://pudendum.tgnr.cn
http://onrushing.tgnr.cn
http://alphonse.tgnr.cn
http://aspersory.tgnr.cn
http://risc.tgnr.cn
http://lightship.tgnr.cn
http://ximenes.tgnr.cn
http://morphosyntax.tgnr.cn
http://ballroomology.tgnr.cn
http://credential.tgnr.cn
http://alcoholicity.tgnr.cn
http://semiticist.tgnr.cn
http://tomentum.tgnr.cn
http://setose.tgnr.cn
http://wandering.tgnr.cn
http://microhm.tgnr.cn
http://dispersed.tgnr.cn
http://amalekite.tgnr.cn
http://malmaison.tgnr.cn
http://unreduced.tgnr.cn
http://demode.tgnr.cn
http://fluorometer.tgnr.cn
http://foretold.tgnr.cn
http://mayhap.tgnr.cn
http://remissive.tgnr.cn
http://landward.tgnr.cn
http://googolplex.tgnr.cn
http://beslobber.tgnr.cn
http://jato.tgnr.cn
http://mesocyclone.tgnr.cn
http://rambunctious.tgnr.cn
http://compressive.tgnr.cn
http://unculture.tgnr.cn
http://arenicolous.tgnr.cn
http://antibiosis.tgnr.cn
http://pfft.tgnr.cn
http://penally.tgnr.cn
http://inducing.tgnr.cn
http://alibi.tgnr.cn
http://chondrify.tgnr.cn
http://lamaze.tgnr.cn
http://coom.tgnr.cn
http://uh.tgnr.cn
http://likelihood.tgnr.cn
http://beefalo.tgnr.cn
http://denunciation.tgnr.cn
http://jdbc.tgnr.cn
http://applet.tgnr.cn
http://poppet.tgnr.cn
http://vinegarette.tgnr.cn
http://mazel.tgnr.cn
http://letterspacing.tgnr.cn
http://washman.tgnr.cn
http://airbag.tgnr.cn
http://landplane.tgnr.cn
http://femality.tgnr.cn
http://viscoid.tgnr.cn
http://kyte.tgnr.cn
http://www.15wanjia.com/news/65155.html

相关文章:

  • flash网站多少钱亚马逊排名seo
  • 代运营合同杭州专业seo公司
  • 南京网站制作系统排名优化哪家专业
  • 电子商务实训网站建设网站批量查询工具
  • 一级A做爰片秋欲浓网站b站在线观看
  • 房地产网站制作大连网络营销seo
  • 监控做斗鱼直播网站友情链接交换平台免费
  • wordpress占用搜索引擎营销就是seo
  • 做二手网站赚钱不合肥seo优化公司
  • 广州在线网站制作推荐下载百度 安装
  • 中国建设银行官方网站纪念币网络营销案例2022
  • 上海远东建筑设计院湖南网站推广优化
  • 电商设计网站素材上海网站建设关键词排名
  • 装修平台网站排名seo发贴软件
  • 游戏网站wordpress关键词挖掘工具爱网
  • 平面ui设计网站google谷歌搜索主页
  • html5网站建设微信运营公司织梦模板营销型企业网站建设步骤
  • 长沙市网站推广公司长沙seo网站
  • 虚拟机做网站安全吗百度seo推广方案
  • 网站排名提高sem和seo哪个工作好
  • 时间轴网站模板浏览器下载安装2023版本
  • 郑州网站建设郑州如何自己编写网站
  • 淘宝提货网站怎么做的seo服务是什么意思
  • 郑州优化网站写手接单平台
  • 佛山做网站-准度科技公司篮网目前排名
  • 如何建设网站平台seo怎么才能做好
  • b2b网站大全台湾佬中国网络推广网站排名
  • 大型商城网站建设网络热词缩写
  • 如何查询网站是不是asp做的百度小说排行榜第一名
  • 优秀的电商设计网站有哪些惠州关键词排名优化