SQL

スポンサーリンク
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day30 アウトプット

Day30 前半のゴール「“頭の中の設計”を、他人と共有できる形に書き出せるようになる」いよいよ Day30。ここまでで、MySQL を使って「それなりにちゃんとしたシステム」を作れるところまで来まし...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day29 総合課題

Day29 前半のゴール「“バラバラに学んだピースを、1つのECシステムとして頭の中で組み上げる”」ここまでで、テーブル設計、インデックス、API連携、ログ、権限、障害対応まで、一通りのピースを学んで...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day28 障害対応

Day28 前半のゴール「“DBでトラブルが起きたときの見方”を持てるようになる」ここからは、ちょっと怖いテーマです。「障害対応」――データ破損やロック問題の話です。前半のゴールはこうです。データ破損...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day27 権限管理

Day27 前半のゴール「“誰が何をしていいか”を、設計として説明できるようになる」ここからは「権限管理」です。パフォーマンスやAPI連携が「どう動かすか」だとしたら、権限管理は「誰にどこまで触らせる...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day26 ログ設計

Day26 前半のゴール「“あとからちゃんと追えるDB”とは何かを理解する」ここからは「ログ設計」です。パフォーマンスやAPI連携が“攻め”だとしたら、ログは“守りと証拠”の領域です。今日の前半のゴー...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day25 API連携

Day25 前半のゴール「“APIがDBの入口になる”イメージを、はっきり持てるようになる」Day24 で「アプリから MySQL に直接つなぐ」話をしました。Day25 は、そこにもう一段レイヤーを...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務応用 - Day24 アプリ連携

Day24 前半のゴール「“アプリからMySQLに話しかける”流れを、自分でイメージできるようになる」ここまでで、MySQL 単体での設計・チューニングはかなり触ってきました。Day24 からは「アプ...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day23 設計演習

Day23 前半のゴール「“ECサイトのDB設計”を、怖がらずに分解して考えられるようになる」いよいよ設計演習です。テーマは「ECサイトのDB設計」。いきなり完璧な設計を作る必要はありません。今日の前...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day22 バックアップ

Day22 前半のゴール「“もしDBが飛んでも戻せる”状態を、自分で作れるイメージを持つ」ここからは「パフォーマンスと設計」だけでなく、「守り」の話に入ります。テーマはバックアップ――mysqldum...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day21 パーティショニング

Day21 前半のゴール「“テーブルを分けて速くする”という発想を、自分の言葉で説明できるようになる」今日のテーマは「パーティショニング」です。一言でいうと、巨大テーブルを“論理的には1つのテーブルの...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day20 正規化と非正規化

Day20 前半のゴール「“正規化が正義”でも“非正規化が悪”でもなく、目的で選べるようになる」今日は「正規化と非正規化」です。ここは、実務に出たときにほぼ確実にぶつかるテーマです。前半のゴールはこう...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day19 クエリチューニング②

Day19 前半のゴール「JOIN が遅いときに“どこが悪いか”を冷静に切り分けられるようになる」Day18 では「遅いSQL全般」のチューニングをやりました。Day19 はその中でも、実務で一番ハマ...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day18 クエリチューニング①

Day18 前半のゴール「“なんとなく遅いSQL”を、筋道立てて改善ポイントまで分解できるようになる」Day18 からはいよいよ「クエリチューニング」です。テーマは「遅いSQLの改善」。ここで目指すの...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day17 インデックス設計

Day17 前半のゴール「“なんとなく”ではなく“理由を持って”インデックスを貼れるようになる」Day17 のテーマはインデックス設計です。ここからが、パフォーマンスと設計の本丸です。一言で言うと、今...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:パフォーマンスと設計 - Day16 実行計画

Day16 前半のゴール「EXPLAIN を“怖い表”じゃなくて“SQLの行動ログ”として読めるようになる」ここからいよいよ「パフォーマンスと設計」の世界に入ります。Day16 の主役は EXPLAI...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day15 中間課題

Day15 前半のゴール「ここまで学んだ要素を“注文処理システム”として頭の中で組み立てられるようにする」Day15 は中間課題です。テーマは「注文処理システムを実装」です。ここまでで、あなたはすでに...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day14 トランザクション

Day14 前半のゴール「“お金の振込”をイメージしながらトランザクションを理解する」今日のテーマはトランザクションとロックです。ここから一気に「実務っぽさ」が増えます。まず一言で言うと、トランザクシ...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day13 トリガー

Day13 前半のゴール「“INSERT にフックする自動処理”としてトリガーをイメージできるようにする」今日のテーマはトリガー(TRIGGER)です。ここから一気に「DBが自分で動き出す」感じが強く...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day12 ストアドプロシージャ②

Day12 前半のゴール「“SQLの中でプログラムを書く”感覚をつかむ」Day11 でストアドプロシージャの基本構文と、IN / OUT パラメータ、IF・CASE の入口まで触れました。Day12 ...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day11 ストアドプロシージャ①

Day11 前半のゴール「“SQL版の関数”としてストアドプロシージャをイメージできるようになる」ここからは、いよいよ「DBの中で動くプログラム」、ストアドプロシージャの世界に入ります。SQLite ...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day10 ビュー

