Cách sử dụng bất kỳ cơ sở dữ liệu SQL nào trong Go

Bạn có thể truy xuất và cập nhật dữ liệu trong hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) bằng ngôn ngữ SQL. Cơ sở dữ liệu SQL lưu trữ bộ sưu tập dữ liệu theo hàng và cột. Cơ sở dữ liệu SQL được sử dụng rộng rãi nhất là MySQL, PostgreSQL, Microsoft SQL Server và SQLite

Gói cơ sở dữ liệu/sql, một thành phần của thư viện chuẩn, chứa chức năng tương tác với cơ sở dữ liệu trong Go

Bạn có thể nhập gói trình điều khiển phù hợp cho RDBMS của mình và sử dụng gói đó để tương tác với cơ sở dữ liệu bằng gói cơ sở dữ liệu/sql tương tác với cơ sở dữ liệu SQL

Giới thiệu về cơ sở dữ liệu SQL trong Go

Bạn phải sử dụng một trong nhiều trình điều khiển có sẵn để tương tác với một máy chủ cơ sở dữ liệu cụ thể vì gói cơ sở dữ liệu/sql chỉ cung cấp giao diện chung cho cơ sở dữ liệu quan hệ

Rất may, gói cơ sở dữ liệu/sql đảm nhiệm các hoạt động của cơ sở dữ liệu độc lập với máy chủ mà bạn đang kết nối, vì vậy bạn không phải lo lắng về việc triển khai cụ thể ngoài trình điều khiển

Trình điều khiển cơ sở dữ liệu Go phổ biến nhất bao gồm

  • Trình điều khiển Go-SQL (MySQL)
  • PQ (PostgreSQL)
  • Truy cập SQLite3 (SQLite)
  • Cơ sở dữ liệu MSSQL (Máy chủ Microsoft SQL)

Danh sách này cũng hiển thị mức độ phổ biến tương đối của từng hệ thống cơ sở dữ liệu, vì vậy bạn có thể sử dụng nó để tìm tương đương cho các loại cơ sở dữ liệu khác

The comprehensive Go databases resource

Truy cập Cài đặt và nhập trình điều khiển cơ sở dữ liệu

Cài đặt trình điều khiển tương ứng với hệ thống cơ sở dữ liệu của bạn sau khi tạo không gian làm việc Go và khởi tạo tệp mô-đun Go. Chẳng hạn, hãy chạy một trong các lệnh sau trong thư mục không gian làm việc của bạn để cài đặt trình điều khiển MySQL hoặc SQLite

_10

Sau khi cài đặt trình điều khiển của bạn, hãy nhập nó cùng với gói cơ sở dữ liệu/sql bằng cách thêm dấu gạch dưới trước tên gói, chẳng hạn, để nhập trình điều khiển MySQL

________Đầu tiên

Bạn có thể kết nối với cơ sở dữ liệu và thực hiện các thao tác trên đó bằng cách nhập gói trình điều khiển tác dụng phụ

Sử dụng Chuyển đến Kết nối với Cơ sở dữ liệu SQL

Phương thức Open của gói cơ sở dữ liệu/sql, chấp nhận tên trình điều khiển và đường dẫn đến cơ sở dữ liệu (đối với SQLite) hoặc chuỗi kết nối (đối với MySQL), cho phép bạn thiết lập kết nối cơ sở dữ liệu sau khi nhập trình điều khiển cơ sở dữ liệu. Cân nhắc sử dụng một trong các ví dụ sau

db, err := sql.Open("sqlite3", "models/testdb.db") // SQLite\n \ndb, err := sql.Open("mysql", "user:password@/dbname") // MySQL

Sau khi cố gắng thiết lập kết nối, hãy nhớ tìm bất kỳ lỗi nào

if err != nil {\n log.Fatalln(err)\n}\n

Khi bạn đã kết nối với cơ sở dữ liệu, bạn có thể thực hiện các truy vấn và chuẩn bị các câu lệnh bằng cách sử dụng phiên bản cơ sở dữ liệu mà Open trả về. Tùy thuộc vào hệ thống cơ sở dữ liệu của bạn, phương thức Mở có thể trả về lỗi nếu cơ sở dữ liệu không tồn tại

