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

golang addition, deletion, modification and query

WBOY
WBOYOriginal
2023-05-15 09:50:06688browse

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"
  )

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()

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)

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)

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")

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{})

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!

Statement:
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