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比起来,将加载驱动和连接数据库写到了一个方法中,省了很多代码。
这个只是简单的一点尝试,如果有时间,要看看比较复杂一些的操作是不是也支持。