Mastering Basic CRUD Operations with GORM in Go: A Comprehensive Guide.

Mastering Basic CRUD Operations with GORM in Go: A Comprehensive Guide.


3 min read

In the realm of Go programming, efficient management of database operations is fundamental. GORM, the Object Relational Mapping library for Go, streamlines the process of performing Create, Read, Update, and Delete (CRUD) operations on databases. Let's embark on a journey to explore and master these essential CRUD operations using GORM, empowering you to seamlessly interact with your database within Go applications.


Ensure you've met the prerequisites before diving into CRUD operations with GORM:

  • GORM library installed in your Go environment.

  • A working database connection configured using GORM (as described in previous guides).

Step 1: Creating Records (Create - C in CRUD)

Creating a New Record

To create a new record in your database using GORM, utilize its Create method:

user := models.User{
    Name:  "John Doe",
    Email: "",
    Age:   30,
    // Add other fields as needed

// Assuming 'db' is your GORM database instance

Replace models.User with your actual model structure. The Create method inserts a new record into the database based on the provided struct instance.

Step 2: Reading Records (Read - R in CRUD)

Retrieving Records

GORM simplifies retrieving records from the database using its Find method:

var users []models.User

// Find all users

This retrieves all records from the users table in the database and populates the users slice with instances of the User struct.

Querying Specific Records

You can query specific records based on certain criteria using GORM's Where method:

var user models.User

// Find a user with a specific ID
db.Where("id = ?", 1).First(&user)

Replace 1 with the ID you're querying for. The Where method filters records based on the specified condition and retrieves the first matching record into the user variable.

Step 3: Updating Records (Update - U in CRUD)

Modifying Records

GORM facilitates updating records using its Save or Updates methods:

var user models.User

// Retrieve a user by ID
db.First(&user, 1)

// Update user's age
user.Age = 31

// Save the updated user

This code retrieves a user by their ID, modifies the Age field, and then saves the changes to the database using the Save method.

Updating Specific Fields

GORM allows updating specific fields of a record using the Updates method:

db.Model(&user).Updates(models.User{Age: 32})

This updates the Age field of the user record directly in the database without retrieving the entire record first.

Step 4: Deleting Records (Delete - D in CRUD)

Deleting Records

Deleting records in GORM involves using the Delete method:

var user models.User

// Find the user to delete
db.First(&user, 1)

// Delete the user

Replace 1 with the ID of the user you want to delete. The Delete method removes the specified record from the database.


Congratulations! You've mastered the basic CRUD operations using GORM in Go. By following these steps, you've learned how to create, read, update, and delete records from your database seamlessly using GORM's intuitive methods.

Understanding and applying these CRUD operations in your Go applications using GORM empowers you to efficiently manage data interactions and perform essential database tasks with ease.

I hope this helps, you!!

More such articles:

Did you find this article valuable?

Support techwasti by becoming a sponsor. Any amount is appreciated!