Home > Backend Development > Golang > golang addition, deletion, modification and query

golang addition, deletion, modification and query

WBOY
Release: 2023-05-15 09:50:06
Original
746 people have browsed it

Golang is an efficient programming language that is widely used in network programming, system programming, data processing and other fields. In Golang, implementing CRUD operations is a very common task. This article will introduce how to use Golang to implement CRUD operations.

1. Database connection

To connect to the database in Golang, third-party libraries are usually used. The more commonly used ones are gorm and sqlx. This article uses gorm as an example.

First, you need to install the gorm library:

go get -u github.com/jinzhu/gorm

Then introduce the gorm library into the code:

import (
  "github.com/jinzhu/gorm"
  _ "github.com/jinzhu/gorm/dialects/mysql"
  )
Copy after login

Then connect to the database:

db, err := gorm.Open("mysql", "root:password@tcp(127.0.0.1:3306)/testdb?charset=utf8mb4&parseTime=True&loc=Local")
defer db.Close()
Copy after login

Among them, root represents the user name, password represents the password, tcp (127.0.0.1:3306) represents the IP address and port number of the connection, and testdb represents the desired The name of the connected database. charset represents the character set, parseTime represents whether to parse time type fields, and loc represents the time zone.

2. Add data

gorm provides two ways to add data, namely create and save, both of which can be operated using structures.

// 使用create方式
db.Create(&User{Name: "Alice", Age: 18})

// 使用save方式
user := &User{Name: "Bob", Age: 20}
db.Save(user)
Copy after login

3. Query data

gorm provides a variety of query statements, such as Find, First, Last, Where, etc. Through these methods, the query function can be realized very conveniently.

// 查询全部数据
var users []User
db.Find(&users)

// 查询单条数据
var user User
db.First(&user, "id = ?", 1)

// 条件查询
var users []User
db.Where("age > ?", 18).Find(&users)

// 分页查询
var users []User
db.Where("age > ?", 18).Offset(0).Limit(10).Find(&users)
Copy after login

Among them, Offset indicates which record to start querying from, and Limit indicates how many records to query.

4. Update data

gorm provides two ways to update data, namely save and update. The difference between the two methods is that save updates the entire structure, while update only updates the data. Update the specified field.

// 使用save方式
user := &User{Name: "Alice", Age: 18}
db.Save(user)

// 使用update方式
db.Model(&User{}).Where("id = ?", 1).Update("name", "Bob")
Copy after login

5. Delete data

gorm provides the Delete method for deletion operations and supports passing in structures or conditional expressions.

// 删除指定ID的数据
db.Delete(&User{}, 1)

// 根据条件删除数据
db.Where("age < ?", 18).Delete(&User{})
Copy after login

6. Summary

Using gorm can easily implement CRUD operations in Golang. Through the introduction of this article, I believe readers can easily master the basic usage of gorm. In actual development, corresponding improvements and optimizations need to be made based on business needs to make the code more efficient and easier to maintain.

The above is the detailed content of golang addition, deletion, modification and query. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template