golang操作mysql的demo,直接上代码

package main  import (         "database/sql"         "fmt"         _ "github.com/go-sql-driver/mysql"         "log"         "strings" )  const (         userName = "root"         password = "123456"         ip       = "127.0.0.1"         port     = "3306"         dbName   = "oversea" )  //var db = &sql.DB{}  func main() {         insert("test")         //query()         //update()         //query()         //delete() }  func createTable(db *sql.DB, table string) {         sql := `     CREATE TABLE ` + table + `(         uid INT(10) NOT NULL AUTO_INCREMENT,         age INT(10) NOT NULL,         username VARCHAR(64) NULL DEFAULT NULL,         created DATE NULL DEFAULT NULL,         PRIMARY KEY(uid)     )ENGINE=InnoDB DEFAULT CHARSET=utf8;`          fmt.Println(sql)         smt, err := db.Prepare(sql)         if err != nil {                 fmt.Println(err)         }         smt.Exec() }  func insert(tableName string) error {         path := strings.Join([]string{userName, ":", password, "@tcp(", ip, ":", port, ")/", dbName, "?charset=utf8"}, "")         db, err := sql.Open("mysql", path)         defer db.Close()         if err != nil {                 return err         }          createTable(db, tableName)         sql := fmt.Sprintf("INSERT INTO %s(uid,age,username) values(NULL,%d,%s)",tableName,"mark", 21)         _, err = db.Exec(sql)         if err != nil {                 return err         }         return nil }  func update(tableName string) error {         path := strings.Join([]string{userName, ":", password, "@tcp(", ip, ":", port, ")/", dbName, "?charset=utf8"}, "")         db, err := sql.Open("mysql", path)         defer db.Close()         if err != nil {                 return err         }          createTable(db, tableName)         sql := fmt.Sprintf("UPDATE %s set username=%s where uid=%d",tableName,"mark", 21)         _, err = db.Exec(sql)         if err != nil {                 return err         }         return nil }  func delete(tableName string) error {         path := strings.Join([]string{userName, ":", password, "@tcp(", ip, ":", port, ")/", dbName, "?charset=utf8"}, "")         db, err := sql.Open("mysql", path)         defer db.Close()         if err != nil {                 return err         }          createTable(db, tableName)         sql := fmt.Sprintf("DELETE FROM %s where uid=%d",tableName,21)         _, err = db.Exec(sql)         if err != nil {                 return err         }         return nil }  func query(tableName string) error {         path := strings.Join([]string{userName, ":", password, "@tcp(", ip, ":", port, ")/", dbName, "?charset=utf8"}, "")         db, err := sql.Open("mysql", path)         defer db.Close()         if err != nil {                 return err         }          createTable(db, tableName)         sql := fmt.Sprintf("SELECT uid,username FROM TEST",tableName)         rows, _ := db.Query(sql)         defer rows.Close()         for rows.Next() {                 var name string                 var id int                 if err := rows.Scan(&id, &name); err != nil {                         log.Fatal(err)                 }                 fmt.Printf("name:%s ,id:is %dn", name, id)         }         return nil }

 

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/sqljc/814723.html