您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

golang怎么实现mysql操作

2025/4/12 21:21:07发布123次查看
首先,确保你已经正确安装了 golang 和 mysql,同时也需要安装 go 的 mysql 驱动程序。这可以通过以下命令轻松完成:
go get -u github.com/go-sql-driver/mysql
在创建 go 程序之前,我们还需要创建一个 mysql 数据库以及一张表来演示使用 golang 进行数据库操作的方法。
假设我们已经创建了一个名为 "test_db" 的数据库,并且其中包含一张名为 "users" 的表。表的结构如下:
create table if not exists `users` ( `id` int(11) not null auto_increment, `name` varchar(50) not null, `email` varchar(50) not null, `age` smallint(6) not null, primary key (`id`)) engine=innodb default charset=utf8mb4;
接下来,我们就可以开始编写 golang 程序了。以下是一个简单的程序示例,展示了如何使用 golang 驱动程序来连接 mysql 数据库,并执行一些基本的查询操作:
package mainimport ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql")func main() { // 连接 mysql 数据库 db, err := sql.open("mysql", "username:password@tcp(127.0.0.1:3306)/test_db?charset=utf8mb4") if err != nil { panic(err.error()) } defer db.close() // 执行查询操作 rows, err := db.query("select * from users") if err != nil { panic(err.error()) } defer rows.close() // 遍历查询结果 for rows.next() { var id int var name string var email string var age int err := rows.scan(&id, &name, &email, &age) if err != nil { panic(err.error()) } fmt.println(id, name, email, age) } // 检查是否存在错误 err = rows.err() if err != nil { panic(err.error()) }}
通过运行以上程序,我们可以成功连接 mysql 数据库,并使用 "select" 语句查询 "users" 表中的所有记录,并将结果打印输出。
除了查询外,我们还可以使用 golang 驱动程序来执行其他常见的 mysql 操作,如插入、更新和删除等。以下是一个简单的程序示例:
package mainimport ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql")func main() { // 连接 mysql 数据库 db, err := sql.open("mysql", "username:password@tcp(127.0.0.1:3306)/test_db?charset=utf8mb4") if err != nil { panic(err.error()) } defer db.close() // 插入一条记录 stmt, err := db.prepare("insert into users(name, email, age) values(?, ?, ?)") if err != nil { panic(err.error()) } defer stmt.close() result, err := stmt.exec("tom", "tom@email.com", 30) if err != nil { panic(err.error()) } lastinsertid, _ := result.lastinsertid() fmt.println("新增记录的 id:", lastinsertid) // 更新一条记录 stmt, err = db.prepare("update users set name=?, age=? where id=?") if err != nil { panic(err.error()) } defer stmt.close() result, err = stmt.exec("jerry", 25, 1) if err != nil { panic(err.error()) } affectrow, _ := result.rowsaffected() fmt.println("受影响的行数:", affectrow) // 删除一条记录 stmt, err = db.prepare("delete from users where id=?") if err != nil { panic(err.error()) } defer stmt.close() result, err = stmt.exec(1) if err != nil { panic(err.error()) } affectrow, _ = result.rowsaffected() fmt.println("受影响的行数:", affectrow)}
通过以上程序示例,我们可以成功执行插入、更新和删除等常见 mysql 操作。
以上就是golang怎么实现mysql操作的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product