随着互联网快速发展,大数据量的存储和处理成为了不可避免的趋势。而关系型数据库mysql作为一款开源且易用的数据库系统,经常被用来存储应用数据。本篇文章将介绍如何使用go语言与mysql进行交互,存储和查询数据。
环境搭建
首先需要安装Go语言和MySQL数据库。可以使用以下命令安装:
go get -u github.com/go-sql-driver/mysql
登录后复制
数据库连接
在使用MySQL前需要确保已经安装并启动MySQL服务,可以使用以下命令进行连接:
db, err := sql.Open("mysql", "username:password@tcp(host:port)/dbname")
登录后复制
其中,username 和 password 分别为数据库的用户名和密码,host 和 port 分别为MySQL服务器的IP地址和端口号,dbname为要连接的数据库名称。
数据库操作
接下来就可进行数据库的CRUD操作。以下为Go语言常用的MySQL操作命令:
(1)查询数据
立即学习“go语言免费学习笔记(深入)”;
rows, err := db.Query("SELECT * FROM table_name")defer rows.Close()for rows.Next() { // 查询结果}
登录后复制
(2)插入数据
stmt, err := db.Prepare("INSERT INTO table_name (col1, col2) VALUES (?, ?)")_, err = stmt.Exec(val1, val2)
登录后复制
(3)更新数据
stmt, err := db.Prepare("UPDATE table_name SET col1 = ? WHERE col2 = ?")_, err = stmt.Exec(val1, val2)
登录后复制
(4)删除数据
stmt, err := db.Prepare("DELETE FROM table_name WHERE col1 = ?")_, err = stmt.Exec(val)
登录后复制
完整示例
下面是一个完整的使用Go语言与MySQL进行交互的示例:
package mainimport ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql")func main() { db, err := sql.Open("mysql", "username:password@tcp(host:port)/dbname") if err != nil { fmt.Println(err.Error()) return } defer db.Close() // 查询数据 rows, err := db.Query("SELECT * FROM table_name") if err != nil { fmt.Println(err.Error()) return } defer rows.Close() for rows.Next() { var id int var name string if err := rows.Scan(&id, &name); err != nil { fmt.Println(err.Error()) return } fmt.Printf("id: %d, name: %s", id, name) } // 插入数据 stmt, err := db.Prepare("INSERT INTO table_name (id, name) VALUES (?, ?)") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() _, err = stmt.Exec(1, "test") if err != nil { fmt.Println(err.Error()) return } // 更新数据 stmt, err = db.Prepare("UPDATE table_name SET name = ? WHERE id = ?") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() _, err = stmt.Exec("updated_test", 1) if err != nil { fmt.Println(err.Error()) return } // 删除数据 stmt, err = db.Prepare("DELETE FROM table_name WHERE id = ?") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() _, err = stmt.Exec(1) if err != nil { fmt.Println(err.Error()) return }}
登录后复制总结
通过以上示例,可看出使用Go语言与MySQL进行交互是非常方便和易用的。操作数据库是每个开发者在开发中经常需要做的事情,掌握Go语言与MySQL的交互,对开发和维护应用程序而言都是非常有帮助的。
以上就是Go语言实战:使用MySQL存储数据的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2487604.html