Go语言与数据库操作:从连接到CRUD

Go语言(Golang)以其高效性和并发性广受欢迎,而与数据库的交互则是任何应用程序不可或缺的一部分。本文将介绍Go语言如何与数据库进行操作,包括连接、基本的增删改查(CRUD)操作,以及常用的数据库库。

一、Go语言的数据库操作库

在Go语言中,进行数据库操作通常有两种方式:

  1. database/sql:Go标准库提供的接口,可以与各种数据库(如MySQL、PostgreSQL、SQLite等)进行交互。
  2. ORM(对象关系映射)库:例如GORM,提供更高级的抽象层,简化数据库操作,使得开发者可以以更面向对象的方式进行数据处理。

1. database/sql

database/sql包是Go的标准库,提供了数据库操作的基本接口,支持常见的数据库驱动。使用database/sql进行数据库操作时,需要先导入相应的驱动包。

安装MySQL驱动:

go get -u github.com/go-sql-driver/mysql

示例代码:

package main

import (
	"database/sql"
	"fmt"
	"log"

	_ "github.com/go-sql-driver/mysql"
)

func main() {
   
    
    
	// 数据库连接字符串
	dsn := "username:password@tcp(127.0.0.1:3306)/dbname"
	db, err := sql.Open("mysql", dsn)
	if err != nil {
   
    
    
		log.Fatal(err)
	}
	defer db.Close()

	// 测试数据库连接
	if err := db.Ping(); err != nil {
   
    
    
		log.Fatal(err)
	}

	fmt.Println("数据库连接成功!")
}

2. GORM

GORM是一个功能强大的ORM库,提供了一套完整的接口来操作数据库,支持自动迁移、关联、预加载等功能。使用GORM可以更方便地进行数据建模和操作。

安装GORM:

go get -u gorm.io/gorm
go get -u gorm.io/driver/mysql

示例代码:

package main

import (
	"fmt"
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

type User struct {
   
    
    
	ID   uint   `gorm:"primaryKey"`
	Name string `gorm:"size:255"`
	Age  uint
}

func main() {
   
    
    
	dsn := "username:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
   
    
    })
	if err != nil {
   
    
    
		panic("failed to connect to the database")
	}

	fmt.Println("数据库连接成功!")
}

二、基本的数据库操作

无论是使用database/sql还是GORM,常见的数据库操作大致相同。下面我们将介绍如何使用这两种方式实现基本的CRUD操作。

1. 使用 database/sql 进行CRUD操作

创建用户
func createUser

猜你喜欢

转载自blog.csdn.net/weixin_52088134/article/details/143497059