【まとめ】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指定による行取得で期待されるレコードが取得出来ない。