Thực thi các lệnh SQL

Phương thức Chuẩn bị của phiên bản cơ sở dữ liệu của bạn chấp nhận một lệnh SQL và trả về một câu lệnh đã chuẩn bị để thực thi cùng với một đối tượng lỗi, cho phép bạn thực thi các lệnh SQL. Như một minh họa, nếu bạn muốn tạo một bảng mới

command, err := db.Prepare("CREATE TABLE IF NOT EXISTS login(username TEXT, password TEXT)")\n

Nếu một bảng có tên đăng nhập chưa tồn tại, thì câu lệnh đã nói ở trên sẽ tạo bảng đó và điền vào đó các trường loại TEXT được gọi là tên người dùng và mật khẩu

Sử dụng ký hiệu dấu chấm hỏi (?) để chỉ ra các chỗ dành sẵn khi chèn các giá trị từ chương trình của bạn vào các truy vấn;

_15

Khi bạn đã tạo một câu lệnh đã chuẩn bị, bạn có thể chạy nó bằng cách gọi phương thức Exec của nó, phương thức này cho phép bạn chuyển các giá trị tham số của chương trình

_16

Bạn có thể kiểm tra số lượng hàng bị ảnh hưởng hoặc ID của lần chèn gần đây nhất bằng cách sử dụng kết quả truy vấn SQL mà Exec() trả về làm giá trị đầu tiên của nó

_17

Tìm nạp kết quả truy vấn

Sử dụng phương thức Truy vấn của phiên bản cơ sở dữ liệu, gói cơ sở dữ liệu/sql cho phép bạn truy vấn kết quả cơ sở dữ liệu

rows, err := db.Query("SELECT * FROM User")\n \nif err != nil {\n return\n}\n

Cấu trúc Hàng do phương thức Truy vấn trả về có thể được sử dụng để tương tác với tập kết quả của bạn;

_19

Phương thức Quét giải mã hàng hiện tại thành các biến chuỗi tên người dùng và mật khẩu tương ứng, trong ví dụ trên đại diện cho từng giá trị cột

Cơ sở dữ liệu SQL luôn hữu ích

Gói cơ sở dữ liệu/sql giúp việc sử dụng cơ sở dữ liệu trong Go trở nên đơn giản, cho phép bạn dễ dàng truy vấn và chạy các lệnh SQL

Bạn có thể sử dụng cơ sở dữ liệu như cơ sở dữ liệu SQLite trong bộ nhớ cho các dự án đơn giản của mình như quét web và xây dựng bot. Cơ sở dữ liệu SQL là cốt lõi của nhiều ứng dụng, đặc biệt là những ứng dụng xử lý các bộ dữ liệu lớn hoặc phức tạp

Nếu bạn chọn không học SQL, thay vào đó, bạn có thể học cách sử dụng ORM để tương tác với cơ sở dữ liệu SQL trong Go. Tuy nhiên, kiến ​​thức thích hợp về SQL và các hệ thống quản lý cơ sở dữ liệu là điều cần thiết để sử dụng chúng trong các chương trình của bạn một cách hiệu quả

Cơ sở dữ liệu SQL lưu trữ bộ sưu tập dữ liệu theo hàng và cột. Bạn có thể truy xuất và cập nhật dữ liệu trong hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) bằng ngôn ngữ SQL. Trong số nhiều cơ sở dữ liệu SQL có sẵn, phổ biến nhất là MySQL, PostgreSQL, Microsoft SQL Server và SQLite

Chức năng tương tác với cơ sở dữ liệu trong Go nằm trong gói cơ sở dữ liệu/sql, một phần của thư viện chuẩn

Gói cơ sở dữ liệu/sql tương tác với cơ sở dữ liệu SQL bằng trình điều khiển. Bạn có thể nhập gói trình điều khiển thích hợp cho RDBMS của mình và sử dụng gói đó để tương tác với cơ sở dữ liệu

Bắt đầu với cơ sở dữ liệu SQL trong Go

Gói cơ sở dữ liệu/sql là giao diện chung cho cơ sở dữ liệu quan hệ. Để làm việc với một máy chủ cơ sở dữ liệu cụ thể, bạn sẽ cần sử dụng một trong nhiều trình điều khiển có sẵn

