zoukankan      html  css  js  c++  java
  • [Go] golang连接查询mysql

    package main
    
    import (
    	"database/sql"
    	_ "github.com/go-sql-driver/mysql"
    	"log"
    )
    
    func main() {
    	//连接数据库查询
    	db, err := sql.Open("mysql", "root:xxx@tcp(xxx:3306)/my_test")
    	if err != nil {
    		log.Fatal(err.Error())
    	}
    	//最终关闭数据库
    	defer db.Close()
    	mSql := "select * from user"
    	rows, err := db.Query(mSql)
    	if err != nil {
    		log.Fatal(err.Error())
    	}
    
    	//获取列名
    	columns, _ := rows.Columns()
    
    	//定义一个切片,长度是字段的个数,切片里面的元素类型是sql.RawBytes
    	values := make([]sql.RawBytes, len(columns))
    	//定义一个切片,元素类型是interface{} 接口
    	scanArgs := make([]interface{}, len(values))
    	for i := range values {
    		//把sql.RawBytes类型的地址存进去了
    		scanArgs[i] = &values[i]
    	}
    	//获取字段值
    	var result []map[string]string
    	for rows.Next() {
    		res := make(map[string]string)
    		rows.Scan(scanArgs...)
    		for i, col := range values {
    			res[columns[i]] = string(col)
    		}
    		result = append(result, res)
    	}
    
    	//遍历结果
    	for _, r := range result {
    		for k, v := range r {
    			log.Printf("%s==%s", k, v)
    		}
    	}
    	rows.Close()
    }
    

      

  • 相关阅读:
    JVM运行参数
    JVM学习
    自己瞎写的小项目随笔
    git入门
    @ResponseBody 注释
    jquery 正则表达式 验证邮箱 手机号 座机号 身份证
    ORACLE计算一年的12个月份
    css 图片 文字居中
    Jquery 取值相关
    标题栏下拉菜单
  • 原文地址:https://www.cnblogs.com/taoshihan/p/10446579.html
Copyright © 2011-2022 走看看