ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
SQLとは、データベースに対して命令をするための言語です。テーブル定義、データの登録・更新・取得、トランザクション制御まで、リレーショナルデータベース (RDB) を扱うほぼすべての操作を SQL で行います。
データベース製品ごとに細かい方言 (T-SQL/PL/SQL/PL/pgSQL 等) はありますが、基本構文は ANSI SQL として標準化されています。
子ページから SQL の種類を選択してください。
本ページの子ページ
- DDL — テーブル等のオブジェクト定義 (CREATE / ALTER / DROP)
- DML — データ操作 (SELECT / INSERT / UPDATE / DELETE)
- トランザクション制御 — COMMIT / ROLLBACK / SAVEPOINT
- 関数 — 集約関数・文字列関数・日付関数など
- データディクショナリ — メタ情報を引くシステム表
- 動的パフォーマンスビュー — Oracle の
V$系ビュー等
SQLの分類
| 分類 | 用途 | 代表的な構文 |
|---|---|---|
| DDL (Data Definition Language) | オブジェクト定義 | CREATE TABLE、ALTER TABLE、DROP TABLE |
| DML (Data Manipulation Language) | データ操作 | SELECT、INSERT、UPDATE、DELETE |
| DCL (Data Control Language) | 権限制御 | GRANT、REVOKE |
| TCL (Transaction Control Language) | トランザクション | COMMIT、ROLLBACK、SAVEPOINT |
最も基本的なSELECT文
|
SELECT id, name, created_at |
SELECTの典型的な構成要素
| 句 | 役割 |
|---|---|
SELECT | 取得する列を指定 |
FROM | 取得元のテーブル/結合元 |
JOIN (INNER/LEFT/RIGHT/FULL) | テーブル結合 |
WHERE | 行のフィルタ |
GROUP BY | 集約のキー |
HAVING | 集約後のフィルタ |
ORDER BY | 並び替え |
LIMIT / OFFSET | 取得件数の制限・ページング |
JOINの種類
| JOIN | 結果 |
|---|---|
| INNER JOIN | 両方に一致する行のみ |
| LEFT (OUTER) JOIN | 左側全件+右側は一致した行 (なければ NULL) |
| RIGHT (OUTER) JOIN | 右側全件+左側は一致した行 |
| FULL (OUTER) JOIN | どちらか片方にあれば全部 (MySQLは未対応、UNIONで代用) |
| CROSS JOIN | 直積 |
| SELF JOIN | 同じテーブルを別名で結合 |
主なRDBMSとSQL方言
| RDBMS | 手続き型SQL | 備考 |
|---|---|---|
| MySQL / MariaDB | ストアドプロシージャ (SQL/PSM相当) | Web系で広く採用 |
| PostgreSQL | PL/pgSQL | 標準SQLへの準拠度が高い |
| Oracle | PL/SQL | 大規模基幹系で採用 |
| SQLite | 限定的 (トリガのみ) | 埋め込みDB |
| SQL Server | T-SQL | Microsoft製、企業AD環境で多い |
| DB2 | SQL PL | IBM製 |
パフォーマンス上のポイント
- EXPLAIN/実行計画で「フルスキャンしていないか」を確認する
- WHERE 句で使う列、結合キーにはインデックスを張る
- SELECT * は避け、必要な列だけを取る
- N+1 問題: アプリ側で N 回 SELECT するなら、JOIN/IN で 1回にまとめる
- COUNT(*) や OFFSET 大量は重い。キーセットページング (
WHERE id > ?) を検討
セキュリティ上の注意
- SQLインジェクション: 文字列連結ではなくプレースホルダ/プリペアドステートメントを使う
- アプリ用ユーザーには最小権限のみ付与 (DDL不要なら SELECT/INSERT/UPDATE/DELETE のみ等)
- 本番に対するUPDATE/DELETE は必ず WHERE 付きで。
BEGIN; ... ROLLBACK;で先に件数確認
関連
- 親カテゴリ: データベース
- RDBMS: MySQL/MariaDB / PostgreSQL / SQLite
- 子ページ: DDL / DML / トランザクション制御 / 関数
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?