こんにちは、テクニカルサポート課の 佐藤 光晃です。
本ブログは AWS の RDS DB インスタンスや、オンプレミス環境上に DB 環境を構築せずに SQL の練習をする方法を紹介します。
今後のキャリアや案件等で DBA として活躍を考えている場合には DB エンジンについても理解を深める必要があるため、本ブログで紹介する Oracle Live SQL はあくまで SELECT 句などの DML や CREATE TABLE などの DDL の練習の場として考えてください。
※将来的に PostgreSQL や MySQL をご利用予定の場合もデータ型の差異や NULL と空文字の挙動など注意が必要となります。
事前準備
本ブログでは Oracle 社の Oracle Live SQL というツールを使用します。
- 環境としてはインターネットにつながる環境とブラウザがあれば OK です。
- Oracle のアカウントが必要になります。無ければ以下の要領で作成します。(Oracle のアカウント作成の際に料金は発生しません。)
▼Oracle のアカウント作成手順
- Oracle 社ホームページ にアクセスします。
- 右上の「アカウントを表示」で Oracle アカウントの「アカウントを作成」を選択します。
- 必要な情報を入力し、指示に沿ってメールの確認応答を行うと、アカウントを作成できます。
Oracle Live SQL へのログイン
- Oracle Live SQL にアクセスします。
- 右上の [Sign In] か [Start Coding] 等をクリックします。
- Oracleプロファイルへのサインインと表示された画面が表示されますので、先程作成した Oracle のアカウントでログインします。
- Application Disclaimer for use of Oracle Live SQL と表示された画面が表示されます。(Oracle Live SQL の免責事項が記載された画面となります。)
内容を確認し、[I Agree] にチェックを入れ、[Accept] ボタンをクリックします。 - Oracle Live SQL のホーム画面 (Learn and share SQL) が表示されます。
SQL の実行
Oracle Live SQL のホーム画面の [Start Coding] をクリックすると SQL Worksheet が表示されます。
ここで SQL を記述し実行 (Run をクリック) すると結果が表示されるようになっております。
Oracle Live SQL の機能
Oracle Live SQL では SQL 実行の他にいくつかの機能があります。
画面左上にある [≡] のような形の所をクリックするとメニューが開きます。
こちらはそれぞれ以下のような機能となっております。
- Home: ログイン後の最初の画面に移動します。
- SQL Worksheet: 先ほど SQL を実行したワークシートを開きます。
- My Session: セッションで発行した SQL 文とその結果を一覧できます。
- My Session > Previously Viewed: ログイン中に表示したスクリプトやチュートリアルを表示します。
- My Session > Previous Session: 過去のセッションの一覧です。過去のセッションを選択すると、そのセッションで発行した SQL 文を確認できます。
- My Session > Utilization: リソースの使用状況が分かります。ちょっとした SQL を実行するだけなら基本気にしなくても OK です。
- My Session > NLS: 言語やタイムスタンプなどの形式が確認できます。
- Schema:GUI で表などのオブジェクトを作成することができます。また、いくつかのサンプルスキーマを確認できます。
- Quick SQL:テーブル作成などの SQL を手早く実行するためのモデルをロードできます。
- My Scripts:SQL Worksheet の[Save] ボタンで保存した SQL やスクリプトを確認できます。
- My Tutorials:自分用のチュートリアルを作れます。
- Code Library:他の人が公開している学習用の SQL スクリプトやチュートリアルを参照、実行できます。
Oracle Live SQL の制限事項 (気を付ける事)
- アイドルセッションは 90 分 (My Session > Utilization の Max Idle Time (minutes) に該当) で切れます。 セッションが切れたら、左上のLive SQL のロゴをクリックするなど、Live SQLにアクセスし直す必要があります。
- セッションは、最長 480 分 (My Session > Utilization の Max Session Duration (minutes) に該当) で切れます。 セッションが切れたら、Live SQL にアクセスし直す必要があります。
- セッションが切れると、自分で作成していたオブジェクトは失われます。 オブジェクトを再度利用したい時は、その作成スクリプトを保存しておき、必要に応じて再作成し直す必要があります。
- サンプルスキーマのオブジェクトに対して SELECT オブジェクト権限はありますが、INSERT や UPDATE などの DML のオブジェクト権限はありません。 DML を試したいときは、CREATE TABLE 文で自分用の表を作成する必要があります。
- DESC コマンド以外の SQL*Plus コマンドは使用できません。
- セッション・タイムゾーンは US Pacific, データベース・タイムゾーンは UTC です。
まとめ
本ブログでは Oracle が提供している Oracle Live SQL について紹介させて頂きました。
SQL の簡単な記述や初歩的な練習をしたいものの、Oracle Database や RDS for Oracle の構築が難しい場合などで活用できるかと思います。
PostgreSQL や MySQL とは動作が異なる部分が多々ありますので、気になる方はその差異などをチェックしつつ学習できるとより良いかと思います。
SQL を記述の際に避けるべきアンチパターンと呼ばれるものもあるので、気になる方は勉強してみてください。
※オライリー出版の参考書やミック本と呼ばれる参考書が入門から入りやすいと思います。
www.oreilly.co.jp
佐藤 光晃 (記事一覧)
マネージドサービス部・テクニカルサポート課
2022年10月にサーバーワークスに入社しました。
前職でもテクニカルサポートに従事しており、情報収集に役立つサービスやツールに興味があります。2024 Japan AWS All Certifications Engineers になりました。