【Python】データベースを使ってみよう
前回「データベース」を操作するための言語が「SQL」だということを学びました。
今回は「python」のライブラリにある「SQLite」を使って「データベース」を実際に触ってみたいと思います。
Pythonでデータベースを使ってみよう
データベースの入門として「SQLite」を使っていきます。
SQLiteってなんだ?
「SQLite」とは、名前から連想できるように「Lite(軽量)」な「SQL(データベース)」です。
「SQL」は「データベース言語」を意味しますが、「データベース」という意味でも使われていると前回紹介しましたね。
SQLについてはこちら
この「軽量な(簡易的な)データベース」を使って、学んでいきます。
「SQLite」は「Anaconda」に標準で入っていますね。
では「Jupyter Notebook」で実行していきます。
SQLiteをインポートしてみよう
「データベース」の保存場所は「Flask」でWEBアプリを作ろうとしているファイルにします。
Flaskについてはこちら
「New」で「Python3」を開きましょう。
import splite3
「sqlite3」をインポートします。
データベースを作成しよう
import splite3
------------------------------------
con = sqlite3.connect('test.db')
「test.db」という名前を付けました。
では本当に作られたのか確認しましょう。
正常に作成されていますね。
カーソルを作成しよう
import splite3
con = sqlite3.connect('test.db')
------------------------------------
c = con.cursor()
カーソルを作成する理由を見てみましたが、いまいちピンときませんでした。
カーソルを作成することで、データ全体を見るのではなく見たいデータだけにアクセスできるようなイメージでしょうか。それによって処理が軽くなるとか?
とりあえず作成して、進めます。
テーブルを作成しよう
import splite3
con = sqlite3.connect('test.db')
c = con.cursor()
---------------------------------------------
c.execute("CREATE TABLE data_set(id, name)")
【CREATE TABLE】で、「テーブル(TABLE)」を「作成(CREATE)」しています。
「execute()」に渡してあげる「SQL文」で実行する内容が変わってきますね。
データを追加してみよう
import splite3
con = sqlite3.connect('test.db')
c = con.cursor()
c.execute("CREATE TABLE data_set(id, name)")
-------------------------------------------------------------
c.execute("INSERT INTO data_set(id, name) VALUES(1, 'ANDo')")
c.execute("INSERT INTO data_set(id, name) VALUES(2, 'blog')")
con.commit()
「execute()」に【INSERT INTO】で「テーブルの名前」を付けて【VALUES】で「データの中身」を入力しています。
「commit()」でデータを更新しています。
データを追加した後は、毎回必要になります。
データを確認しよう
import splite3
con = sqlite3.connect('test.db')
c = con.cursor()
c.execute("CREATE TABLE data_set(id, name)")
c.execute("INSERT INTO data_set(id, name) VALUES(1, 'ANDo')")
c.execute("INSERT INTO data_set(id, name) VALUES(2, 'blog')")
con.commit()
-------------------------------------------------------------
c.execute("SELECT id,name FROM data_set")
list1 = c.fetchone()
print(list1)
con.close()
「execute()」に【SELECT】で確認したい「テーブル」を「選択」しています。
【FROM】は「data_set」の中からということですね。
「fetchone()」で、データを1行取得しています。
ちなみに「fetchall()」で、すべて取得します。
では「print()」してみましょう。
1行目の(1, ANDo)が返ってきました。
今回はこれくらいにしておきます。笑
まとめ
「SQLite」を試してみました。
いろいろと命令文はありましたが、比較的簡単に実行できました。
どんなものなのかを知るという入門では、とてもよかったです。
ぜひ参考にしてみてください。
それではまた。