Pythonで書く、ウェブサービスとPostgresデータベースの接続方法について調べてみたのでここで少々まとめてみます。
Postgres
PostgresとはオープンソースのORDBMS (object-relational database)のこと。
まずpostgreSQLをインストールする。
brew install postgresql
これをターミナルで打ち込むとインストールが始まる。結構時間かかります。
データベースの起動は以下でOK
postgres -D /usr/local/var/postgres
これを打ち込むと以下が出ます。
LOG: database system is ready to accept connections
データベースの作成は以下。
createdb postgres-test
データベースへのアクセスは以下を指定
postgresql://localhost/postgres-test
データベースへの接続は以下。
ターミナルで別のタブを開いて以下を入力すると、データベース一覧を確認できる。データベースを起動できたかの確認にも使う。
psql -l
データベースの作成。
createdb postgres-test
データベースへのアクセス。
psql -U (ユーザ名) postgres-test
postgres-test=>
データベースへのアクセスを閉じるには以下。
\q
データベースにアクセスを繋げた状態でテーブルを作成する。
create table blog(timestamp timestamp,
blog_name varchar(64),
blog_add_url varchar(64),
blog_delete_url varchar(64),
blog_country varchar(64),
add_email varchar(64));
こうするとテーブルが作成できて、select文でデータベースを見るとこのような表示がされる。
postgres-test=> select * from blog;
timestamp | blog_name | blog_add_url | blog_delete_url | blog_country | add_email
———–+———–+————–+—————–+————–+———–
(0 rows)
ターミナルからデータを挿入する場合はこんな感じ。
insert into blog values(‘2019/08/15 12:00:00’, ‘ぽずかふぇ’, ‘gegegegensan.com’, ‘none’, ‘JP’, ‘ryo@xxxxxxxxxx.com’);
正常にデータが挿入できると、
INSERT 0 1
と表示される。
間違えてこのようなインサート文を挿入してしまった。
insert into blog values(‘2019/08/15 12:00:00’, ‘ぽずかふぇ’, ‘,gegegegensan.com ”none’, ‘JP’, ‘ryo@xxxxxxxxxxx.com’);
そうなると、格納されたデータが壊れた状態になってしまった。
postgres-test=> select * from blog;
timestamp | blog_name | blog_add_url | blog_delete_url | blog_country | add_email
———————+————+————————-+—————–+———————-+———–
2019-08-15 12:00:00 | ぽずかふぇ | ,gegegegensan.com ‘none | JP | ryo@gegegegensan.com |
(1 row)
なので、delete文で列を削除する。
delete from blog where blog_delete_url = ‘JP’
そうするとこのエントリー全てがなかったことになる。
コメント