見出し画像

【開始37日目】プログラミング学び日記_Python_tkinter_MySQL

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

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

 今日は7時~16時でワンオペ育児だったので、クタクタ状態での学習スタートでした。こういう時は復習や調べものが中心だと良いかもですね。頭をすごく使う作業ではないので。


今日やったこと
・Pythonデータベースプログラミング(90分)
・基礎からのMySQL(20分)
・paizaの問題集(40分)
・本記事の執筆(30分)
合計:180分



 tkinterの総まとめとして、全ての文字を大文字返還するアプリ、レコード参照するアプリ(2回目)、レコードを編集するアプリ(2回目)を作成しました。以下はその成果物です。これまでの演習で理解が深まっていたので、これらはササっと作成できました(模範解答を見ながらではありますが)。

画像1

 アプリ作成の章を突破できたことは一つの自信になりました。1つずつ地道に理解していけば、乗り越えられるものなんだなーと。

 Pythonデータベースプログラミングは終わりが見えてきました。下にメモしているページ数だと半分くらいに見えますが、最後の方は環境設定や演習の模範解答なので、実質あと1/4も無いくらいです。一歩ずつ頑張ろう。


学んだこと

●sqlite3のコネクションオブジェクト row_factory
 こちらのページを参照しました。コネクションオブジェクトのrow_factoryにsqlite3.Rowを設定すると、SELECTの結果をカラム名で指定して取得できるようになります。

conn = sqlite3.connect("Shop.db")
conn.row_factory = sqlite3.Row


●VSCodeの拡張機能 Code Runner
  こちらのページで紹介されていました。VSCodeで実行する際、いちいち右上の実行ボタンをクリックしていたのですが、ショートカットできないかと思って調べました。Code Runnerをインストールすると、「Ctrl+Alt+n」で実行できて便利です。


↓以下は数日ぶりに進めたMySQL関連です。
●MySQLのCONCAT関数
 文字列を繋げることができる関数です。以下のように記述します。

 SELECT CONCAT("合計は",SUM(カラム名),"万円です") AS 売上 FROM テーブル名;


●MySQLのUPDATEコマンド

 データベースのレコードを修正する方法で、扱いにはかなり注意が必要なコマンドです。WHEREで条件設定していない場合、指定したカラムのレコードが全て置き換わってしまいます(これは取り返しがつかない・・)。
 そんな危険なコマンドなので、MySQLモニタを起動するとき「--safe-updates」という制限オプションを付けられるそうです。これをつけると、一意のカラムに対するWHERE条件がないUPDATEやDELETEが実行できなくなるので、データベース管理に習熟するまでは使った方が良さそうです。

UPDATE テーブル名 SET カラム名 = 設定する値;
UPDATE テーブル名 SET カラム名 = 設定する値 WHERE 条件;




 さて、今週はまた大阪出張。日中バタバタする日も多いですが、仕事もプログラミング学習も全力で頑張ります!!


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

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

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

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

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

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