DB基本


表の確認
desc テーブル名

表名の変更
RENAME テーブル名 TO 新テーブル名

列の追加
ALTER TABLE テーブル名 ADD (列名 データ型 制約);

列の変更
ALTER TABLE テーブル名 MODIFY (列名 データ型 NOT NULL);
・CHAR(10) → CHAR(20)サイズを大きくすることは可能
・サイズを小さくする場合はデータに影響がない範囲なら可能
・変更可能な制約はNOT NULLのみ
・NOT NULLを追加する場合、列にデータがない場合か、列のデータがすべてNULLの場合

列の削除
ALTER TABLE テーブル名 DROP COLUMN 列名;
・表にはすくなくとも1つの列が必要
・削除した列は復元できない

既存のテーブルから別のテーブルを作成する
CREATE TABLE テーブル名 AS SELECT 列名
・NOT NULL以外の制約はコピーされない

列を未使用にする
ALTER TABLE テーブル名 SET UNUSED COLLUMN 列名
・列が使えなくなる
・使えなくした列名と同じ名前の列を追加することが可能

未使用列をすべて削除
ALTER TABLE テーブル名 DROP UNUSED COLUMNS

テーブルの削除
DROP TABLE テーブル名;
・別の表からFOREIGN KEY制約が定義されている場合削除エラーになる

行をすべて削除
TRUNCATE TABLE テーブル名
ロールバックできない

表にコメントをつける
COMMENT ON TABLE テーブル名 IS 'このテーブルはどうのこうの'
・4000バイトまで
データディクショナリのCOMMENTS列を通じて表示することができる

                                                                                                                              • -

データ型

固定長文字列データ型
CHAR(n)
・1〜2000バイトまで
・未使用の部分は空白が入る

可変長文字列データ型
VARCHAR2(n)
・1〜4000バイトまで
・CHARとの違い格納された文字列データのみが保管される

可変長文字列データ型
LONG
・最大2G
・表の中で1つの列にしか使用できない

数値型
NUMBER(n)
・38桁まで使用可能
・nには桁するを入れる

日付型
DATE
・西暦、月、日、時、分、秒

可変長バイナリー型
RAW(n)
・1〜2000バイトまで

可変長バイナリー型
LONG RAW
・最大2G
・表の中で1つの列にしか使用できない

固定長マルチバイト文字列データ型
NCHAR
・1〜2000バイトまで

可変長マルチバイト文字列データ型
NVARCHAR2
・1〜4000バイト

                                                                                                                              • -

データディクショナリ
データベースを構成する情報を格納している
SELECT * FROM USER_TABLES;
テーブルに問い合わせて情報を閲覧する

ユーザー情報を格納
USER_XXX

そのユーザーがアクセス可能なすべての情報を格納
ALL_XXX

データベース全体の情報
DBA_XXX

データベースのパフォーマンス、ロックについての情報を格納
V$_XXX
・動的パフォーマンスビューと呼ばれる