Rất may, bạn không phải lo lắng về việc triển khai cụ thể ngoài trình điều khiển. Gói cơ sở dữ liệu/sql xử lý các hoạt động cơ sở dữ liệu độc lập với máy chủ mà bạn đang kết nối tới

Một số trình điều khiển cơ sở dữ liệu Go phổ biến nhất là

  • Trình điều khiển Go-SQL (MySQL)
  • PQ (PostgreSQL)
  • Truy cập SQLite3 (SQLite)
  • Cơ sở dữ liệu MSSQL (Máy chủ Microsoft SQL)

Bạn có thể sử dụng danh sách trình điều khiển LibHunt để tìm tương đương cho các loại cơ sở dữ liệu khác. Danh sách cũng cho thấy mức độ phổ biến tương đối của từng hệ thống cơ sở dữ liệu

The comprehensive Go databases resource

Cài đặt và nhập trình điều khiển cơ sở dữ liệu Go

Khi bạn đã tạo không gian làm việc Go và khởi tạo tệp mô-đun Go, hãy cài đặt trình điều khiển phù hợp với hệ thống cơ sở dữ liệu của bạn. Ví dụ: chạy một trong các lệnh sau trong thư mục không gian làm việc của bạn để cài đặt trình điều khiển MySQL hoặc SQLite

go get -u github.com/go-sql-driver/mysql\ngo get github.com/mattn/go-sqlite3\n

Sau khi bạn đã cài đặt trình điều khiển của mình, hãy nhập trình điều khiển đó để biết các tác dụng phụ bằng cách thêm tiền tố vào dấu gạch dưới trước gói. Ví dụ: để nhập trình điều khiển MySQL cùng với gói cơ sở dữ liệu/sql

import (\n "database/sql"\n _ "github.com/go-sql-driver/mysql"\n)\n

Bằng cách nhập gói trình điều khiển cho các tác dụng phụ, bạn có thể sử dụng nó để kết nối và thực hiện các thao tác trên cơ sở dữ liệu

Kết nối với cơ sở dữ liệu SQL với Go

Sau khi nhập trình điều khiển cơ sở dữ liệu, bạn có thể tạo kết nối cơ sở dữ liệu bằng phương thức Mở của gói cơ sở dữ liệu/sql. Phương thức này lấy tên của trình điều khiển và đường dẫn đến cơ sở dữ liệu (đối với SQLite) hoặc chuỗi kết nối (đối với MySQL). Ví dụ: sử dụng một trong hai cách sau

db, err := sql.Open("sqlite3", "models/testdb.db") // SQLite\n \ndb, err := sql.Open("mysql", "user:password@/dbname") // MySQL

Khi bạn đã cố gắng mở kết nối, hãy nhớ kiểm tra lỗi

if err != nil {\n log.Fatalln(err)\n}\n

Tùy thuộc vào hệ thống cơ sở dữ liệu của bạn, phương thức Mở có thể trả về lỗi nếu cơ sở dữ liệu không tồn tại. Khi bạn đã kết nối với cơ sở dữ liệu, bạn có thể thực hiện các truy vấn và chuẩn bị các câu lệnh bằng cách sử dụng phiên bản cơ sở dữ liệu mà Open trả về

Thực thi các lệnh SQL

Bạn có thể thực thi các lệnh SQL bằng phương thức Chuẩn bị của phiên bản cơ sở dữ liệu của mình. Phương thức Chuẩn bị nhận một lệnh SQL và trả về một câu lệnh đã chuẩn bị để thực thi cùng với một đối tượng lỗi. Ví dụ, nếu bạn muốn tạo một bảng mới

command, err := db.Prepare("CREATE TABLE IF NOT EXISTS login(username TEXT, password TEXT)")\n

Câu lệnh trên tạo một bảng có tên đăng nhập, nếu nó chưa tồn tại. Bảng mới có các trường tên người dùng và mật khẩu, mỗi loại TEXT

Nếu bạn đang chèn các giá trị từ chương trình vào các truy vấn của mình, bạn có thể sử dụng ký hiệu dấu chấm hỏi (?) để biểu thị các trình giữ chỗ rồi chuyển các tham số khi thực thi câu lệnh