Day10 前半のゴール「ビューを“保存されたSELECT文”としてイメージできるようになる」Day10 のテーマはビュー(VIEW)です。SQLite にもビューはありましたが、使わずに来た人も多い...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day9 サブクエリ最適化

Day9 前半のゴール「EXISTS と IN を“なんとなく同じ”から卒業する」今日はサブクエリの中でも、実務で頻出のテーマEXISTS と INを扱います。多くの人が最初こう思います。「EXIST...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:実務SQL力 - Day8 JOINの最適化

Day8 前半のゴール「JOIN は“上から順に実行されない”ことを理解する」ここからいよいよ「実務SQL力」に入っていきます。Day8 のテーマは JOIN の最適化、その中でも「実行順序」です。多...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day7 復習課題

Day7 前半のゴール「“SQLiteで書けたCREATE TABLE”を、MySQL流に書き直せるようになる」Day7 は、ここまで学んだ差分を一気に使う「総復習の入り口」です。テーマはシンプルで、...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day6 インデックス基礎

Day6 前半のゴール「“インデックス=検索用の目次”を、感覚レベルで理解する」SQLiteでもインデックスはありましたが、「なんとなくPRIMARY KEYに勝手についてるやつ」くらいの理解で済ませ...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day5 制約の強化

Day5 前半のゴール「“あいまいなデータ”をDBレベルで拒否できるようになる」今日は「制約(constraint)」の中でも、特に重要な2つに絞ります。PRIMARY KEYFOREIGN KEYS...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day4 文字コードと照合順序

Day4 前半のゴール「“文字化けしない”だけじゃなく、“正しく比較・ソートできる”を意識する」SQLite を使っていると、文字コードやソート順をあまり意識しないままでも、そこそこ動いてしまいます。...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day3 基本操作の確認

Day3 前半のゴール「SQLiteで知っている基本操作を、“MySQLの文法とクセ”で再確認する」今日はあえて「復習レベル」でいきます。テーマはこの3つです。CREATE TABLEINSERT /...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day2 SQLiteとの違い

Day2 前半のゴール「“なんとなくTEXTだけ”から、“型を意識して設計する”に切り替える」SQLite では、正直こうでしたよね。TEXT と INTEGER と REAL があればだいたい何とか...
MySQL

MySQL | SQLite経験者向け、30日で習得するMySQL:差分理解 - Day1 環境構築

Day1 前半のゴール「SQLiteとの“違い”を意識しながら、MySQLの入口に立つ」この30日コースは「SQLiteは触ったことがある人」が前提です。だから Day1 では、まっさらな説明ではなく...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day30 アウトプット

Day30 前半のゴール「“SQLだけでレポートを作る”感覚と、“他人に説明する”視点を手に入れる」ここまで29日間、テーブル設計・JOIN・集計・インデックス・EC風DB設計まで、一通りやってきまし...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day29 総合課題

Day29 前半のゴール「“ECサイト風”の世界を、テーブル設計に落とし込めるようになる」いよいよ Day29、総合課題です。テーマは 小規模データベースをゼロから設計(ECサイト風)。前半のゴールは...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day28 パフォーマンス基礎

Day28 前半のゴール「インデックスって“何者か”を、体感レベルで理解する」ここまでで、かなり複雑な JOIN や集計を書けるようになりました。次のテーマは パフォーマンス基礎:インデックス です。...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day27 実践クエリ

Day27 前半のゴール「“複雑そうに見えるJOIN+集計”を、怖がらずに分解して読めるようになる」Day25〜26 で、顧客・商品・注文・注文明細を分けて設計し、正規化の感覚もつかんできました。Da...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day26 設計改善

Day26 前半のゴール「“とりあえず動く設計”から“一生付き合える設計”に育てる感覚をつかむ」Day25 までで、顧客・商品・注文のテーブルを分けて、それなりに“ちゃんとした”売上管理ができるように...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day25 ミニ課題②

