Pythonでアプリケーションを作成した際、【SQLite3】を利用しました。
SQLiteは、非常に軽量で動作も安定しており、使いやすいデータベースです。
またPythonや他の言語と組み合わせることによって、アプリケーションを作成することができます。
SQLiteの、導入としてDBの作成と接続をしてみたいと思います。
- データベースってなんだ?という初級者の方に向けて、SQLite3についてまとめました。
- 実際にデータベースを作成 / 接続し、動作確認を実施します。
動作確認を含めてご参照いただければ幸いです。
目次
SQLite3とは?
SQLite3とは、非常に軽量・小型なデータベースソフトウェアです。
通常データベースを利用する際は、設定ファイルを用意し、プロセスを起動して使用する。などの設定が必要ですが、SQLiteでは必要ありません。
インストール後すぐに使用することができます(Macを利用されている方は最初からインストールされています)。
また、パスワードの設定も不要であり、初めてデータベースやSQLを使う方には使いやすいのではないかと思います。
SQLite3を利用するメリット
- 導入 / 利用が簡単!
- さまざまなアプリケーションに組み込める!
- データ型を定めなくてよい!
【③データ型を定めなくてよい!】だけ、もう少し補足させてください。
一般的なデータベースの場合、テーブルカラムごとに「String型(文字列)」「Integer型(数値)」などのデータ型を定義しなければなりません。
データ型を指定すると、異なる型のデータを格納することは原則としてできません。
例えば、「Integer型(数値)」で定めたカラムに、「String型(文字列)」を格納することはできないのです。
一見不便そうですが、金額を入れたい項目に、誤って氏名など異なったデータが混入することが防げます。
ちなみに、
テーブルとは【表】のことを指しています。
カラムとは【列】のことを指しています。
ロウとは【行】のことを指しています。
表(テーブル) | 列(カラム)1 | 列(カラム)2 |
行(ロウ)1 | White_shirt | 10000 |
---|---|---|
行(ロウ)2 | Red_shirt | 15000 |
しかし、SQLiteの場合、データ型を指定しなくてもテーブルを作成することができます。
また、1つのカラムの中に、異なる型のデータを格納することも可能です。
SQLiteでも、データ型を指定することは可能です。
指定しない場合は、格納されたデータによって自動でデータ型を判別しています。
私は、データベースを作成する際は、型を指定するようにしています。
SQLとは?
SQLとは、データベースを管理・操作するために使用される言語です。
※プログラミング言語とは異なります!
以下のような用途で、使用されます。
- データベースに、データを挿入したい。
- データベースのデータを、更新したい。
- データベースに格納されているデータを参照したい。
- データベースから、データを削除したい。
ざっくりと、SQLは、データの検索・挿入・削除・更新などの命令をデータベースに対して行う。ものなんだ。ということがイメージしていただければ大丈夫です。
今回の作業場所
###デスクトップ > work 配下にDBを作成する###
Users/
└ usrname/
└ Desktop/
└ work/
└─ stockinfo.sqlite3
#デスクトップに移動する。
% cd Desktop
#デスクトップ上に、【work】フォルダを作成する
% mkdir work
#作成したworkフォルダに移動する
% cd work
データベースの作成
#SQLite3で、データベースを作成する基本構文
sqlite3 データベース名称 ;
以下のサンプルを実行すると、SQLite3でデータベースを作成の上、接続することができます。
sqlite3 stockinfo.sqlite3;
そして、ご自身が作成したDBに接続されます。
もし、作成済みの場合は同じSQLを実行することで、DBに接続することができます。
実際にテーブルを作成してみる
CREATE TABLE list(
MEI_CODE TEXT NOT NULL ,
MEI_MS TEXT NOT NULL ,
TRA_DATE TEXT NOT NULL ,
PRICE REAL NOT NULL ,
ST_PRI REAL NOT NULL ,
HI_PRI REAL NOT NULL ,
LW_PRI REAL NOT NULL ,
VOLUME INTEGER NOT NULL ,
UNIQUE(MEI_CODE,TRA_DATE)
);
補足(CREATE文)
テーブルを作成する際は、CREATE TABLE と記載して、テーブル名称とカラム名を列挙します。
これで、テーブルが完成です!
CREATE TABLE テーブル名称(
カラム名 ,
カラム名 ,
...(中略)...
);
補足(.tables)
すみません、、、↑のキャプチャでは【.table】としていますが、実際は【.tables】が正しいです(複数形にするのが正しい)。
データベース内にあるテーブルの一覧を取得できます。
EOF
SQLiteで、データベース作成から接続までをご紹介しました。
CRUD操作について、次回まとめたいと思います。
本日も一緒に学習してくださって、ありがとうございました!
では、また次回!