查询元数据获取

//元数据,获取列信息,列名,列属性,列长度,是否可为空
            func getColumnInfo(db *sql.DB){
                    var err              error
                    var rows           * sql.Rows
                    var colTypeArray []* sql.ColumnType
                    var colName      []  string           //列名
                    var querySQL         string = "select * from testcase1"

                    //查询数据
                    rows, err = db.Query(querySQL)
                    getError(err)
                    defer rows.Close()
                    //获取列名或别名
                    colName, err      = rows.Columns()
                    getError(err)
                    for _, value := range colName {
                            fmt.Println(value)
                    }
                    colTypeArray, err = rows.ColumnTypes()
                    getError(err)
                    for _, value := range colTypeArray {
                            fmt.Println("------------------")
                            //列名
                            fmt.Println(value.Name())
                            //数据库中的 列 类型
                            fmt.Println(value.DatabaseTypeName())
                            //获取列长度
                            length, flag := value.Length()
                            if flag {
                                    fmt.Println(length)
                            }
                            //获取是否非空,不支持
                            nullFlag, flag := value.Nullable()
                            if flag {
                                    fmt.Println(nullFlag)
                            }
                    }
            }