import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"\)
func main() {
// 连接数据库
db, err := sql.Open("mysql", "username:password@tcp(127.0.0.1:3306)/database_name")
if err != nil {
panic(err.Error())
}
defer db.Close()
// 查询数据表是否存在
var tableName string
err = db.QueryRow("SELECT table_name FROM information_schema.tables WHERE table_schema = ? AND table_name = ?", "database_name", "table_name").Scan(&tableName)
if err != nil {
if err == sql.ErrNoRows {
fmt.Println("table does not exist")
} else {
panic(err.Error())
}
} else {
fmt.Println("table exists")
}
}
其中,username和password分别为数据库的用户名和密码,127.0.0.1:3306为数据库的地址和端口号,database_name为要查询的数据库的名称,table_name为要查询的数据表的名称。如果数据表存在,则输出table exists,否则输出table does not exist。