【Python】SQLite3で複数行のデータ追加(レコード登録)

Pythonライブラリ「SQLite3」を用いて、データベースに複数行のデータ追加(レコード登録)する方法とソースコードについて紹介します。

## 複数行のデータ追加(レコード登録)

Python標準ライブラリ「SQLite3」では、executemanyメソッドでクエリ(SQL文)を複数実行できます。
テーブルに複数行のデータ追加(レコード登録)を行うには、executemanyメソッドでINSERT文を実行します。

【書式】
executemany(SQL文, タプルのリスト)

## ソースコード

サンプルプログラムのソースコードは下記の通りです。

# -*- coding: utf-8
import sqlite3

# データベース開く
db = sqlite3.connect('sarvant.db')
c = db.cursor()

# テーブル作成
c.execute('create table artoria (name text, atk int, hp int)')

# データ追加(レコード登録)
sql = 'insert into artoria (name, atk, hp) values (?,?,?)'
data = [('artoria',11221,15150),
            ('artoria alter',10248,11589),
            ('artoria lily', 7726,10623),
            ('artoria lancer',10995,15606),
            ('artoria lancer alter',9968,11761),
            ('artoria swimwear',11276,14553),
            ('artoria santa alter',9258,11286),
            ('mystery heroine x',11761,12696),
            ('mystery heroine x alter',11113,14175)]
c.executemany(sql, data)

# コミット
db.commit()
    
# データ(レコード)取得
sql = 'select * from artoria'
for row in c.execute(sql):
    print(row)

# クローズ
db.close() 

【INSERT文】
INSERT INTO テーブル名(カラム名) VALUES(レコード)
※指定したテーブルのカラムへレコード登録(データ追加)

## ソースコード

サンプルプログラムの実行結果は下記の通りです。

(‘artoria alter’, 10248, 11589)
(‘artoria lily’, 7726, 10623)
(‘artoria lancer’, 10995, 15606)
(‘artoria lancer alter’, 9968, 11761)
(‘artoria swimwear’, 11276, 14553)
(‘artoria santa alter’, 9258, 11286)
(‘mystery heroine x’, 11761, 12696)
(‘mystery heroine x alter’, 11113, 14175)

【Python】SQLite3入門
Python標準ライブラリ「SQLite3」を使ってデータベースを操作する方法とソースコードについて紹介します。SQLiteは、サーバーなしに単独で動作させることが出来るデータベースです。小中規模の手軽なデータベースの作成に用いられま...
Python
西住工房

コメント

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