スッキリわかるSQL入門〜1日目〜

SQL勉強で出てきたものをつらつらと。
自分の気になった所なども記載し振り替えれるようにしていこうと思います。
曖昧な部分も曖昧なまま、間違って覚えているものも間違えたまま記載をしていくので、気になりすぎて眠れない方がいらっしゃったらご指摘頂けると泣いて喜びます。

目的:SQLの基本的な使い方を知る。
業務中に発生するSQL文の話について行けるようにする。

SQL事前知識:簡単なselect・insert・delete文が書ける程度。
ネスト深くなった瞬間お手上げです!

背景:webサービスを作りたくて会社に入るも言語にはほぼ触れずカスタマー対応をする毎日。まずは業務でもたまに触れるSQLの構造等を把握し、他人の書いたSQLを把握できるようになりたい。

独学で勉強したのはMySQL、仕事で使っているのはOracle。
私の使ってた使用方法がマイナーなのか違う部分に戸惑うことが多い。

DB(データベース)
検索・書き換え・分析などのデータ管理を目的としてさまざまな情報を蓄積したもの。ファイルの事。

RDB(リレーショナルデータベース)
表形式でのデータ管理方法
複数の表(テーブル)が入っていて、それぞれに名前がついている。
テーブルは列(column・カラム)と行(row・ロウ)で構成される。
1つの行が1件のデータに対応し、列はそのデータの要素に対応する。
*カラムは言うけどロウは聞いたことがない、代わりにデータそのものを指す「レコード」を耳にするから「レコード」が一般的なのかな

DBMS(データベースマネジメントシステム)
DBを検索・書き換え・分析などをできるようにするプログラム
これのおかげでSQL文一つで様々な操作ができる

仕組み
DBMS(プログラム)を使ってDB(ファイル)にSQL文を送ることでDBMS(プログラム)が検索・書き換え・分析などを実行し、結果を表示してくれる。

以上を全部併せてDBと表現されることが多々。

代表的なRDBMS
Oracle 会社で使ってるやつ。
DB2 ごめん聞いたこともない。。。
SQL Server マイクロソフトのあれ。
MySQL 無料① 独学の時はこれで作った。けど設定はほぼ見よう見まねだからサイト反映とかもう一度できるかは怪しい。
PostgreSQL 無料②
SQLite Ruby On Railsでアプリ作った時のデフォルトはこれだった気がする
H2 Database Springのデフォルトこれだった気がする。

出てきたSQL文
表の検索
SELECT * FROM テーブル名;
行の更新
UPDATE テーブル名 SET カラム名 = 更新する値;
行の削除
DELETE FROM テーブル名 WHERE カラム名 = 削除したい行の値;

* はワイルドカードなので全部という意味、指定したい場合はカラム名をいれ、複数指定は[ , ]で区切る。
WHEREは絞りたいときに使用する。
DLETE使う時はWHEREを使わないとテーブルのレコード全部消えるので注意!

これで第1章終了
一日1章で2週間前後の予定
だいたいこういうの後半難解になって1ページに15分とか使うタイプなんですけどね!

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