SQL

Oracle SQLコマンド:業務効率化のための実用的な一覧と使用方法



OracleのSQLコマンドを効果的に使いこなすことで、データベース管理の作業効率を大幅に向上させることができます。

この記事では、OracleのSQLコマンドを中心に、その使用方法と実際の業務での活用例を詳しく解説します。また、他のRDBでも適用可能な一般的なコマンドについても触れていますので、広範なデータベース環境での作業に役立つ情報を提供します。この一覧を参照することで、あなたのデータベーススキルの向上をサポートします。

内容 / 説明SQL
新しいテーブルを作成するCREATE TABLE テーブル名 (列名1 データ型, 列名2 データ型, ...)
特定のテーブルからすべてのデータを取得するSELECT * FROM テーブル名
特定のテーブルから特定の列のデータを取得するSELECT 列名 FROM テーブル名
特定の条件を満たすデータのみを取得するSELECT * FROM テーブル名 WHERE 条件
特定のテーブルのデータを更新するUPDATE テーブル名 SET 列名 = 新しい値 WHERE 条件
特定のテーブルのデータを削除するDELETE FROM テーブル名 WHERE 条件
現在の日付と時刻を取得するSELECT SYSDATE FROM テーブル名
特定の日付/時間を減算するSELECT SYSDATE - 数値/24 FROM テーブル名
特定の列を16進数で表示するSELECT TO_CHAR(列名,'fm0X') FROM テーブル名
特定の列の値を16進数に変換するSELECT RAWTOHEX(列名) FROM テーブル名
2つのクエリの結果の差を取得する(SELECT 列名 FROM テーブル名1) MINUS (SELECT 列名 FROM テーブル名2)
2つのクエリの結果の共通部分を取得する(SELECT 列名 FROM テーブル名1) INTERSECT (SELECT 列名 FROM テーブル名2)
2つのクエリの結果を結合する(SELECT 列名 FROM テーブル名1) UNION (SELECT 列名 FROM テーブル名2)
特定の条件に応じて値を選択するCASE WHEN 条件 THEN 値1 ELSE 値2 END FROM テーブル名
特定のパターンに一致するデータを検索するSELECT * FROM テーブル名 WHERE 列名 LIKE 'パターン'
特定の範囲のデータを取得するSELECT * FROM テーブル名 WHERE 列名 BETWEEN 値1 AND 値2
指定したリスト内の値に一致するデータを取得するSELECT * FROM テーブル名 WHERE 列名 IN (値1, 値2, ...)
指定したリスト内の値に一致しないデータを取得するSELECT * FROM テーブル名 WHERE 列名 NOT IN (値1, 値2, ...)
サブクエリの結果に対して比較操作を行うSELECT * FROM テーブル名 WHERE 列名 = ANY (SELECT 列名 FROM テーブル名 WHERE 条件)
重複したデータを除外するSELECT DISTINCT 列名 FROM テーブル名
結果を特定の列の値で並べ替えるSELECT * FROM テーブル名 ORDER BY 列名
特定の数の行だけを取得するSELECT * FROM テーブル名 FETCH FIRST 数値 ROWS ONLY
列の文字列の長さを取得するSELECT LENGTH(列名) FROM テーブル名
列の文字列の先頭と末尾の空白を削除するSELECT TRIM(列名) FROM テーブル名
列の文字列内の特定の文字列を置換するSELECT REPLACE(列名, '検索文字列', '置換文字列') FROM テーブル名
列の文字列から部分文字列を抽出するSELECT SUBSTR(列名, 開始位置, 長さ) FROM テーブル名
列の数値を指定した小数点以下の桁数で四捨五入するSELECT ROUND(列名, 小数点以下の桁数) FROM テーブル名
列の数値の小数部分を切り捨てるSELECT TRUNC(列名) FROM テーブル名
列の数値を指定したべき乗するSELECT POWER(列名, べき数) FROM テーブル名
現在の日付を取得するSELECT CURRENT_DATE FROM DUAL
列がNULLかどうかを調べるSELECT * FROM テーブル名 WHERE 列名 IS NULL
列がNULLでないかどうかを調べるSELECT * FROM テーブル名 WHERE 列名 IS NOT NULL
現在のトランザクションをロールバックするROLLBACK
自動コミットを有効にするSET AUTOCOMMIT ON
自動コミットを無効にするSET AUTOCOMMIT OFF
テーブルからカラムを削除するALTER TABLE テーブル名 DROP COLUMN 列名
テーブルにカラムを追加するALTER TABLE テーブル名 ADD (列名 データ型)
エラーが発生したテーブルのインデックスを検索するSELECT * FROM USER_INDEXES WHERE INDEX_NAME = 'インデックス名'
テーブルのすべてのインデックスを表示するSELECT * FROM USER_INDEXES WHERE TABLE_NAME = 'テーブル名'
特定のルーチン定義情報を表示するSELECT * FROM USER_SOURCE WHERE NAME = 'ルーチン名'
特定のテーブルに関連するすべてのトリガーを表示するSELECT * FROM USER_TRIGGERS WHERE TABLE_NAME = 'テーブル名'
新しいビューを作成するCREATE VIEW ビュー名 AS SELECT 列名 FROM テーブル名
既存のビューを削除するDROP VIEW ビュー名
特定のビューの定義を表示するSELECT TEXT FROM USER_VIEWS WHERE VIEW_NAME = 'ビュー名'
テーブルのスキーマを表示するDESC テーブル名
テーブルのデータ領域を表示するSELECT TABLE_NAME, TABLESPACE_NAME FROM USER_TABLES
特定のテーブルのプライマリキーを表示するSELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'テーブル名' AND CONSTRAINT_TYPE = 'P'
特定のテーブルの外部キーを表示するSELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'テーブル名' AND CONSTRAINT_TYPE = 'R'
特定のテーブルのユニーク制約を表示するSELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'テーブル名' AND CONSTRAINT_TYPE = 'U'
新しいユーザー(スキーマ)を作成するCREATE USER ユーザー名 IDENTIFIED BY パスワード
特定のテーブルにデータを挿入するINSERT INTO テーブル名 (列名1, 列名2, ...) VALUES (値1, 値2, ...)
特定のテーブルからすべてのデータを削除し、スペースを解放するTRUNCATE TABLE テーブル名
特定のテーブルから削除したデータを完全に削除するPURGE TABLE テーブル名
特定のテーブルに対してシーケンスを作成するCREATE SEQUENCE テーブル名_シーケンス名 START WITH 数値 INCREMENT BY 数値
シーケンスを使用してデータを挿入するINSERT INTO テーブル名 (列名1, 列名2, ...) VALUES (シーケンス名.NEXTVAL, '値2', ...)
特定のテーブルのロックを解除するALTER TABLE テーブル名 ENABLE ALL TRIGGERS
特定のテーブルのロックを有効にするALTER TABLE テーブル名 DISABLE ALL TRIGGERS
特定のテーブルにインデックスを作成するCREATE INDEX インデックス名 ON テーブル名 (列名)
特定のテーブルのインデックスを削除するDROP INDEX インデックス名
新しいストアドプロシージャを作成するCREATE PROCEDURE プロシージャ名 AS BEGIN SQLステートメント; END;
ストアドプロシージャを削除するDROP PROCEDURE プロシージャ名
特定のストアドプロシージャの定義を表示するSELECT TEXT FROM USER_SOURCE WHERE NAME = 'プロシージャ名'
特定のテーブルのデータを更新するUPDATE テーブル名 SET 列名1 = '新しい値1', 列名2 = '新しい値2' WHERE 条件
特定のテーブルのデータを削除するDELETE FROM テーブル名 WHERE 条件
特定のテーブルの一部のデータを選択するSELECT 列名1, 列名2 FROM テーブル名 WHERE 条件
テーブルを結合してデータを選択するSELECT 列名1, 列名2 FROM テーブル名1 JOIN テーブル名2 ON テーブル名1.列名 = テーブル名2.列名 WHERE 条件
データをソートして選択するSELECT 列名1, 列名2 FROM テーブル名 ORDER BY 列名1 DESC

 

仕事で使えるLinuxコマンドも纏めています。よろしければご一緒にご活用ください

上記のリストは一部ですが、データベースの操作に関する基本的なSQLコマンドをカバーしています。ただし、これらのSQL文を使用する際には、適切なパーミッションが必要であることを覚えておいてください。また、データベースに何か変更を加える前には、重要なデータのバックアップを取ることを強く推奨します。

仕事で使うLinux/UNIXコマンド一覧

続きを見る

 


SQL 第2版 ゼロからはじめるデータベース操作


ビッグデータ分析・活用のためのSQLレシピ

-SQL
-