Rumah > Artikel > pembangunan bahagian belakang > Pergi amalan bahasa: menggunakan MySQL untuk menyimpan data
Dengan perkembangan pesat Internet, penyimpanan dan pemprosesan sejumlah besar data telah menjadi trend yang tidak dapat dielakkan. Sebagai sumber terbuka dan sistem pangkalan data yang mudah digunakan, pangkalan data relasi MySQL sering digunakan untuk menyimpan data aplikasi. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk berinteraksi dengan MySQL, menyimpan dan data pertanyaan.
Persediaan persekitaran
Mula-mula anda perlu memasang bahasa Go dan pangkalan data MySQL. Anda boleh menggunakan arahan berikut untuk memasang:
go get -u github.com/go-sql-driver/mysql
Sambungan pangkalan data
Sebelum menggunakan MySQL, anda perlu memastikan bahawa perkhidmatan MySQL telah dipasang dan dimulakan Anda boleh menggunakan yang berikut arahan untuk menyambung:
db, err := sql.Open("mysql", "username:password@tcp(host:port)/dbname")
Antaranya, username
dan password
masing-masing ialah nama pengguna dan kata laluan pangkalan data, host
dan port
ialah alamat IP dan nombor port pelayan MySQL masing-masing, dan dbname
ialah nama pangkalan data yang akan disambungkan.
Operasi Pangkalan Data
Seterusnya, anda boleh melakukan operasi CRUD pada pangkalan data. Berikut ialah arahan operasi MySQL yang biasa digunakan dalam bahasa Go:
(1) Data pertanyaan
rows, err := db.Query("SELECT * FROM table_name") defer rows.Close() for rows.Next() { // 查询结果 }
(2) Masukkan data
stmt, err := db.Prepare("INSERT INTO table_name (col1, col2) VALUES (?, ?)") _, err = stmt.Exec(val1, val2)
(3) Kemas kini data
stmt, err := db.Prepare("UPDATE table_name SET col1 = ? WHERE col2 = ?") _, err = stmt.Exec(val1, val2)
( 4) Padam data
stmt, err := db.Prepare("DELETE FROM table_name WHERE col1 = ?") _, err = stmt.Exec(val)
Contoh lengkap
Berikut ialah contoh lengkap penggunaan bahasa Go untuk berinteraksi dengan MySQL:
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "username:password@tcp(host:port)/dbname") if err != nil { fmt.Println(err.Error()) return } defer db.Close() // 查询数据 rows, err := db.Query("SELECT * FROM table_name") if err != nil { fmt.Println(err.Error()) return } defer rows.Close() for rows.Next() { var id int var name string if err := rows.Scan(&id, &name); err != nil { fmt.Println(err.Error()) return } fmt.Printf("id: %d, name: %s ", id, name) } // 插入数据 stmt, err := db.Prepare("INSERT INTO table_name (id, name) VALUES (?, ?)") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() _, err = stmt.Exec(1, "test") if err != nil { fmt.Println(err.Error()) return } // 更新数据 stmt, err = db.Prepare("UPDATE table_name SET name = ? WHERE id = ?") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() _, err = stmt.Exec("updated_test", 1) if err != nil { fmt.Println(err.Error()) return } // 删除数据 stmt, err = db.Prepare("DELETE FROM table_name WHERE id = ?") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() _, err = stmt.Exec(1) if err != nil { fmt.Println(err.Error()) return } }
Atas ialah kandungan terperinci Pergi amalan bahasa: menggunakan MySQL untuk menyimpan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!