【Go】go修行20日目データベース

パッケージ メイン
インポート (
"database / sql"
"log"
_ "github.com/mattn/go-sqLite3"
)
var DbConnection * sql 。DB
func main () {
DbConnection 、 _ := sql 。("sqlite3" 、"./example.sql" )を開き、
DbConnectionを延期します。閉じる()
//
テーブル作成cmd := `存在しない場合はテーブルを作成しますperson(
名前STRING、
age INT) `
_ 、 err := DbConnection 。Exec (cmd )
//
エラーハンドリングif err != nil {
log 。Fatalln (err )
}
//レコードINSERT
cmd = "INSERT INTO person(name、age)VALUES(?、?)"
_ 、 err = DbConnection 。Exec (cmd 、 "Nancy" 、 20 )
if err != nil {
log 。Fatalln (エラー)
}
}
PS C:\ Users \ yuta \ go \ src \ semaphore> sqlite3。\ example.sql
SQLiteバージョン3.32.3 2020-06-18 14:00:33
使い方のヒントは「.help」と入力してください。
sqlite> .table
人
sqlite>
sqlite> select * from person;
ナンシー| 20
パッケージ メイン
インポート (
"database / sql"
"fmt"
"log"
_ "github.com/mattn/go-sqLite3"
)
var DbConnection * sql 。DB
タイプ Person 構造体 {
名前 文字列
Age int
}
func main () {
DbConnection 、 _ := sql 。("sqlite3" 、"./example.sql" )を開き、
DbConnectionを延期します。閉じる()
//
テーブル作成cmd := `存在しない場合はテーブルを作成しますperson(
名前STRING、
age INT) `
_ 、 err := DbConnection 。Exec (cmd )
//
エラーハンドリングif err != nil {
log 。Fatalln (err )
}
//レコード挿入
cmd = "SELECT * FROM person where age =?"
行 := DbConnection 。QueryRow (cmd 、 20 )
var p Person
err = row 。スキャン(&P 。名前、 &P 。年齢)
の場合 、ERR != nilの {
場合 ERR == SQL 。ErrNoRows {
ログ。Println ("行なし" )
} さもなければ {
ログ。Println (err )
}
}
fmt 。println (P 。名、 P 。年齢)
}
ナンシー20
“ `
パッケージ メイン
インポート (
"database / sql"
"log"
_ "github.com/mattn/go-sqLite3"
)
var DbConnection * sql 。DB
タイプ Person 構造体 {
名前 文字列
Age int
}
func main () {
DbConnection 、 _ := sql 。("sqlite3" 、"./example.sql" )を開き、
DbConnectionを延期します。閉じる()
//
テーブル作成cmd := `存在しない場合はテーブルを作成しますperson(
名前STRING、
age INT) `
_ 、 err := DbConnection 。Exec (cmd )
//
エラーハンドリングif err != nil {
log 。Fatalln (err )
}
//レコードDELETE
cmd = "DELETE FROM person WHERE name =?"
_ 、 err = DbConnection 。Exec (cmd 、 "Nancy" )
if if err != nil {
log 。Fatalln (エラー)
}
}
https://www.udemy.com/course/go-fintech/learn/lecture/12088980