go的各种数据库驱动

go的各种数据库驱动


操作库

  • database/sql
    go操作数据库的标准库之一,提供了一系列接口方法,用于访问数据库(mysql,sqlite,oracle,postgresql),
    它并不会提供数据库特有的方法,那些特有的方法教给数据库驱动实现
  • github.com/jmoiron/sqlx
    go get github.com/jmoiron/sqlx
    sqlx是基于标准库sql的扩展,并且可以通过sqlx操作各种类型的数据,如将查询的数据转为结构体

MySql

  • 驱动
    github.com/go-sql-driver/mysql
    go get github.com/go-sql-driver/mysql
  • 连接数据库
    import (
    	_ "github.com/go-sql-driver/mysql"
    	"github.com/jmoiron/sqlx"
    )
    
    func DbSql(){
    	db, err := sqlx.Open("mysql", "root:Pass@2020@tcp(192.168.199.138:3306)/test?parseTime=true")
    }
    

SQLite

  • 驱动
    github.com/mattn/go-sqlite3
    go get github.com/mattn/go-sqlite3
  • 连接数据库
    import (
    	_ "github.com/mattn/go-sqlite3"
    	"github.com/jmoiron/sqlx"
    )
    
    func DbSql(){
    	db, err := sqlx.Open("sqlite3", "/Users/zhangsan/foo.db")
    }
    

SqlServer

  • 驱动
    github.com/denisenkom/go-mssqldb
    go get github.com/denisenkom/go-mssqldb
  • 连接数据库
    import (
    	_ "github.com/denisenkom/go-mssqldb"
    	"github.com/jmoiron/sqlx"
    )
    
    func DbSql(){
    conn := fmt.Sprintf("server=%s;port%d;database=%s;user id=%s;password=%s", "192.168.199.131", 1433, "test_db", "sa", "Pass@2020")
    db, err := sql.Open("mssql", conn)
    }
    

PostgreSQL

  • 介绍
    PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS)
  • 驱动
    github.com/bmizerany/pq
    go get github.com/bmizerany/pq
  • 连接数据库
    import (
    	_ "github.com/bmizerany/pq"
    	"github.com/jmoiron/sqlx"
    )
    
    func DbSql(){
    	psqlInfo := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable","192.168.199.131", 5432, "test_user", "Pass@2020", "test_db")
    db, err := sql.Open("postgres", psqlInfo)
    }
    
  • 其它
    不支持LastInsertId函数,ps没有自增id,其它与mysql基本一致

Oracle

  • 驱动
    github.com/godror/godror
    go get github.com/godror/godror
  • 连接数据库
    import (
    	_ "github.com/godror/godror"
    	"github.com/jmoiron/sqlx"
    )
    
    const (
        host        = "localhost"
        port        = 1521
        user        = "username"
        sqlpassword = "password"
        dbname      = "orcl"
    )
    
    func DbSql(){
    	osqlInfo := fmt.Sprintf("%s/%s@%s:%d/%s", user, sqlpassword, host, port, dbname)
    	db, err := sqlx.Open("godror", osqlInfo)
    }
    

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值