在Debian上使用Golang连接数据库,通常是通过使用第三方库来实现的。以下是一些常见的数据库及其对应的Golang连接方法:
对于MySQL数据库,可以使用go-sql-driver/mysql
库。
go get -u github.com/go-sql-driver/mysql
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// 数据库连接字符串
dsn := "user:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
db, err := sql.Open("mysql", dsn)
if err != nil {
panic(err.Error())
}
defer db.Close()
// 测试连接
err = db.Ping()
if err != nil {
panic(err.Error())
}
fmt.Println("Connected to MySQL!")
}
对于PostgreSQL数据库,可以使用lib/pq
库。
go get -u github.com/lib/pq
package main
import (
"database/sql"
"fmt"
_ "github.com/lib/pq"
)
func main() {
// 数据库连接字符串
connStr := "user=youruser dbname=yourdb password=yourpassword sslmode=disable"
db, err := sql.Open("postgres", connStr)
if err != nil {
panic(err.Error())
}
defer db.Close()
// 测试连接
err = db.Ping()
if err != nil {
panic(err.Error())
}
fmt.Println("Connected to PostgreSQL!")
}
对于SQLite数据库,可以使用modernc.org/sqlite
库。
go get -u modernc.org/sqlite
package main
import (
"database/sql"
"fmt"
_ "modernc.org/sqlite"
)
func main() {
// 数据库文件路径
dbPath := "./yourdb.sqlite"
db, err := sql.Open("sqlite3", dbPath)
if err != nil {
panic(err.Error())
}
defer db.Close()
// 创建表(如果不存在)
_, err = db.Exec(`CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)`)
if err != nil {
panic(err.Error())
}
fmt.Println("Connected to SQLite!")
}
对于MongoDB数据库,可以使用go.mongodb.org/mongo-driver/mongo
库。
go get -u go.mongodb.org/mongo-driver/mongo
go get -u go.mongodb.org/mongo-driver/mongo/options
package main
import (
"context"
"fmt"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"log"
)
func main() {
// MongoDB连接字符串
clientOptions := options.Client().ApplyURI("mongodb://localhost:27017")
client, err := mongo.Connect(context.TODO(), clientOptions)
if err != nil {
log.Fatal(err)
}
defer client.Disconnect(context.TODO())
// 测试连接
err = client.Ping(context.TODO(), nil)
if err != nil {
log.Fatal(err)
}
fmt.Println("Connected to MongoDB!")
}
以上是几种常见数据库在Debian上使用Golang连接的示例。根据你的具体需求选择合适的数据库和对应的库,并按照示例代码进行配置和连接测试。