目的
SQLiteでデータベース、テーブルの作成、編集をしてみたかったので、試してみました。
後に記事にしますが、これを使用して、物品管理ができるプログラムを作成していきます。
開発環境
Python version:3.9.7
OS: windows 10.0
プログラム
データベース名は、book_list.db
、テーブル名は、bookitems
にしています。
make_table
では、テーブルの作成と値の設定しています。reset_status
では、デーブル内で設定したstatusを初期状態に戻す操作をしています。この操作は、bookitems
が作成されていない時に実行すると走行するようにしています。
make_db.py
import sqlite3
def make_table(cur):
# make the table
cur.execute(
'CREATE TABLE bookitems(name TEXT , code INTEGER, status INTEGER)'
)
# Data registration
inserts = [
("あいうえお",10001, 0),
("かきくけこ",10002, 0),
("さしすせそ",10003, 0),
("たちつてと",10004, 0),
("なにぬねの",10005, 0),
("はひふへほ",10006, 0),
("まみむめも",10007, 0),
("やゆよ",10008, 0),
("らりるれろ",10009, 0),
("わをん",10010, 0)
]
# execute many data
cur.executemany('INSERT INTO bookitems values(?, ?, ?)', inserts)
cur.close()
def reset_status(cur):
cur.execute('UPDATE bookitems SET status = "0" ')
cur.close()
def main():
# connect database
dbname = 'book_list.db'
conn = sqlite3.connect(dbname)
# make cursor to operate SQlite
cur = conn.cursor()
#check if the table exist the table
cur.execute(''' SELECT count(name) FROM sqlite_master WHERE type='table' AND name='bookitems' ''')
if cur.fetchone()[0]==1:
reset_status(cur)
else:
make_table(cur)
conn.commit() # commit
conn.close() # close data base
if __name__ == '__main__':
main()
DB Browser
作成したbook_list.db
は、DB Browser for SQLiteで操作すると、編集がしやすいです。
使い方は、こちらを参照してください。
参考リンク
下記サイトを参考にさせていただきました。