pythonでsqlite(チュートリアル)
ちょっとしたDB?それならSQLite(読み:エスキューエルライト)でしょう。
- まずはインポート
import sqlite3
- DBファイルの作成
conn = sqlite3.connect('test_sqlite.db')
※コーディング中など、何度もクエリを実行する必要がある場合は、インメモリ機能を使うと良い。 そうすることで、既にそのテーブル存在してますよ等々のエラーが表示されなくなる。 上記の代わりに以下を用いる。
conn = sqlite3.connect(':memory:')
- カーソルの作成
curs = conn.cursor()
- table作成
curs.execute( 'CREATE TABLE persons(id INTEGER PRIMARY KEY AUTOINCREMENT, name STRING)') conn.commit() # 以下、commitを行うタイミングは各自で判断願います。
- データ挿入
curs.execute( 'INSERT INTO persons(name) values("Mike")' ) conn.commit()
- データ更新
curs.execute('UPDATE persons set name= "Michel" WHERE name = "Mike"') conn.commit()
- データ選択
curs.execute('SELECT * FROM persons') print(curs.fetchall())
- データ削除
curs.execute('DELETE FROM persons WHERE name = "Michel"') conn.commit()
- 後処理
curs.close() conn.close()
上記コードを纏めたものは以下よりどうぞ
import sqlite3 conn = sqlite3.connect('test_sqlite.db') # conn = sqlite3.connect(':memory:') # カーソル curs = conn.cursor() # table作成 curs.execute( 'CREATE TABLE persons(id INTEGER PRIMARY KEY AUTOINCREMENT, name STRING)') conn.commit() # データ挿入 curs.execute( 'INSERT INTO persons(name) values("Mike")' ) conn.commit() # データ更新 curs.execute('UPDATE persons set name= "Michel" WHERE name = "Mike"') conn.commit() # データ選択 curs.execute('SELECT * FROM persons') print(curs.fetchall()) # データ削除 curs.execute('DELETE FROM persons WHERE name = "Michel"') conn.commit() # 後処理 curs.close() conn.close()