見出し画像

【開始32日目】プログラミング学び日記_Python_SQL

 このnoteは、31歳未経験からエンジニアを目指して勉強していく記録を綴っているものです。現在はAdTechでカスタマーサクセスを担当しつつ、色んなチャンスに恵まれ、CS業務や子育てと並行しながらチャレンジしています。

 これからプログラミングを始める方にとってのTipsやモチベアップに繋げられるように頑張りたいと思っています。
--------------------------------------------


 師走な感じが出てきている今日この頃です。昨日は会食のため更新はお休みし、今日は出社しましたがうまく時間を作れました。


今日やったこと
・「Web技術の基本」の読書(50分)
・Pythonデータベースプログラミング(110分)
・Paizaの問題集(昨日から合間にちょこちょこ)
・本記事の執筆(30分)
合計:190分


 メンターさんにおすすめいただいた新しい本を読み始めました。Webとインターネットの歴史から説明されていて、歴史好きな自分としてはうれしかったです。まだ自分には難しい内容が多いものの、とても興味深く読み進めています。


学んだこと 

●静的ページと動的ページ
 何度アクセスしても毎回同じものが表示されるWebページを静的ページと呼び、アクセスしたときの状況に応じて異なる内容が表示されるWebページを動的ページと呼びます。前者は例えば企業HPなどがあり、後者はGoogleやYahooなどの検索サイトの検索表示や、アマゾンなどの会員サイトが該当します。

●動的ページの仕組み
 動的なWebページで使われるスクリプトは大きく2種類あり、サーバーサイド・スクリプトとクライアントサイド・スクリプトと呼ばれます。前者はWebページからの要求に応じてCGI (Common Gateway Interface) というWebサーバーの仕組みを使い、サーバーサイド・スクリプトを起動します。後者はHTMLに埋め込まれたプログラムで、Webブラウザによって読み込まれる際に実行されます。クライアントサイド・スクリプトには、主にはJavaScriptが用いられるそうです。

●WebアプリケーションとWebサービスの違い
 Webアプリは人が利用するサービスを提供するもので、Webサービスはプログラムが利用するサービスを提供するもの、とのことです。普段自分たちが使っているツール類がWebアプリで、それを支えているプログラムAPIがWebサービスという仕切りですね。



↓以下はSQLite3での学びです

●REPLACEコマンド
 レコードの主キー以外のデータを更新したり、新しいデータを挿入できます。このコマンドを使う際は、テーブルに主キーが指定されている必要があります。ちなみに主キーが設定されていなかったり、レコードが存在しなければ新しいレコードとして追加されます。

REPLACE INTO テーブル名(主キー, 要素A, 要素B) VALUES(主キー, 要素a, 要素b)


●fetchone()メソッド:1行のレコードを取得する
 SELECT文で取得してきたレコードを1行ずつ取得できます。

c = conn.execute("SELECT * FROM テーブル名")
row = c.fetchone()
print(row)

# ちなみに以下のメソッドで残りのレコードを一括で取得して表示できる

for row in c.fetchall():
    print(row)

 SELECT文を実行した後でデータを取得する方法が出そろいました。
①いつもの「カーソルをイテレータとして扱う方法(for row in c:)」
②fetchone()メソッド(row = c.fetchone())
③fetchall()メソッド(for row in c.fetchall():)




 明日もがんばりましょう!!


これまで修了したコース等

【Paiza】
配列メニュー      27/64問(42%完了)
二重ループメニュー   19/19問(100%完了)
条件分岐メニュー    14/25問(56%完了)
配列活用メニュー    26/26問
文字列処理メニュー   30/30問
Bランクレベルアップメニュー 62/62問
Cランクレベルアップメニュー 30/30問
ランクB合格
ランクC合格

【書籍/ブログ】
Pythonデータベースプログラミング 86/194頁 ※2週目
基礎からのMySQL     166/514頁(33%完了)
京大のPython教科書    116/201頁(58%完了)
Pythonエンジニアファーストブック読了

【Progate】
Python Ⅰ~Ⅴ
Python アプリ版 コースⅠ~Ⅴ
SQL Ⅰ~ Ⅳ
SQL アプリ版 コースⅢ
HTML&CSS 初級編

【その他】
VSCodeの環境構築
Anacondaの環境構築
MySQLの環境構築


この記事が気に入ったらサポートをしてみませんか?