作成した喫茶店リストをDBに追加する
データカラムは
(id,title,住所、作成日、作成者、カテゴリー)の6要素
なので
ids=[]
for i,(name,address,date,author,category) in enumerate(zip(titles,adresses,dates,authors,categorys),1):
id=(i,name,address,date,date,author,category)
ids.append(id)
6つの引数を持つリストを作成(あらかじめdates,authors,categoryのタプルは作成済み)
ここからDB操作
テーブル名がわからないので
import sqlite3
sqlite_path = ""
connection = sqlite3.connect(sqlite_path)
cursor = connection.cursor()
cursor.execute("SELECT*FROM sqlite_master where type='table'")
for x in cursor.fetchall():
print(x)
上記のコードでテーブル名を取得
得たテーブル名で改めてデータを挿入する
sqlite_path = ""
connection = sqlite3.connect(sqlite_path)
cursor = connection.cursor()
try:
cursor.executemany("INSERT INTO talbe_name VALUES(?,?,?,?,?,?)",ids)
connection.commit()
except sqlite3.Error as e:
print('sqlite3.Error occurred:', e.args[0])
cursor.execute('SELECT*FROM table_name')
res=cursor.fetchall()
print(res)
connection.close()
ポイント
・try exceptでエラーをキャッチできるようにする
・VALUES()でカラム数を定義する
・複数なのでexecute()ではなくexecutemany()を用いる。
・commitし、DBへ保存
・DBへアクセスし、データを確認
おまけメモ
SELECT id, name FROM table
⇒id nameが返される