一、创建表格
marksql := "create table mark (id int(20) primary key auto_increment,markname char(50)," + "mlongitude float,mlatitude float,mdescribe char(255),mtype int,creattime char(50),mvalue float );" smt, err := db.Db.Prepare(marksql) checkErr(err) smt.Exec()
二、创建外键
//定义好友fk1外键 idx_userid := "alter table user add index idx_userid(uid);" smt, err = db.Db.Prepare(idx_userid) checkErr(err) smt.Exec() idx_userid = "alter table friend add index idx_friuid(uid);" smt, err = db.Db.Prepare(idx_userid) checkErr(err) smt.Exec()
//定义好友fk2外键 frifk2sql := "alter table friend add constraint fk2_fri_user foreign key(uid) references user(uid);" smt, err = db.Db.Prepare(frifk2sql) checkErr(err) smt.Exec()
三、插入数据
//插入到数据库表中 func (db *DbOperation) Insert2Table(str string) bool { stmt, err := db.Db.Prepare(str) checkErr(err) res, err := stmt.Exec() defer stmt.Close() checkErr(err) i, err := res.RowsAffected() if i > 0 && err == nil { return true } else { return false } }
var sql = "insert into user(uid,ucode,unickname,password,ufavicon,utel,utype,udescribe,ucreattime) values (" + strconv.Itoa(user.Id) + ",'" + user.Code + "','" + user.NickName + "','" + user.Password + "','" + user.Img + "','" + user.Mobile + "'," + strconv.FormatFloat(user.Category, 'e', 10, 64) + ",'" + user.Description + "','" + user.CreateTime + "');" if !db.G_db.Insert2Table(sql) { fmt.Println("user表插入不成功!") } else { fmt.Println("entering weite2db OK ! ! !") }
四、更新数据库
var sql = "update user set ufavicon='" + user.Img + "',udescribe='" + user.Description + "',utype=" + strconv.FormatFloat(user.Category, 'e', 10, 64) + " where uid=" + strconv.Itoa(user.Id) + ";" if !db.G_db.Insert2Table(sql) { fmt.Println("user表更新不成功!") return errors.New("update error!!!") }
五、查找数据库
func (db *DbOperation) Find(str string) *sql.Rows { fmt.Println(str) rows, err := db.Db.Query(str) fmt.Println("--------------------err", err) if err != nil { panic("error in: selecting in table") } //rows.Close() return rows }
func (pUsersSet *UserSet) LoadData(pDb *db.DbOperation) { var user User fmt.Println("begining:load userset........") selectstr := "select uid,ucode,unickname,password,ufavicon,utel,utype,udescribe,ucreattime from user" rows := pDb.Find(selectstr) for rows.Next() { err := rows.Scan(&user.Id, &user.Code, &user.NickName, &user.Password, &user.Img, &user.Mobile, &user.Category, &user.Description, &user.CreateTime) if err != nil { panic("error in:scanning the table user") } fmt.Println("-------------------Load data to cache--------------------") fmt.Println(user) pUsersSet.WriteUserFromDb2Cache(user) } }
有疑问加站长微信联系(非本文作者)