Day25 前半のゴール「顧客×商品×注文を“ちゃんと分けて”設計できるようになる」Day24 では「顧客だけ」の世界でした。Day25 は一気に現実寄りになります。テーマは 売上管理(顧客×商品×注...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:実践 - Day24 ミニ課題①

Day24 前半のゴール「小さくても“ちゃんとした顧客管理テーブル”を自分で設計して作る」ここからは「実践編」です。Day24 のテーマは、ミニ課題としての 顧客管理テーブル。前半では、次のところまで...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day23 ビュー

Day23 前半「VIEW は“よく使う SELECT に名前をつけてテーブルみたいに扱う仕組み」だと思っていいここまで、テーブルを設計してSELECT / JOIN / サブクエリで欲しい形の結果を...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day22 サブクエリ②

Day22 前半「EXISTS / IN は“あるかどうか”を聞くためのサブクエリ専用キーワード」Day21 では、SELECT の中にサブクエリを入れて「1行ごとの追加情報」をくっつけました。Day...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day21 サブクエリ①

Day21 前半「SELECT の“1列”として、もう1回 SELECT を動かす」という発想を持つここまであなたは、1つの SELECT でテーブルから行を取り出す複数テーブルを JOIN して情報...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day20 複数テーブル設計

Day20 前半「テーブルを“ちゃんと分ける”ことで、あとから自分を助けるのが正規化」ここまで、1つのテーブルを前提にSELECT / JOIN / UPDATE / DELETE / INDEX を...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day19 インデックス

Day19 前半「インデックス=“本の索引”をテーブルに付けて、検索を一気に速くする」ここまでで、SELECT・JOIN・WHERE・GROUP BY…いろいろな「検索の技」を覚えてきました。でも、デ...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day18 制約

Day18 前半「そもそも“おかしなデータ”が入らないようにする」ための仕組みが制約ここまで、SELECT(読む)UPDATE(書き換える)DELETE(消す)をやってきました。ここで一度、視点をガラ...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day17 削除

Day17 前半「本当に消える」DELETE は、UPDATE よりさらに“重い一手”ここまでで、SELECT(読む)UPDATE(書き換える)をやってきました。Day17 のテーマは DELETE(...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:データ操作・設計 - Day16 更新

Day16 前半「データを書き換える」という、検索とはまったく違う“力”を手に入れるDay1〜Day15 までは、SELECT を中心に「データを読む」ことを学んできました。Day16 からは、いよい...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day15 結合②

Day15 前半「片方にしかいないデータも“落とさずに見る”」ための LEFT JOINDay14 で学んだ INNER JOIN は、「両方のテーブルに相手がいる行だけを残す結合」でした。Day15...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day14 結合①

Day14 前半「バラバラのテーブルを“意味のある1枚”にくっつける」のが JOINここまでずっと、1つのテーブルだけを相手にしてきました。users なら users だけ、orders なら or...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day13 条件付き集計

Day13 前半「グループを作った“あと”に条件をかける」という新しい一手Day12 で、GROUP BY を使って「ユーザーごとの合計」「日付ごとの件数」のような グループ単位の集計 ができるように...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day12 グループ化

Day12 前半「1件ずつ」ではなく「グループごと」に数字を見る世界に入るここまでで、COUNT / SUM / AVG / MAX / MIN を使って「テーブル全体」や「WHERE で絞った一部」...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day11 集計②

Day11 前半「平均・最大・最小」で“数字の性格”をつかみにいくDay10 では、COUNT と SUM を使って「何件あるか」「合計はいくらか」を数字で見るところまで来ました。Day11 では、そ...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day10 集計①

Day10 前半「行そのもの」ではなく「行の“数”や“合計”を見る」世界に入るDay9 までは、どの行を取るか(WHERE)どの順番で並べるか(ORDER BY)どれだけ取るか(LIMIT)をコントロ...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day9 件数制御

Day9 前半「全部はいらない、そのうち何件かだけでいい」をSQLで言えるようにするDay8 までで、どの行を取るか(WHERE)どの順番で並べるか(ORDER BY)はコントロールできるようになりま...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:検索力強化 - Day8 並び替え

Day8 前半「どの順番で見るか」をコントロールできるようになる日Day7 までで、どの行を取るか(WHERE)どの列を見るか(SELECT)はコントロールできるようになりました。Day8 では、そこ...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day7 総復習

Day7 前半「CRUD を一周させる」ことで“ただの知識”を“手応え”に変えるDay1〜Day6で、テーブルのイメージ、CREATE TABLE、INSERT、SELECT、WHERE、AND / ...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day6 データ取得②

Day6 前半「条件を組み合わせる」と「ざっくり探す」を覚える日Day5 では、WHERE で「1つの条件」を使って絞り込むことをやりました。Day6 では、そこから一歩進んで条件を組み合わせる AN...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day5 データ取得①

Day5 前半「入れたデータを、狙って取り出す」最初の一歩Day4 までで、テーブルを作り、INSERT でデータを入れられるようになりました。Day5 からはいよいよ、「欲しいデータだけを取り出す」...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day4 データ登録

Day4 前半「行を1件、ちゃんとテーブルに入れる」感覚を身につけるDay3 までで、テーブルという「箱」を自分で設計して作れるようになりました。Day4 では、その箱の中に 実際のデータ(行)を入れ...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day3 テーブル作成

Day3 前半「テーブルを作る」とは何をしているのかをちゃんと理解するDay1・Day2で、データベースのイメージと SQLite の動かし方はつかめてきました。Day3 ではいよいよ、SQL の中で...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day2 SQLite環境

Day2 前半SQLite環境の全体像をつかむDay1 で「データベースとは何か」「テーブル・行・列とは何か」が見えてきました。Day2 ではいよいよ、実際に SQLite を「動かせる状態」にしてい...
SQLite

SQLite | ゼロからはじめるSQL、30日で習得するSQLite:基礎理解 - Day1 データベースの概念

Day1 前半 データベースのイメージを「ちゃんと」つくるプログラミング初心者が最初にやるべきことは、文法を覚えることではなく、「そもそもデータベースって何者なのか」を正しくイメージすることです。ここ...
スポンサーリンク