前回の講義では、SQLの名前だけだったので、SQLの文法と機能について解説を行った。
- データ問い合わせ(select)
- データ操作(insert/delete/update)
- データ定義(create table)
- アクセス制限(grant)
SELECT について、抽出カラムの指定、 FROM節による結合(直積)・自己結合、 WHERE節による抽出条件などを 文法や例を交えて説明する。副問い合わせを使う検索は、次回講義にて。
データ操作については、参考にしている教科書では、文法が明確に記載されていなかったので、 随時Webにて解説ページを参考にしながら説明する。
データ定義については、CREATE TABLEについて解説し、CREATE VIEWについては、 概念を説明し、外部スキーマの実装として簡単に紹介する。
アクセス制限については、Webでの実験環境でもSQLiteを用いているため、使えないこともあり、 概念だけを説明する。
SQLの文法を説明したあと、文法を逆手に取ったSQLインジェクションのテクニックを説明する。