1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

超初心者のデータベース導入

Last updated at Posted at 2019-09-28

久しぶりにプログラミングというか技術的なことをやってみたので、備忘録として投稿。
データベース使えるようになったらマイコンで取得したデータを蓄積ができるかな?と思ってやってみました。
https://qiita.com/camopy/items/ba36508d57b4f05a580f

実験環境はWindows10
Windowsにした理由は目の前のPCがWindows10だからという安直な考え、、、
PythonはAnacondaが既に入ってたのでそれを流用

#0.DBの選定:PostgreSQL
データベースの種類は色々あるけど、昔いじったことのあるPostgreをインストールしてみた。
特に、Postgreじゃないといけないということではない(ハズ、、、)

#1.PostgresSQLのインストール
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
このサイトからいっちゃん新しい11.5を選択。
とりあえず、新しけりゃOKな気がするので、これも安直に決定。
インストールも適当にポチポチとしていく。
自分は以下のサイトを見ながらやりました。
参考:https://itsakura.com/pgadmin4-db-create
勝手にリンク貼ってすみません。

#2.Postgreのドライバ(psycopg2)の入手
Anacondaをインストールすると色々なものが入ってくる。
その中のAnavonda Navigaterを使用してドライバをインストールした。
コマンドでも入るけど、なんか見やすいのでこれを使用した。

詳細は省くが
1.Anavonda Navigaterを起動
2.Enviromentsタブをクリック
3.デフォルトのrootを選択
(環境を別にしたい場合、Createボタンクリックし新しい環境をつくる)
4.プルダウンメニューのinstalledをAllにして検索ボックスにpsycopg2をいれると
お目当てのものが出てくるので、それをインストール。

#3.プログラミング
ついにお目当てのプログラミング。
まぁ簡単なので見りゃわかるかもしれない
(自分はcursorとかよくわかってない、、、)

コード

import psycopg2

connection = psycopg2.connect("host=127.0.0.1 port=5432 dbname=testdb user=postgres password=設定したパスワード")

cur = connection.cursor()
cur.execute("SELECT * FROM テーブル名;")
#cur.execute("INSERT INTO テーブル名(name, id, romaji) VALUES('hello', 2, 'world');")

print(cur.fetchone())

cur.close()
connection.commit()
connection.close()

10分くらい悩んだのが、インサートの方法
インサート文を実行し、pgAdminで確認しても反映されないという現象。
これは単純にコミットを実行してなかっただけで
connection.commit()
を実行したら反映されました。

今日はここまで

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?