postgresql和mysql比較,它更加龐大一點,因為它是用來替代oracle而設計的。所以在企業應用中採用postgresql是乙個明智的選擇。
現在mysql被oracle收購之後,有傳聞oracle正在逐步的封閉mysql,,鑑於此,將來我們也許會選擇postgresql而不是mysql作為專案的後端資料庫。
go實現的支援postgresql的驅動也很多,因為國外很多人在開發中使用了這個資料庫。
在下面的示例中我採用了第乙個驅動,因為它目前使用的人最多,在github上也比較活躍。
資料庫建表語句:
createtable
userinfo
( uid serial
notnull
, 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);
看下面這個go如何運算元據庫表資料:增刪改查
//刪除資料
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)
}
從上面的**我們可以看到,postgresql是通過$1
,$2
這種方式來指定要傳遞的引數,而不是mysql中的?
,另外在sql.open中的dsn資訊的格式也與mysql的驅動中的dsn格式不一樣,所以在使用時請注意它們的差異。
還有pg不支援lastinsertid函式,因為postgresql內部沒有實現類似mysql的自增id返回,其他的**幾乎是一模一樣。
使用perl連線和操作postgresql資料庫
使用環境 linux opensuse 1 檢查安裝環境 1 查詢dbi zypper search dbi 安裝dbi zypper search perl dbi 2 查詢dbd pg zypper search dbd 安裝dbd pg zypper install perl dbd pg 2...
go語言gorm使用
var jsondata map string inte ce 全域性變數 存放配置檔案的map物件 func initjson configstr string bytes reg regexp.mustcompile configstr reg.replaceallstring configst...
go語言使用redis redigo
redis的client有好多好多,go語言的client在redis官方有兩個推薦,radix和redigo。選擇哪乙個好呢?確實很糾結,後來擲硬幣決定選擇redigo了。redis go redigo的安裝就不需要提了,不能強行增加篇幅。redigo使用起來很人性化,api設計的符合直覺,我對r...