Golang 基础示例
配置环境
- 确认你已完成单机部署 MatrixOne。
- 确认你已完成安装 Golang 1.18 版本及以上,可以使用下面的命令行确认你的 Golang 版本:
1. #To check with Golang installation and its version
2. go version
- 确认你已完成安装 MySQL 客户端。
- 下载并安装 Go-MySQL-Driver 工具。
步骤
- 通过 MySQL 客户端连接到 MatrixOne。创建一个名为 test 的新数据库。
1. mysql> create database test;
2. 创建一个命名为 golang_crud_matrixone.go 的纯文本文件,将下面的代码拷贝至文件内:
``` 1. package main
- import (
- "database/sql"
- "fmt"
- "log"
- _ "github.com/go-sql-driver/mysql"
-
)
-
func main() {
- //Open a new connection to MatrixOne
- db, err := sql.Open("mysql", "dump:111@tcp(127.0.0.1:6001)/test")
-
checkErr(err)
-
//Create a table
- _, err2 := db.Exec("CREATE TABLE
userinfo(uidINT(10) NOT NULL AUTO_INCREMENT,usernameVARCHAR(64) NULL DEFAULT NULL,departmentVARCHAR(64) NULL DEFAULT NULL,createdDATE NULL DEFAULT NULL, PRIMARY KEY (uid));") - if err2 != nil {
- log.Fatal(err2)
- }
-
fmt.Print("Successfully Created\n")
-
// Insert a record
- stmt, err := db.Prepare("INSERT userinfo SET username=?,department=?,created=?")
-
checkErr(err)
-
res, err := stmt.Exec("Alex", "r&d", "2023-01-01")
-
checkErr(err)
-
id, err := res.LastInsertId()
-
checkErr(err)
-
fmt.Println(id)
- //Update a record
- stmt, err = db.Prepare("update userinfo set username=? where uid=?")
-
checkErr(err)
-
res, err = stmt.Exec("Mark", id)
-
checkErr(err)
-
affect, err := res.RowsAffected()
-
checkErr(err)
-
fmt.Println(affect)
-
// Query all records
- rows, err := db.Query("SELECT * FROM userinfo")
-
checkErr(err)
-
for rows.Next() {
- var uid int
- var username string
- var department string
- var created string
- err = rows.Scan(&uid, &username, &department, &created)
- checkErr(err)
- fmt.Println(uid)
- fmt.Println(username)
- fmt.Println(department)
- fmt.Println(created)
-
}
-
// Delete a record
- stmt, err = db.Prepare("delete from userinfo where uid=?")
-
checkErr(err)
-
res, err = stmt.Exec(id)
-
checkErr(err)
-
affect, err = res.RowsAffected()
-
checkErr(err)
-
fmt.Println(affect)
-
db.Close()
-
}
-
func checkErr(err error) {
- if err != nil {
- panic(err)
- }
- } ```
- 打开一个新的终端,使用如下命令行,执行此 Golang 文件。
1. > go run golang_crud_matrixone.go
2. Successfully Created
3. 1
4. 1
5. 1
6. Mark
7. r&d
8. 2023-01-01
9. 1
