プログラミング学習

【Python】データベースを使ってみよう

投稿日:2020年12月8日 更新日:

前回「データベース」を操作するための言語が「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」を試してみました。
いろいろと命令文はありましたが、比較的簡単に実行できました。
どんなものなのかを知るという入門では、とてもよかったです。
ぜひ参考にしてみてください。
それではまた。

-プログラミング学習

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

【WTForms】IntegerFieldを使ってみる

今回は「wtforms」の「IntegerField」を使ってみたいと思います。 IntegerFieldを使ってみる 「Integer」とは「整数」という意味です。なので「整数」のみ受け取るフォーム …

【Python】Jupyterで「.py」を実行するには?

「Jupyter Notebook」で「.py」を開くとテキストファイルとして読み込まれます。では「.py」を実行するにはどうしたらいいのでしょうか。実際に自分が使っている方法を紹介します。 Jupy …

【Python】ログイン機能を作る「Flask-Login」⑤

「ログイン機能を作る」【Part5】を書いていきます。前回作成した「入力フォーム」からログインできる機能を追加していきます。 ログイン機能を追加しよう 今回は、決められた「name(名前)」,「mai …

【Python】VBAをPythonで再現してみる①

以前に「エクセル」で出来るプログラミングとして「VBA」を紹介しましたが今回は「Python」でその中身を再現していきたいと思います。 VBAをPythonで再現してみよう 「VBA(Visual B …

【Python】CSVファイルを読み込んでみよう

前回、「matplotlib」を使ってグラフの作り方を学びました。今回は、「CSVファイル」を読み込んで、表示させたいと思います。 「CSVファイル」についての記事はこちら。 CSVファイルってなんだ …