Fork me on GitHub

ドライバのインポート


database/sql を使用するにはパッケージそのもののインポートと、使いたい特定のデータベースのドライバーをインポートする必要があります。

通常はドライバーのパッケージを直接使用しないでください。ただし一部のドライバーは直接使用することを推奨しています。(私たちの意見では、通常良くない方法です。)可能であれば database/sql で定義された型のみを使って実装すべきです。このようにすることでドライバー依存の実装を防ぎ、基盤となるドライバーやデータベースを変更するときに、最小限のコードの変更でできるようにします。また特定のドライバーが提供するアドホックな書き方をする代わりに Go の標準的な書き方をすることができます。

このドキュメントではドライバーの例として @julienschmidt と @arnehormann から提供されている、優秀な MySQLdrivers を用います。

Go の先頭のコードに以下を追加します。

import (
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
)

ドライバーをブランクインポートしていることに注意してください。パッケージ修飾子として _ を用いているため、パッケージで公開されている関数をコード内で使うことはありません。内部では database/sql パッケージでドライバーを使用できるようにしますが、通常は実行時の init 関数を除いて影響はありません。

さぁ、データベースにアクセスする準備が整いました。