Golang - MySQL Update Example

In this source code example, we show how to update data into the MySQL database table in Golang with an example.

All Golang source code examples at https://www.sourcecodeexamples.net/p/golang-source-code-examples.html

Required package

To connect to MySQL we need a driver. Here is the driver that we are going to use.

To install it into GOPATH we simply run this command:

G:\GoLang\examples>go get -u github.com/go-sql-driver/mysql

Database Set up

Let's use below SQL statement to create a database in the MySQL server:

create database demo

After creating the database, use the below SQL script to create a students table in the database:

CREATE TABLE `students` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `email` varchar(255) DEFAULT NULL,
  `first_name` varchar(255) DEFAULT NULL,
  `last_name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) 

Insert Data

Let's use the below example to insert data into the students table and then we will be able to select data from a database.

Golang - MySQL Insert Example

Golang - MySQL Update Example

In this example, we will update the first record in the students table.

Let's create a file named "go_example.go" and add the following content to it:

package main
 
import (
    "database/sql"
    "fmt"
    _ "github.com/go-sql-driver/mysql"
)
 
type Student struct {
    Id         int
    Email       string
    First_Name string
	Last_Name string
}
 
func main() {
	db, e := sql.Open("mysql", "root:root@tcp(127.0.0.1:3306)/demo")
    ErrorCheck(e)
 
    // close database after all work is done
    defer db.Close()
 
    PingDB(db)
 
    //Update db
    stmt, e := db.Prepare("update students set First_Name=? where id=?")
    ErrorCheck(e)
 
    // execute
    res, e := stmt.Exec("Ramesh", "1")
    ErrorCheck(e)
 
    a, e := res.RowsAffected()
    ErrorCheck(e)
 
    fmt.Println(a)
 
    
}
 
func ErrorCheck(err error) {
    if err != nil {
        panic(err.Error())
    }
}
 
func PingDB(db *sql.DB) {
    err := db.Ping()
    ErrorCheck(err)
}

Output:

>G:\GoLang\examples>go run go_example.go
1

Related Source Code Examples


Comments