인터넷의 급속한 발전으로 인해 대량의 데이터를 저장하고 처리하는 것은 피할 수 없는 추세가 되었습니다. 오픈 소스이며 사용하기 쉬운 데이터베이스 시스템인 관계형 데이터베이스 MySQL은 애플리케이션 데이터를 저장하는 데 자주 사용됩니다. 이 기사에서는 Go 언어를 사용하여 MySQL과 상호 작용하고 데이터를 저장하고 쿼리하는 방법을 소개합니다.
환경 설정
먼저 Go 언어와 MySQL 데이터베이스를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다.
go get -u github.com/go-sql-driver/mysql
데이터베이스 연결
MySQL을 사용하기 전에 MySQL 서비스가 설치되고 시작되었는지 확인해야 합니다.
db, err := sql.Open("mysql", "username:password@tcp(host:port)/dbname")
여기서 username
和 password
分别为数据库的用户名和密码,host
和 port
分别为MySQL服务器的IP地址和端口号,dbname
는 다음 명령을 사용할 수 있습니다. 연결할 데이터베이스의 이름입니다.
데이터베이스 작업
다음으로 데이터베이스에서 CRUD 작업을 수행할 수 있습니다. 다음은 Go 언어에서 일반적으로 사용되는 MySQL 작업 명령입니다.
(1) 데이터 쿼리
rows, err := db.Query("SELECT * FROM table_name") defer rows.Close() for rows.Next() { // 查询结果 }
(2) 데이터 삽입
stmt, err := db.Prepare("INSERT INTO table_name (col1, col2) VALUES (?, ?)") _, err = stmt.Exec(val1, val2)
(3) 데이터 업데이트
stmt, err := db.Prepare("UPDATE table_name SET col1 = ? WHERE col2 = ?") _, err = stmt.Exec(val1, val2)
(4) 데이터 삭제
stmt, err := db.Prepare("DELETE FROM table_name WHERE col1 = ?") _, err = stmt.Exec(val)
예제 전체
다음은 Go 언어를 사용하여 MySQL과 상호 작용하는 전체 예입니다.
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "username:password@tcp(host:port)/dbname") if err != nil { fmt.Println(err.Error()) return } defer db.Close() // 查询数据 rows, err := db.Query("SELECT * FROM table_name") if err != nil { fmt.Println(err.Error()) return } defer rows.Close() for rows.Next() { var id int var name string if err := rows.Scan(&id, &name); err != nil { fmt.Println(err.Error()) return } fmt.Printf("id: %d, name: %s ", id, name) } // 插入数据 stmt, err := db.Prepare("INSERT INTO table_name (id, name) VALUES (?, ?)") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() _, err = stmt.Exec(1, "test") if err != nil { fmt.Println(err.Error()) return } // 更新数据 stmt, err = db.Prepare("UPDATE table_name SET name = ? WHERE id = ?") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() _, err = stmt.Exec("updated_test", 1) if err != nil { fmt.Println(err.Error()) return } // 删除数据 stmt, err = db.Prepare("DELETE FROM table_name WHERE id = ?") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() _, err = stmt.Exec(1) if err != nil { fmt.Println(err.Error()) return } }
위 내용은 Go 언어 연습: MySQL을 사용하여 데이터 저장의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!