在Golang中,可以使用database/sql包來讀取數據表結構。下面是一個示例代碼,演示如何讀取數據表的列名和類型:
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// 連接到數據庫
db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/database")
if err != nil {
fmt.Println(err)
return
}
defer db.Close()
// 查詢數據表結構
rows, err := db.Query("SHOW COLUMNS FROM table_name")
if err != nil {
fmt.Println(err)
return
}
defer rows.Close()
// 讀取每一列的名稱和類型
for rows.Next() {
var field, typ string
err := rows.Scan(&field, &typ)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("Field: %s, Type: %s\n", field, typ)
}
if err = rows.Err(); err != nil {
fmt.Println(err)
return
}
}
在上面的代碼中,你需要將user:password@tcp(localhost:3306)/database
替換為你的數據庫連接信息。table_name
需要替換為你要讀取的數據表的名稱。
這段代碼使用了MySQL作為示例數據庫,你可以根據自己的需要,將"mysql"替換為其他數據庫驅動名,并相應地修改連接字符串。