Pythonでやる奴

Python出来る→機械学習も出来る→価値UPで年収UPでやりがいUP→いつかは田舎暮らししたい男のブログ

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()