開始介紹 database, 重點項目篇幅比較多
今天開始 helloworld一下, 主要項目包含 起db 以及 連線到db
docker run -it --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=12345 -e POSTGRES_DB=test postgres
參數解說:
docker exec -it postgres bash # 進到 docker 內
psql -U postgres -W # 密碼 12345, 會進到 postgres內
\l # 看有哪些資料庫, 應該會看到 test
\c test # 切到 test 資料庫內
\dt # 看有哪些 table, 此時應該沒有
檢查沒問題, 準備 golang 來連線
main.go
package main
import (
"database/sql"
"fmt"
"log"
// 這是 go 特別的慣例, driver 要用底線引入, 就可以使用
_ "github.com/lib/pq"
)
// user: postgres
// password: 12345
// host: localhost
// port: 5432
// db: test
const dsn = "postgresql://postgres:12345@localhost:5432/test?sslmode=disable"
func main() {
db, err := sql.Open("postgres", dsn)
if err != nil {
log.Fatal(err)
}
fmt.Println(db)
// ping 就是確認一下 db 狀態的官方提供 api
err = db.Ping()
if err != nil {
log.Fatal(err)
return
}
fmt.Println("ping db success!")
// 這邊涉及 sql 語法, 後面的文章再介紹
res, err := db.Exec("CREATE TABLE IF NOT EXISTS users(id SERIAL PRIMARY KEY, email text, password text)")
if err != nil {
log.Fatal(err)
}
fmt.Println(res)
}
直接執行, 應該會看到 ping db success, 然後再回去剛剛的 cli界面, \dt, 應該會看到 users table了!
這邊推薦
DBMS: DBeaver
SQLEditor: Beekeeper CE
DBeaver 是全免費開源的資料庫管理工具, 功能全面, 支援的資料庫非常多 (冷門的 cockroachdb 或是最近想用 cassandra 也都有辦法使用)
Keekeeper 我是用免費社群版, 軟體響應快速, table 點擊就會列出資料, 輕巧方便, 個人很喜歡
至於 GUI 怎麼連線進去, 網路上應該超多教學, 可以搜尋一下, 如果真的連不到, 再請留言我再介紹一篇