PythonでSQLite3を使用しテーブルの作成とレコード登録(データ追加)をする

スポンサーリンク

PythonでSQLite3を使用しテーブルの作成とレコード登録(データ追加)を行ってみます。

今回は、SQLite3を使用します。このライブラリ・モジュールはPythonの標準ライブラリですので、事前にインストールする必要はありません。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■SQLite3を使用しテーブルの作成とレコード登録(データ追加)をする

では、早速SQLite3を使用しテーブルの作成とレコード登録(データ追加)を行い出力させるスクリプトを書いていきます。

■コード

import sqlite3

con = sqlite3.connect("test_db.db")

cur = con.cursor()

cur.executescript("""create table test_table01(id,name);
insert into test_table01 values('1','田中');
insert into test_table01 values('2','吉田');
insert into test_table01 values('3','松本');
""")

cur.execute("SELECT * from test_table01")

print(cur.fetchall())

importでsqlite3モジュールを呼び出します。その後、conという変数を定義し、その中でsqlite3.connect()を用います。括弧内には引数,パラメータとして、test_db.dbというデータベースを渡し、接続を確立します。なお、今回のデータベースはスクリプト実行前には存在しないデータベースで、スクリプトを実行すると自動的にデータベースが作成されます。

con変数内にsqlite3.connect()を格納後、今度はcur変数を定義し、conに対してcursor()を用います。これで一連のデータに順にアクセスするカーソルオブジェクトを作成します。

作成後、curに対してexecutescript()を用います。括弧内には引数,パラメータとして、SQLステートメント(「INSERT」などでクエリ)を渡します。今回は「create table test_table01(id,name);」で、test_db.dbというデータベース内にtest_table01というテーブルを作成し、テーブル内にカラムを作成します。idとnameというカラムを渡しています。

次にテーブルの作成が実行された後に、「insert into test_table01 values(‘1′,’田中’);」でINSERT文でtest_table01テーブルを指定し、テーブル内のカラムに、values()を用いてレコード(データ)を追加します。values()の括弧内には第1の引数,パラメータとして、idというカラムの値である「1」を渡し、第2の引数,パラメータとしてnameというカラムの値である「田中」を渡します。これでレコード登録(データ追加)が完了となります。

同じようにINSERT文でtest_table01テーブルを指定し、カラムにレコード登録(データ追加)を行っていきます。

そしてcurに対してexecute()を用います。括弧内には引数,パラメータとして、SQLステートメントを渡します。今回は「SELECT * from test_table01」でtest_table01テーブル内の”*”(アスタリスク)(全フィールド)を渡します。これでテーブル内のカラムのデータ全てが選択されている状態となります。

最後にcurに対してfetchall()を用います。これで、クエリ結果のすべての行をフェッチし、リストが返されます。返されたリストをprint()で出力します。

■実行・検証

このスクリプトを「sql_db_test.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、SQLite3を使用しテーブルの作成とレコード登録(データ追加)が行われ、登録(追加)したレコード(データ)を出力させることができました。

出力後、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)内を確認すると、自動的に「test_db.db」というデータベースが作成されていることも確認できました。

 

コメント

タイトルとURLをコピーしました