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コマンド一覧
続きを見る