在Golang中,可以使用第三方库如Go-MySQL-Driver来实现对MySQL数据库中的表进行创建、删除和数据操作(CRUD)等操作。以下是相关信息:
表创建与删除:
创建表:可以通过执行CREATE TABLE语句来创建新的数据表。
例如:
_, err := db.Exec(`CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
PRIMARY KEY (id)
)`)
if err != nil {
log.Fatal(err)
}
删除表:可以通过执行DROP TABLE语句来删除已存在的数据表。
例如:
_, err := db.Exec("DROP TABLE IF EXISTS users")
if err != nil {
log.Fatal(err)
}
数据操作(CRUD):
插入数据:可以通过执行INSERT INTO语句向指定的数据表中插入新纪录。
例如:
res, err := db.Exec("INSERT INTO users(name, age) VALUES (?, ?)", "Tom", 22)
if err != nil {
log.Fatal(err)
}
id, _ := res.LastInsertId()
fmt.Printf("New user inserted. ID: %d\n", id)
查询数据:可以通过执行SELECT语句从指定的数据表中获取记录。
例如:
rows, err := db.Query("SELECT * FROM users WHERE age > ?", 20)
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
var id int
var name string
var age int
if err := rows.Scan(&id, &name, &age); err != nil {
log.Fatal(err)
}
fmt.Printf("ID: %d, Name: %s, Age: %d\n", id, name, age)
}
更新数据:可以通过执行UPDATE语句修改指定的数据表中的记录。
例如:
res, err := db.Exec("UPDATE users SET age = ? WHERE name = ?", 23, "Tom")
if err != nil {
log.Fatal(err)
}
affectedRows, _ := res.RowsAffected()
fmt.Printf("%d rows updated.\n", affectedRows)
删除数据:可以通过执行DELETE FROM语句从指定的数据表中删除记录。
例如:
res, err := db.Exec("DELETE FROM users WHERE id = ?", 1)
if err != nil {
log.Fatal(err)
}
affectedRows, _ := res.RowsAffected()
fmt.Printf("%d rows deleted.\n", affectedRows)




