查询元数据获取¶
//元数据,获取列信息,列名,列属性,列长度,是否可为空
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)
}
}
}