Oracleの基本
書籍リンク
- リンク
- 読んだ時期
- 2025-04-23 頃
感想
- Oracle 使用時の基本用語が大体 分かるようになる
- SQL のおさらいにも良い
- 実際に運用してメンテナンスするときの勘どころ的な視点でも書かれている(ように見える)
- 何のためにこの機能があるのか、というのが分かる
- オプティマイザ統計情報とか断片化解消とかのくだり
- Oracle の Windows への OTNライセンスでのインストール方法が書かれてる
- 自力で試行錯誤する前に読んでおけば、どの設定が何であるか分かって効率的だったはず
以下はメモ
〜〜〜〜
outer join の oracle 固有記法 (+)
sql
select EMPNO, ENAME, DNAME from EMP e
left outer join DEPT d
on e.DEPTNO = d.DEPTNO
↑
sql
select EMPNO, ENAME, DNAME from EMP e, DEPT d
where e.DEPTNO = d.DEPTNO(+);
同じらしい
(+)
がついている方が必須ということか- 非推奨ということなので、新しくは書かない
- けど、読むときに困るので覚え ておく
SQL*Plus コマンド
表示系
sql
set LINESIZE <1行の文字数>
set PAGESIZE <1ページあたりに表示する行数>
列の表示幅を指定
sql
COLUMN <列名> FORMAT A<バイト数>
日時の表示フォーマットを指定
sql
alter session set NLS_DATE_FORMAT = 'YYYY/MM/DD HH24:MI:SS'
これは sqlplus コマンドではなく、初期化パラメータという
- DATE型のとき: NLS_DATE_FORMAT
- TIMESTAMP型のとき:NLS_TIMESTAMP_FORMAT
SQLの種類
- DML : Data Manipulation Language
- データの変更
- select / insert / update / delete
- トランザクション制御文
- commit / rollback
- DDL : Data Definition Language
- alter / create / drop / grant / revoke
- truncate も DDL
index について
index 作成
sql
create index <インデックス名> on <テーブル名>(<列名1>,..)
- 検索条件に指定するものを指定する
- 増やしすぎると、データ更新時のインデックス更新の負荷が増える
index を使える検索条件
index を使われる検索条件
- 等価条件 :
COL1 = 100
- 範囲検索 :
COL1 > 100
- LIKEの先頭一致条件 :
COL1 like 'ABC%'
index が使われない検索条件
COL1 != 100
COL1 like '%BC%'
COL1 is null