>  기사  >  백엔드 개발  >  Go에서 MySQL 사용: 전체 가이드

Go에서 MySQL 사용: 전체 가이드

王林
王林원래의
2023-06-17 08:57:105475검색

인터넷 애플리케이션이 지속적으로 등장하면서 데이터베이스는 필수 구성 요소가 되었습니다. 가장 널리 사용되는 관계형 데이터베이스 중 하나인 MySQL은 개발에 널리 사용되었습니다. Go 언어에서 데이터베이스 개발에 MySQL을 사용하는 방법은 무엇입니까? 이 기사는 독자들에게 Go 언어에서 MySQL을 사용하는 데 필요한 전체 가이드에 대한 자세한 소개를 제공합니다.

1. MySQL 드라이버 설치: Go-MySQL-Driver

Go 언어로 MySQL을 사용하려면 MySQL 드라이버를 설치해야 합니다. 현재 Go 언어는 공식적으로 sql 패키지를 제공하지만 MySQL 드라이버를 제공하지 않으므로 타사 라이브러리를 사용해야 합니다. Go-MySQL-Driver는 Go 언어에서 공식적으로 권장하는 MySQL 드라이버이며 Go 언어에서 MySQL을 사용하기 위한 최선의 선택입니다. 설치는 매우 간단합니다. 다음 코드를 사용하여 설치할 수 있습니다.

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

2. MySQL 데이터베이스에 연결

MySQL을 사용하기 전에 먼저 MySQL 데이터베이스에 연결해야 합니다. MySQL 데이터베이스에 연결하려면 데이터베이스의 연결 문자열을 사용해야 합니다. 연결 문자열에는 사용자 이름, 비밀번호, 주소, 포트 번호, 데이터베이스 이름 및 기타 정보가 포함됩니다.

MySQL 데이터베이스에 연결하는 코드 예제는 다음과 같습니다.

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

func openDB() (*sql.DB, error) {
  db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/database")
  if err != nil {
    return nil, err
  }
  return db, nil
}

코드 분석:

MySQL 연결을 열려면 sql.Open() 메서드를 사용하세요. 첫 번째 매개 변수는 MySQL 드라이버 이름이고 두 번째 매개 변수는 다음과 같습니다. MySQL 데이터베이스의 연결 문자열입니다. 그 중 연결 문자열에는 사용자 이름, 비밀번호, 주소, 포트 번호와 관련된 정보가 포함되며 마지막은 데이터베이스 이름입니다.

3. 데이터 테이블 생성

MySQL에 연결한 후 다음 단계는 데이터 테이블을 생성하는 것입니다. Go 언어에서 데이터베이스 개체는 sql.DB 유형이며 이를 통해 데이터 테이블 생성, 수정, 삭제를 포함한 데이터베이스 작업을 수행할 수 있습니다.

golang을 사용하여 데이터 테이블을 생성하는 코드 예시는 다음과 같습니다.

func create() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  _, err = db.Exec(`
    CREATE TABLE IF NOT EXISTS Users (
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
      name VARCHAR(50) NOT NULL, 
      age INT NOT NULL, 
      email VARCHAR(50) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  `)
  if err != nil {
    return err
  }
  return nil
}

코드 분석:

코드는 먼저 Open() 메서드를 통해 MySQL 데이터베이스에 연결한 후 SQL 명령을 실행하여 테이블을 생성합니다. .()는 MySQL 명령에 작성되어야 합니다.

4. 데이터 삽입

데이터 테이블을 생성한 후 다음 단계는 테이블에 데이터를 삽입하는 것입니다. Go 언어로 데이터를 삽입하려면 데이터베이스 개체의 Exec() 메서드를 사용해야 합니다.

데이터 삽입을 위한 코드 예시는 다음과 같습니다.

func insert() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  _, err = db.Exec("INSERT INTO Users (name, age, email) VALUES (?, ?, ?)", "Tom", 23, "tom@example.com")
  if err != nil {
    return err
  }
  return nil
}

코드 분석:

데이터베이스에 데이터 삽입 시 Exec() 메서드의 첫 번째 매개변수는 SQL 명령입니다. 변수 값은 SQL 명령에 매개변수를 전달하는 데 사용됩니다. 매개변수 이름은 물음표(?)로 표시됩니다.

5. 데이터 쿼리

Go 언어는 Query() 함수를 통해 데이터베이스를 쿼리합니다. Query() 함수 유형은 func Query(query string, args...interface{})입니다. 첫 번째 매개변수는 SQL 쿼리문이고, 두 번째 매개변수는 SQL 쿼리문에 필요한 매개변수의 값이다. 매개변수를 쉼표로 구분하세요.

데이터를 쿼리하는 코드 예시는 다음과 같습니다.

func query() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  rows, err := db.Query("SELECT id, name, age, email FROM Users")
  if err != nil {
    return err
  }
  defer rows.Close()

  for rows.Next() {
    var id, age int
    var name, email string
    if err := rows.Scan(&id, &name, &age, &email); err != nil {
      return err
    }
    fmt.Println(id, name, age, email)
  }
  return nil
}

코드 분석:

쿼리 작업을 수행하려면 Query() 메서드를 사용하고, 한 줄씩 데이터를 읽으려면 Scan() 메서드를 사용합니다.

6. 데이터 수정

Go 언어에서 데이터를 수정하려면 데이터베이스 객체의 Exec() 메서드를 사용해야 합니다.

데이터 수정을 위한 샘플 코드는 다음과 같습니다.

func update() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  _, err = db.Exec("UPDATE Users SET age = ? WHERE name = ?", 25, "Tom")
  if err != nil {
    return err
  }
  return nil
}

코드 분석:

수정 작업을 수행하려면 Exec() 메서드를 사용하세요.

7. 데이터 삭제

Go 언어에서 데이터를 삭제하려면 데이터베이스 개체의 Exec() 메서드를 사용하고 DELETE 문을 실행해야 합니다.

데이터 삭제를 위한 샘플 코드는 다음과 같습니다.

func delete() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  _, err = db.Exec("DELETE FROM Users WHERE name = ?", "Tom")
  if err != nil {
    return err
  }
  return nil
}

코드 분석:

Exe() 메소드를 사용하여 삭제 작업을 수행합니다.

8. 요약

위 내용은 Go 언어에서 MySQL을 사용하는 방법에 대한 전체 가이드입니다. 이 기사를 통해 Go 언어와 MySQL 데이터베이스를 결합하는 모범 사례를 확인할 수 있습니다. Go 언어로 MySQL 데이터베이스를 운영하는 것은 매우 간단하고 직관적이며 Go 언어와 MySQL 간의 호환성이 뛰어납니다. 마지막으로, 이 기사가 Go 언어에서 MySQL을 사용하는 기술을 더 잘 이해하고 숙달하는 데 도움이 되기를 바랍니다.

위 내용은 Go에서 MySQL 사용: 전체 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.