ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
表関連 DDL とは
Oracle の表(テーブル)に対する DDLは、テーブル構造の作成・変更・削除を行う SQL 文の総称です。データを操作する DML(SELECT / INSERT / UPDATE / DELETE)と異なり、スキーマ自体を変えるのが特徴です。
| 文 | 目的 |
|---|---|
| CREATE TABLE | 新しい表を作成 |
| ALTER TABLE | 列定義の追加・変更・削除、制約の追加・削除、表名や列名の変更 |
| DROP TABLE | 表ごと完全に削除 |
| TRUNCATE TABLE | 表の構造は残してデータだけ高速削除 |
| RENAME | 表名を変更 |
| COMMENT | 表や列にコメントを付ける(DBA 向けメモ) |
CREATE TABLE
新しい表を作成します。列定義と制約を一括で書きます。
CREATE TABLE employees (
emp_id NUMBER(10) PRIMARY KEY,
name VARCHAR2(100) NOT NULL,
email VARCHAR2(255) UNIQUE,
dept_id NUMBER(10) REFERENCES departments(dept_id),
salary NUMBER(10,2) CHECK (salary >= 0),
hired_at DATE DEFAULT SYSDATE,
created_at TIMESTAMP DEFAULT SYSTIMESTAMP
);
主な制約は次の通りです。
| 制約 | 意味 |
|---|---|
| NOT NULL | NULL を禁止 |
| PRIMARY KEY | 主キー(NOT NULL + UNIQUE) |
| UNIQUE | 重複禁止 |
| FOREIGN KEY / REFERENCES | 他表の列を参照(外部キー) |
| CHECK | 列値が条件を満たすか検査 |
| DEFAULT | INSERT 時の既定値 |
ALTER TABLE
列の追加
ALTER TABLE employees ADD (
phone VARCHAR2(20),
is_active NUMBER(1) DEFAULT 1
);
列定義の変更
-- 桁数を広げる、NULL 許可を変える
ALTER TABLE employees MODIFY (
email VARCHAR2(320),
phone VARCHAR2(20) NOT NULL
);
列の削除
ALTER TABLE employees DROP COLUMN phone;
列名 / 表名の変更
ALTER TABLE employees RENAME COLUMN name TO full_name;
ALTER TABLE employees RENAME TO staff;
-- 単独構文の RENAME も使える
RENAME staff TO employees;
制約の追加・削除
ALTER TABLE employees
ADD CONSTRAINT chk_salary CHECK (salary >= 0);
ALTER TABLE employees
DROP CONSTRAINT chk_salary;
DROP TABLE
表を完全に削除します。データもインデックスも一緒に消えます。Oracle 10g 以降はごみ箱(RECYCLEBIN)に入るので、FLASHBACK TABLE ... TO BEFORE DROP で復活可能です。永久削除したいときは PURGE を付けます。
DROP TABLE employees; -- ごみ箱に入る
DROP TABLE employees PURGE; -- 永久削除(戻せない)
DROP TABLE employees CASCADE CONSTRAINTS; -- 参照制約も道連れで削除
TRUNCATE TABLE
表は残してデータだけを高速に全削除します。DELETE と違って次の特徴があります。
| 項目 | DELETE | TRUNCATE |
|---|---|---|
| 区分 | DML | DDL |
| トランザクション | ロールバック可 | 暗黙コミット、ロールバック不可 |
| 速度 | レコード数に比例 | 非常に高速(HWM のリセット) |
| WHERE | 使える | 使えない(全消し) |
| トリガ起動 | される | されない |
| 領域返却 | されない(再利用される) | される(オプションで保持も可) |
TRUNCATE TABLE employees; -- 領域を返却
TRUNCATE TABLE employees REUSE STORAGE; -- 領域は確保したまま
DDL とトランザクション
Oracle の DDL は暗黙コミットされます。たとえば INSERT を流したあと CREATE TABLE を実行すると、まだ COMMIT していない INSERT も含めてすべて確定されてしまいます。本番運用では次が鉄則です。
- DDL の前に既存トランザクションを必ず明示的に
COMMITorROLLBACK - 本番への DDL は検証環境で構文を確認してから流す
- 戻せない(
DROP/TRUNCATE)操作は事前にエクスポートを取る
FLASHBACK でうっかり削除を復旧
Oracle 10g 以降のごみ箱機能を使えば、DROP TABLE 直後でも復元できます。PURGE 付きで消した場合や、表領域ごと消した場合は復元できません。
-- ごみ箱の中身を確認
SELECT object_name, original_name, droptime FROM user_recyclebin;
-- 復元
FLASHBACK TABLE employees TO BEFORE DROP;
-- 名前を変えて復元(同名表が既に存在する場合)
FLASHBACK TABLE employees TO BEFORE DROP RENAME TO employees_old;
-- ごみ箱を空にする
PURGE RECYCLEBIN;
関連
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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アノテーションとは
最近更新/作成されたページ
- UE5のEvent Tickノードの使い方|毎フレーム処理とDelta Seconds 2026-06-13 13:26:37
- UE5のレベルブループリントでキャラクターをスポーンさせる方法 2026-06-13 13:26:37
- UE5でAI Move ToがBlockedで失敗する原因と対処方法|NavMesh確認 2026-06-13 13:26:36
- UE5のビューポートの使い方|視点操作・ビューモード・投影の基本 2026-06-13 13:26:36
- Reactのよくあるエラーと対処まとめ|環境構築・npm関連 2026-06-13 13:26:36
- UE5のWorld Compositionとは|サブレベルによる大規模ワールドと非推奨化 2026-06-13 13:26:35
- C++のコンパイルと実行方法|g++の使い方とオプション 2026-06-13 13:26:35
- .protoのgo_packageオプションとは|Goコード生成時のパッケージ指定 2026-06-13 13:26:34
- C++の開発環境構築|コンパイラとIDEの選び方・Hello World 2026-06-13 13:26:34
- gRPCクイックスタート|.proto定義からサーバ・クライアント実装まで 2026-06-13 13:26:33
- C++の関数まとめ|標準入出力(printf・cout・cin)と関数の基本 2026-06-13 13:26:33
- C#・Visual Studioのよくあるエラーと対処まとめ 2026-06-13 13:26:33
- UE5のアウトライナーとは|アクターの一覧・整理・親子付け 2026-06-13 13:26:32
- UE5でSet Input Mode UI Onlyを解除する方法|Game Onlyに戻す 2026-06-13 13:26:32
- UE5エディタの自動保存の頻度を変更する方法|Auto Save設定 2026-06-13 13:26:31
コメントを削除してもよろしいでしょうか?