ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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アノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?