用go 写MYSQL语言写一个简易的客户管理系统
时间: 2023-07-08 18:35:56 浏览: 44
好的,下面是一个简单的Go语言实现的MySQL客户管理系统示例:
```go
package main
import (
"database/sql"
"fmt"
"log"
_ "github.com/go-sql-driver/mysql"
)
type Customer struct {
Id int
Name string
Address string
Phone string
}
func main() {
// 连接数据库
db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/test")
if err != nil {
log.Fatal(err)
}
defer db.Close()
// 创建表
stmt, err := db.Prepare(`CREATE TABLE IF NOT EXISTS customers (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
address VARCHAR(255),
phone VARCHAR(20)
)`)
if err != nil {
log.Fatal(err)
}
_, err = stmt.Exec()
if err != nil {
log.Fatal(err)
}
// 插入数据
stmt, err = db.Prepare("INSERT INTO customers(name, address, phone) VALUES(?,?,?)")
if err != nil {
log.Fatal(err)
}
_, err = stmt.Exec("张三", "北京市海淀区", "18888888888")
if err != nil {
log.Fatal(err)
}
_, err = stmt.Exec("李四", "上海市浦东新区", "18999999999")
if err != nil {
log.Fatal(err)
}
// 查询数据
rows, err := db.Query("SELECT * FROM customers")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
customers := make([]Customer, 0)
for rows.Next() {
var customer Customer
err := rows.Scan(&customer.Id, &customer.Name, &customer.Address, &customer.Phone)
if err != nil {
log.Fatal(err)
}
customers = append(customers, customer)
}
// 输出数据
for _, customer := range customers {
fmt.Printf("id=%d, name=%s, address=%s, phone=%s\n", customer.Id, customer.Name, customer.Address, customer.Phone)
}
}
```
注意,这只是一个示例,实际应用中需要根据具体需求进行修改。同时,需要将代码中的数据库连接信息(用户名、密码、数据库名、地址等)替换为实际的值。