Pythonはその強力なデータ処理機能とともに、さまざまなデータベースシステムと連携できるツールを提供しています。データの追加や検索、更新、削除などの操作をPythonのコードだけでおこなえます。
Pythonとデータベースの基本概念
Pythonで扱える主要なデータベースとは:
- Relational Databases(関係データベース)
- NoSQL Databases(非関係データベース)
- In-Memory Databases
- Time Series Databases
- Graph Databases
- Object Databases
- NewSQL Databases
- Cloud Native Databases
これらは、Pythonで扱うことが可能なデータベースの一部です。
PythonでSQLite3を使うメリット
PythonとSQLite3を用いてデータベースを作成し、接続するためには、まずsqlite3モジュールをインポートが必要です。次に sqlite3.connect() 関数を使ってデータベースに接続しましょう。
PythonとSQLite3でデータベースを作成・接続する
データベースの作成と接続:
import sqlite3
conn = sqlite3.connect('example.db')
データベース接続の遮断:
conn.close()
PythonとSQLite3でテーブル操作
テーブルの作成:
c = conn.cursor()
c.execute('''CREATE TABLE stocks
(date text, trans text, symbol text, qty real, price real)''')
conn.commit()
テーブル名の取得:
c.execute("SELECT name FROM sqlite_master WHERE type='table';")
print(c.fetchall())
テーブル名の変更:
c.execute("ALTER TABLE stocks RENAME TO old_stocks;")
conn.commit()
テーブルの削除:
c.execute("DROP TABLE old_stocks;")
conn.commit()
PythonとSQLite3でデータ操作
データの追加:単一レコード:
c.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY','RHAT',100,35.14)")
conn.commit()
データの追加:複数レコード:
purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),
('2006-04-05', 'BUY', 'MSFT', 1000, 72.00),
('2006-04-06', 'SELL', 'IBM', 500, 53.00),
]
c.executemany('INSERT INTO stocks VALUES (?,?,?,?,?)', purchases)
conn.commit()
データの取得:全レコード:
for row in c.execute('SELECT * FROM stocks ORDER BY price'):
print(row)
データの取得:1行ずつ:
c.execute('SELECT * FROM stocks ORDER BY price')
print(c.fetchone())
データの削除:
c.execute("DELETE from stocks where symbol = 'RHAT';")
conn.commit()
以上の例を参考に、PythonとSQLite3を使ってデータベースを操作する方法を学んでみてください。これらの基本的な操作をマスターすれば、Pythonでデータベースを効率的に扱うことができます。