command, err := db.Prepare("INSERT INTO login(username, password) values(?,?)")\n

Khi bạn đã tạo một câu lệnh đã chuẩn bị, bạn có thể thực thi nó bằng phương thức Exec của nó. Phương pháp này cho phép bạn chuyển các giá trị tham số từ chương trình của bạn

if err != nil {\n log.Fatalln(err)\n}\n0

Giá trị đầu tiên mà Exec() trả về là kết quả của truy vấn SQL trên cơ sở dữ liệu của bạn. Sử dụng kết quả truy vấn này, bạn có thể kiểm tra số hàng bị ảnh hưởng hoặc ID được chèn lần cuối

if err != nil {\n log.Fatalln(err)\n}\n1

Tìm nạp kết quả truy vấn

Gói cơ sở dữ liệu/sql cho phép bạn truy vấn kết quả cơ sở dữ liệu bằng phương thức Truy vấn của phiên bản cơ sở dữ liệu

rows, err := db.Query("SELECT * FROM User")\n \nif err != nil {\n return\n}\n

Phương thức Truy vấn trả về cấu trúc Hàng mà bạn có thể sử dụng để làm việc với tập kết quả của mình. Ví dụ: bạn có thể sử dụng phương thức Tiếp theo của phiên bản hàng của mình để lặp lại nó và làm việc với các hàng riêng lẻ

if err != nil {\n log.Fatalln(err)\n}\n3

Trong ví dụ trên, hai biến chuỗi—tên người dùng và mật khẩu—đại diện cho từng giá trị cột. Phương thức Quét giải mã hàng hiện tại thành các biến tương ứng đó

Cơ sở dữ liệu SQL luôn có ích

Sử dụng cơ sở dữ liệu trong Go rất đơn giản với gói cơ sở dữ liệu/sql. Bạn có thể sử dụng nó để truy vấn và thực thi các lệnh SQL trong Go một cách dễ dàng

Cơ sở dữ liệu SQL là cốt lõi của nhiều ứng dụng, đặc biệt là những ứng dụng xử lý các bộ dữ liệu lớn hoặc phức tạp. Bạn có thể sử dụng cơ sở dữ liệu như cơ sở dữ liệu SQLite trong bộ nhớ cho các dự án đơn giản của mình như quét web và xây dựng bot

Kiến thức đúng đắn về SQL và các hệ thống quản lý cơ sở dữ liệu là điều cần thiết để sử dụng chúng trong các chương trình của bạn một cách hiệu quả. Tuy nhiên, nếu bạn chọn không học SQL, bạn có thể học cách sử dụng ORM để tương tác với cơ sở dữ liệu SQL trong Go

Tôi nên sử dụng cơ sở dữ liệu nào với Go?

Các hệ thống quản lý cơ sở dữ liệu được hỗ trợ . MySQL, Oracle, Postgres, SQL Server, SQLite, and more.

Làm cách nào để nhập MySQL vào Golang?

Create a main.go file and insert the following code: package main import ( "fmt" "database/sql" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql. Open("mysql", "root:@tcp(127.0. 0.1:3306)/test") if err !=

Làm cách nào để kết nối với cơ sở dữ liệu mssql từ Golang?

Sử dụng cơ sở dữ liệu SQL trong Golang .
Điều kiện tiên quyết của Golang và SQL
Sử dụng máy chủ Microsoft SQL. Cài đặt Microsoft SQL Server
Tạo cơ sở dữ liệu SQL Server. Tạo bảng Nhắc nhở
Xây dựng ứng dụng bảng điều khiển Golang. .
Xây dựng gói cơ sở dữ liệu. .
Thử nghiệm ứng dụng bảng điều khiển Golang
cân nhắc thêm

Làm cách nào để kết nối với cơ sở dữ liệu Go?

Nhận xử lý cơ sở dữ liệu và kết nối .
vào chính. go, bên dưới mã nhập bạn vừa thêm, hãy dán mã Go sau để tạo xử lý cơ sở dữ liệu. var db * sql. .
Gần phía trên cùng của chính. go, ngay bên dưới khai báo gói, nhập các gói bạn cần để hỗ trợ mã bạn vừa viết. .
Lưu chính. đi