认识数据库
数据库是一种存储方式,它以一种特定的方式组织和存储数据的仓库,如果你不能够理解数据库存储的形式,我推荐你打开 excel 或者 wps 新建一个表格,这将会有助于理解数据库,因为会挺像的。 接下来需要提一些数据库的术语,因为学习 gorm 会需要。
- 数据库:你可以理解为是将一群excel表集中到同一个集体中,并保存为同一个文件。在定义上是指表的集合,但是这个定义就跟没有一样,根本听不懂。
- 数据表: 用来存一群数据,是一个数据矩阵。在使用中会更像一个结构体数组。表的每一行是一个结构体,表的每一列代表着结构体的属性。
| 结构体序号 | xx类型 | xxx类型 |
|---|---|---|
| 0 | 小红 | 男 |
| 1 | 小绿 | 女 |
| 2 | 小紫 | 阿帕奇武装直升机 |
| 3 | 小蓝 | 沃尔玛购物袋 |
如上 每一行是同一个结构体变量,同一类则指对应属性。接下来讲它的定义是什么。
- 列:一列(数据元素) 包含了相同类型的数据
- 行:一行(元组,或记录)是一组相关的数据
- 主键:是每一行记录(你就当是结构体数组中每一个结构体变量)的唯一属性,主要用来遍历查找数据,要求唯一性
- 外键:是用来在两个表之间进行联动的属性,这个等需要的时候再讲。
MySQL安装
MySQL安装软件网址,在这个网址里面选择自己需要的安装包,如果是使用windows的新手,推荐直接下载Windows (x86, 64-bit), MSI Installer 这个,安装起来会更加无脑一点,只是需要网络。
安装好后会有一段数据库配置阶段,我就不插图了,我本人太懒了。直接网络搜索MySQL安装教程跟着走吧。
乌班图下的安装:
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("数据库连接失败!");
}
当然,实际上连接远程数据库服务器也是可以的哦。