GoでMySQLを利用する

2019年9月20日

Go

database/sqlパッケージのMySQLドライバーであるgo-sql-driver/mysqlを利用してMySQLに接続し、CRUD(create/read/update/delete)を実行してみます。

 

 

MySQLはローカル環境に構築し、sample_dbデータベースとusersテーブルを作成しました。あらかじめデータを登録しておきます。

 

 

関連ページ

DockerのMySQLに初期データを投入する

 

 

go-sql-driver/mysqlドライバーをインストールします。

 

 

SELECT


 

まずはあらかじめ登録していたレコードを全て取得してみます。

 

16行目

rootユーザー、パスワードはpassで設定してあります。

 

30行目

Scan()の引数には、取得するカラムを指定します。

 

実行します。

 

上記例では複数行のレコードを取得しましたが、1件のレコードのみを取得する場合はQueryRowを利用します。

26行目

該当するレコードがない場合はsql.ErrNoRowsで判定します。

 

 

INSERT


 

16行目

Prepare()でプリペアードステートメント(Prepared Statements)を利用します。

 

関連ページ

SQLインジェクション[プリペアードステートメント]

 

22行目

Exec()の引数に登録する値を入れて実行しています。

 

 
 
UPDATE


 

27行目

RowsAffected()は更新したレコード数を取得しています。仮に存在しないidや同じnameで更新しようとすると31行目では0(ゼロ)と表示されます。

 

 

DELETE


 

 

 

 

参照ページ


 

go-sql-driver/mysql

 

 

 

LINEで送る
Pocket

Copyright © 2019 思考の葉 All Rights Reserved.  プライバシーポリシー