大規模な RDBMS と違い、サーバーの構築が不要なため、ちょっとした検証に便利です。
それなりの規模の本番環境では、おとなしく大規模な RDBMS を使いましょう。
一部のアプリケーションは内部データ保存に SQLite を使えます。
https://docs.python.org/ja/3/library/sqlite3.html
また、SQLite を使ってアプリケーションのプロトタイプを作り、その後そのコードを PostgreSQL や Oracle のような大規模データベースに移植するということも可能です。
関連記事:データベースの基礎知識編 | |||||
---|---|---|---|---|---|
学習ロードマップ | |||||
---|---|---|---|---|---|
SQLite3 コマンドで操作
コマンドラインツールである SQLite3 で、SQLite を操作してみます。
SQLite3 をインストール
SQLite3 でデータベースの開き方
該当するデータベースファイルが存在しない場合は、新規に作成されます。
SQL コマンドを実行
通常の RDBMS と同様に、SQL コマンドを実行できます。
1|hoge
SQL コマンドの詳細は、以下の記事をご覧ください。
SQLite3 コマンドの使い方
SQLite3 では、.help コマンドで SQLite3 独自のコマンドを確認できます。
ここからは、よく利用するコマンドを紹介します。
カラムの表示
id|name
1|hoge
データベースファイルを確認
main: /home/ec2-user/test.db r/w
テーブル一覧を表示
sqlar test
なお、sqlar は SQLite がデフォルトで作成するアーカイブ用のテーブルです。
This repository contains sources for the "SQLite Archiver" program. This program (named "sqlar") operates much like "zip", except that the compressed archive it builds is stored in an SQLite database instead of a ZIP archive.
https://sqlite.org/sqlar/doc/trunk/README.md
SQLite3 を終了
Python で SQLite3
Python で SQLite のデータベースを操作してみます。
import sqlite3 dbpath = 'test.db' #テーブルを保存するファイル con = sqlite3.connect(dbpath) #データベースファイルにコネクションを確立 cur = con.cursor() #カーソルインスタンスを作成 cur.execute('CREATE TABLE IF NOT EXISTS test(id INTEGER, name STRING)') #テーブル作成 cur.execute('INSERT INTO test VALUES(1,"hoge")') #レコードを挿入 # tuple で1行ずつ取得 print("tuple で取得") for row in cur.execute('SELECT * FROM test'): #SELECT 文の結果を print print(row) #list で一括取得 cur.execute('SELECT * FROM test') print("\nlist で取得") print(cur.fetchall()) con.commit() #コミット cur.close() #カーソルをクローズ con.close() #コネクションをクローズ
tuple で取得 (1, 'hoge') list で取得 [(1, 'hoge')]
SQL コマンド「SELECT * FROM test」の結果が取得できていることが確認できます。
sqlite.py test.db
データベースファイル test.db が作成されていることが確認できます。
関連記事
学習ロードマップ | |||||
---|---|---|---|---|---|
関連記事:データベースの基礎知識編 | |||||
---|---|---|---|---|---|
関連記事:データベース設計 | |||||
---|---|---|---|---|---|