认识数据库和gorm建立连接| 豆包MarsCode AI刷题

105 阅读3分钟

认识数据库

数据库是一种存储方式,它以一种特定的方式组织和存储数据的仓库,如果你不能够理解数据库存储的形式,我推荐你打开 excel 或者 wps 新建一个表格,这将会有助于理解数据库,因为会挺像的。 接下来需要提一些数据库的术语,因为学习 gorm 会需要。

  • 数据库:你可以理解为是将一群excel表集中到同一个集体中,并保存为同一个文件。在定义上是指表的集合,但是这个定义就跟没有一样,根本听不懂。
  • 数据表: 用来存一群数据,是一个数据矩阵。在使用中会更像一个结构体数组。表的每一行是一个结构体,表的每一列代表着结构体的属性。
结构体序号xx类型xxx类型
0小红
1小绿
2小紫阿帕奇武装直升机
3小蓝沃尔玛购物袋

如上 每一行是同一个结构体变量,同一类则指对应属性。接下来讲它的定义是什么。

  • 列:一列(数据元素) 包含了相同类型的数据
  • 行:一行(元组,或记录)是一组相关的数据
  • 主键:是每一行记录(你就当是结构体数组中每一个结构体变量)的唯一属性,主要用来遍历查找数据,要求唯一性
  • 外键:是用来在两个表之间进行联动的属性,这个等需要的时候再讲。

MySQL安装

MySQL安装软件网址,在这个网址里面选择自己需要的安装包,如果是使用windows的新手,推荐直接下载Windows (x86, 64-bit), MSI Installer 这个,安装起来会更加无脑一点,只是需要网络。

安装好后会有一段数据库配置阶段,我就不插图了,我本人太懒了。直接网络搜索MySQL安装教程跟着走吧。

windows下的安装

centos安装

乌班图下的安装:

sudo apt-get install mysql-server

sudo apt-get install mysql-client

注意在安装mysql-server的时候要设置一下root的初始密码,并且二次确认。

在入门学习的时候,不要纠结于哪个版本的MySQL好,亦或者说哪个数据库好用,只要能用来学习,就可以了。

增删查改

增:INSERT INTO 表名 (字段名,字段名....) VALUES (数据,数据,....)

用来在表中插入记录(也就是在结构体数组中加入结构体变量)

删:DELETE FROM 表名 WHERE 条件

用来在表中删除指定记录(也就是在结构体数组遍历变量,只要主键一致就删掉对应的结构体变量)

查:SELECT 字段名,字段名.... FROM 表名 WHERE 条件

用来输出指定的记录(就是遍历结构体数组,满足要求的就打印到控制台上)

改:UPDATE 表名 SET 字段名=数据,字段名=数据 WHERE 条件

用来修改指定的记录(就是遍历结构体数组,只要主键一致就把它修改掉)

gorm 入门

接下来就进入 gorm 的内容了。

使用 gorm 需要先下载哦:

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

建立连接

接下来的一段代码是固定的,原理是通过TCP协议与安装在本机上的MySQL服务器进行通信:

username := "root"   //账号
password := "root" //密码
host := "127.0.0.1"  //数据库地址,可以是ip或者域名
port := 3306         //数据库端口
Dbname := "gorm"     //数据库名
dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8&parseTime=True&loc=Local", username, password, host, port, Dbname)
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
	Logger: logger.Default.LogMode(logger.Info),
})
if err!= nil{
    fmt.Println("数据库连接失败!");
}

当然,实际上连接远程数据库服务器也是可以的哦。