- Code: Select all
package main
import (
"database/sql"
"fmt"
_ "modernc.org/sqlite"
)
func main() {
db, err := sql.Open("sqlite", "demo.db")
if err != nil {
fmt.Println(err)
return
}
defer db.Close()
_, err = db.Exec("DELETE FROM clients WHERE id = :id", sql.Named("id", 3))
if err != nil {
fmt.Println(err)
return
}
}
Exec(). Клиент с идентификатором 3 удалён из таблицы clients.UPDATE-запрос
- Code: Select all
package main
import (
"database/sql"
"fmt"
_ "modernc.org/sqlite"
)
func main() {
db, err := sql.Open("sqlite", "demo.db")
if err != nil {
fmt.Println(err)
return
}
defer db.Close()
productID := 1
price := 700
// обновление цены у продукта с заданным идентификатором
// цена и идентификатор передаются через параметры запроса
_, err = db.Exec("UPDATE products SET price = :price WHERE id = :id",
sql.Named("price", price),
sql.Named("id", productID))
if err != nil {
fmt.Println(err)
return
}
}
1 и установить новое значение 700. Для этого нужно выполнить UPDATE-запрос. Для этого подойдёт уже знакомая функция Exec().INSERT-запрос
- Code: Select all
package main
import (
"database/sql"
"fmt"
_ "modernc.org/sqlite"
)
func main() {
db, err := sql.Open("sqlite", "demo.db")
if err != nil {
fmt.Println(err)
return
}
defer db.Close()
product := "Облачное хранилище"
price := 300
// название продукта и цена передаются через параметры
res, err := db.Exec("INSERT INTO products (product, price) VALUES (:product, :price)",
sql.Named("product", product),
sql.Named("price", price))
if err != nil {
fmt.Println(err)
return
}
fmt.Println(res.LastInsertId())
fmt.Println(res.RowsAffected())
}
LastInsertId() у объекта типа sql.Result получен последний добавленный идентификатор. Это значение выводится на консоль. Помните: не все БД поддерживают эту возможность, поэтому не всегда можно получить последний добавленный идентификатор таким способом.
