【まとめ】Oracle Database SQL
Oracle Database, Oracle SQL*PLUS関連記事のまとめになります。
プログラム記事全般はこちらのリンク先にあります。
目次
名称(コマンド等)
- /(表示無), run(表示有), edit(編集):直前のSQLを実行【外部リンク】
 - ALL_TABLESテーブル:アクセス可能なテーブル情報【外部リンク】
 - ALL_TABLESテーブル:アクセス可能なテーブル一覧
 - ALL_TABLESテーブル:スキーマ名確認
 - alter pluggable database all open;:データベースオープン【外部リンク】
 - ALTER TABLE XX RENAME TO XX:テーブル名を変更する
 - COLUMN(COL):SELECT書式変更(表示幅)
 - connect / as sysdba:データベース接続(OS認証、SYSDBA権限、ローカル接続)
 - CREATE TABLE:テーブル作成
 - DELETE:レコード削除
 - DESC TABLENAME:テーブル定義確認
 - DROP TABLE:テーブル削除
 - FULL OUTER JOIN:テーブル結合
 - GREATEST:指定した値の中で最大を出力する
 - hist[ory]:コマンド履歴を確認する
 - hist[ory] N run (N:履歴番号):コマンド履歴を実行する
 - INNER JOIN:テーブル結合
 - INSERT:レコード作成(1つ)
 - INSERT:レコード作成(複数)
 - LEAST:指定した値の中で最小を出力する
 - LEFT OUTER JOIN:テーブル結合
 - MINUS演算子:SELECT結果の差分を出力
 - ORDER BY 列名 [DESC]:ソート【外部リンク】
 - ROWNUM:レコード行番号
 - SELECT/WHERE:レコード選択/条件指定
 - set colsep xxx:表示区切り文字変更
 - set hist[ory] on:コマンド履歴を有効にする【外部リンク】
 - set linesize 200:表示幅設定
 - show all:オプション設定を全て表示
 - show pdbs:PDB状態確認
 - show SYSTEM_VARIABLE:オプション設定表示
 - SHOW USER:使用している自ユーザー名を確認
 - shutdown immediate:データベース停止
 - spool:ログを保存する
 - sqlplus /nolog:SQL*PLUS起動(データベース未接続)
 - startup:データベースマウント&オープン
 - TRUNCATE TABLE:テーブル内のレコードを全削除する
 - UPDATE:レコード更新
 - USER_OBJECTSテーブル:テーブル作成日時確認
 - V$VERSIONテーブル:Oracle DataBase バージョン確認
 
逆引き
- JOINでNULL同士を紐づける方法
 - PDB状態確認:show pdbs
 - SELECT結果の差分を出力:MINUS演算子
 - SELECT書式変更(表示幅):COLUMN(COL)コマンド
 - SQL*PLUS起動(データベース未接続):sqlplus /nolog
 - インデックス一覧を取得【外部リンク】
 - オプション設定を全て表示:show all
 - オプション設定表示:show SYSTEM_VARIABLE
 - コマンド履歴を確認する:hist[ory]
 - コマンド履歴を実行する:hist[ory] N run (N:履歴番号)
 - コマンド履歴を有効にする:set hist[ory] on【外部リンク】
 - 最小を出力する:LEAST
 - 最大を出力する:GREATEST
 - 使用している自ユーザー名を確認:SHOW USER
 - スキーマ名の調べ方が分からない:ALL_TABLESテーブル
 - スクリプト利用:xxx.sql
 - 先頭から指定された行数(=レコード数)を表示:WHERE ROWNUM
 - ソート:ORDER BY 列名 [DESC]【外部リンク】
 - 直前のSQLを実行:/(表示無), run(表示有), edit(編集)【外部リンク】
 - データベース接続(OS認証、SYSDBA権限、ローカル接続):connect / as sysdba
 - データベースオープン:alter pluggable database all open;【外部リンク】
 - データベース停止:shutdown immediate
 - データベースマウント&オープン:startup
 - テーブル確認(アクセス可能なテーブル情報):ALL_TABLESテーブル【外部リンク】
 - テーブル確認(アクセス可能なテーブル一覧):ALL_TABLESテーブル
 - テーブル確認(作成日時):USER_OBJECTSテーブル
 - テーブル結合:3つ以上のテーブルを結合
 - テーブル結合:FULL OUTER JOIN
 - テーブル結合:INNER JOIN
 - テーブル結合:LEFT OUTER JOIN
 - テーブル削除:DROP TABLE
 - テーブル作成:CREATE TABLE
 - テーブル名変更:ALTER TABLE XX RENAME TO XX
 - バージョン確認(Oracle DataBase):V$VERSIONテーブル
 - 表示区切り文字変更:set colsep xxx
 - 表示幅設定:set linesize 200
 - 表示列幅変更:column 列名 format a(幅)【外部リンク】
 - 表示列幅リセット:column 列名 CLEAR
 - 表示列幅リセット(全て):column cleared
 - 末尾から指定された行数(=レコード数)を表示:WHERE ROWNUM
 - レコード行番号:ROWNUM
 - レコード更新:UPDATE
 - レコード削除:DELETE
 - レコード削除(全削除):TRUNCATE TABLE
 - レコード作成(1つ):INSERT
 - レコード作成(複数):INSERT
 - レコード選択/条件指定:SELECT/WHERE
 - ログを保存する:spool
 
トラブルシューティング
- ORA-00904: “XXX”: 無効な識別子です。
 - ORA-00936: 式がありません。
 - ORA-00942: 表またはビューが存在しません。
 - ROWNUM指定による行取得で期待されるレコードが取得出来ない。