栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用sql数据库驱动程序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用sql数据库驱动程序

GO-SQL-Driver(MySQL):

https://github.com/Go-SQL-Driver/MySQL

样表:

CREATE TABLE `userinfo` (    `uid` INT(10) NOT NULL AUTO_INCREMENT,    `username` VARCHAr(64) NULL DEFAULT NULL,    `departname` VARCHAr(64) NULL DEFAULT NULL,    `created` DATE NULL DEFAULT NULL,    PRIMARY KEY (`uid`))CREATE TABLE `userdetail` (    `uid` INT(10) NOT NULL DEFAULT '0',    `intro` TEXT NULL,    `profile` TEXT NULL,    PRIMARY KEY (`uid`))

样例代码:

package mainimport (    _ "github.com/Go-SQL-Driver/MySQL"    "database/sql"    "fmt")func main() {    db, err := sql.Open("mysql", "reckhou:reckhou@/test?charset=utf8")    checkErr(err)    //Insert    stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?")    checkErr(err)    res, err := stmt.Exec("reckhou", "IT", "2010-10-02")    checkErr(err)    id, err := res.LastInsertId()    checkErr(err)    fmt.Println(id)    // Update    stmt, err = db.Prepare("update userinfo set username=? where uid=?")    checkErr(err)    res, err = stmt.Exec("update", id)    checkErr(err)    affect, err := res.RowsAffected()    checkErr(err)    fmt.Println(affect)    //Query    rows, err := db.Query("SELECT * FROM userinfo")    checkErr(err)    for rows.Next() {        var uid int        var username string        var department string        var created string        err = rows.Scan(&uid, &username, &department, &created)        checkErr(err)        fmt.Println(uid)        fmt.Println(username)        fmt.Println(department)        fmt.Println(created)    }    //Delete    stmt, err = db.Prepare("delete from userinfo where uid=?")    checkErr(err)    res, err = stmt.Exec(id)    checkErr(err)    affect, err = res.RowsAffected()    checkErr(err)    fmt.Println(affect)    db.Close()}func checkErr(err error) {    if err != nil {        panic(err)    }}

PostgreSQL:

https://github.com/bmizerany/pq

样表:

CREATE TABLE userinfo(    uid serial NOT NULL,    username character varying(100) NOT NULL,    departname character varying(500) NOT NULL,    Created date,    ConSTRAINT userinfo_pkey PRIMARY KEY (uid))WITH (OIDS=FALSE);CREATE TABLE userdeatail(    uid integer,    intro character varying(100),    profile character varying(100))WITH(OIDS=FALSE);

样例代码:

import (    "database/sql"    "fmt"    _ "github.com/bmizerany/pq")func main() {    db, err := sql.Open("postgres", "user=reckhou password=reckhou dbname=test sslmode=disable")    checkErr(err)    //Insert    stmt, err := db.Prepare("INSERT INTO userinfo(username,departname,created) VALUES($1,$2,$3) RETURNING uid")    checkErr(err)    res, err := stmt.Exec("reckhou", "IT", "2010-10-01")    checkErr(err)    id, err := res.LastInsertId()    checkErr(err)    fmt.Println(id)    // Update    stmt, err = db.Prepare("update userinfo set username=$1 where uid=$2")    checkErr(err)    res, err = stmt.Exec("update", 1)    checkErr(err)    affect, err := res.RowsAffected()    checkErr(err)    fmt.Println(affect)    // Query    rows, err := db.Query("SELECT * FROM userinfo")    checkErr(err)    for rows.Next() {        var uid int        var username string        var department string        var created string        err = rows.Scan(&uid, &username, &department, &created)        checkErr(err)        fmt.Println(uid)        fmt.Println(username)        fmt.Println(department)        fmt.Println(created)    }    // Delete    stmt, err = db.Prepare("delete from userinfo where uid=$1")    checkErr(err)    res, err = stmt.Exec(1)    checkErr(err)    affect, err = res.RowsAffected()    checkErr(err)    fmt.Println(affect)    db.Close()}func checkErr(err error) {    if err != nil {        panic(err)    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/448089.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号