加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang操作mysql数据库

发布时间:2020-12-16 19:01:38 所属栏目:大数据 来源:网络整理
导读:mysql是一个入门很简单也很实用的数据库,目前也可以跟很多编程语言联合编程。go语言虽然很年轻,但是貌似追赶潮流永远都有它。刚试了下go语言操作mysql数据库,貌似代码量比实用java要少很多,挺爽的。 1.下载驱动 https://github.com/go-sql-driver/mysql

mysql是一个入门很简单也很实用的数据库,目前也可以跟很多编程语言联合编程。go语言虽然很年轻,但是貌似追赶潮流永远都有它。刚试了下go语言操作mysql数据库,貌似代码量比实用java要少很多,挺爽的。

1.下载驱动

https://github.com/go-sql-driver/mysql

2.将这个包放到code.google.com目录下(放在哪里无所谓,只要你能够让程序找到就行)

3.编写简单的测试程序

package main

import (
	_ "code.google.com/mysql"
	"database/sql"
	"fmt"
)

func main() {
	//format "user:password@tcp(ip:port)/database"
	db,err := sql.Open("mysql","root:@tcp(127.0.0.1:3306)/test?charset=utf8")
	if err != nil {
		fmt.Println("error in connect ",err.Error())
		return
	}
	fmt.Println("connect ok")
	rows,err := db.Query("select * from stu")
	if err != nil {
		fmt.Println("error in select ",err.Error())
		return
	}
	if rows == nil {
		fmt.Println("rows is nil")
		return
	}
	for rows.Next() {
		var u,p string
		e := rows.Scan(&u,&p)
		if e != nil {
			fmt.Println("err",e.Error())
			return
		}
		fmt.Println(u," ",p)
	}

}

按照我的理解,sql.Open方法中,第一个参数就是驱动,就是刚才我们添加的那个包。我们只是引入进来,所以import的第一行便是驱动程序。容易出错的就是第二个参数,格式跟java写起来区别还蛮大的,不过,基本上按照上述格式写也是没有错误的。跟JDBC比起来,将加载驱动和连接数据库写到了一个方法中,省了很多代码。

这个只是简单的一点尝试,如果有时间,要看看比较复杂一些的操作是不是也支持。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读