バナー画像

SQL Developerは、OracleデータベースでSQLを使うための統合開発環境です。

今回は、SQL DeveloperからMySQLを操作する方法をご紹介します。

SQL Developerのインストール方法については、こちらをご参照ください。

【関連記事】
SQL Developerを使ってみよう!資格取得の学習にも使える便利なツール

当記事では、SQL Developer 19.1を前提に解説しています。

SQL Developerから、MySQLを操作するには


デフォルトの状態では、SQL DeveloperはOracleのみ接続可能です。MySQLへ接続するには、以下の設定をおこないます。

MySQLのJDBCドライバをインストール

下記URLより、MySQLのWindows用インストーラーをダウンロードします。

https://dev.mysql.com/downloads/installer/


ファイルは2種類あり、上は分割ダウンロード版、下は一括ダウンロード版です。今回は、一括ダウンロード版を使用します。

JDBCドライバは、Connector/Jという名前でインストーラーに含まれています。


Connector/Jをインストールしましょう。

デフォルトだと、JDBCドライバー本体は以下のフォルダにインストールされます。のちの、接続設定で使用するためインストールパスをメモしておきましょう。

C:\Program Files (x86)\MySQL\Connector J 8.0

MySQLの接続設定

SQL Developerのツール→プリファレンス→データベース→サード・パーティJDBCドライバにて、「エントリの追加」をクリックします。

先ほどメモしたJDBCドライバのインスト―ルパスを設定し、OKをクリックします。


SQL Developerの「接続」タブの「+」アイコンをクリックします。


「データベース接続の作成/選択」ウインドウが表示されます。データベースのタイプに「MySQL」が選択できるようになってます。

Name(設定名)、MySQLのユーザ名、パスワード、ホスト名、ポート番号を設定し、「保存」をクリックします。

timezoneに関するエラーを抑制する方法

MySQLがWindowsサーバの場合、timezoneに関する以下のエラーが出力され、データベースの接続に失敗するケースがあります。

リクエストされた操作の実行中にエラーが発生しました:

The server time zone value '□□□ (□□□□□□)' is unrecognized or represents more than one time zone. 
You must configure either the server or 
JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

データベース接続設定にて、ポート番号の箇所に、以下を設定するとエラーを回避できます。

ポート番号/?serverTimezone=JST#

MySQLのデータベースを操作する

実際に、MySQLのデータベースを操作しましょう。

※あらかじめ、MySQLのサンプルデータベースWorldをインストール済みです。

SQL Developerの接続タブに表示されている接続名(ここではmysql)をダブルクリックします。


データベースに接続され、テーブル名などが表示されます。

ツール→SQLワークシートを選択します。


ワークシートにSQLを入力し、Ctrl+Enterを入力すると、SQLの時刻結果が表示されます。

クエリの実行結果をエクスポートする

SQLの実行結果をエクスポートするには、検索結果の上で右クリック→エクスポートを選択します。


エクスポート・ウィザードでcsvやexcelなどのフォーマットを選びます。別名保存で「クリップボード」を選ぶと、ファイルを介さずにSQLの実行結果をコピペできます。

整形機能の使い方

SQL Developerには、複雑なSQLを見やすく整形する機能があります。

SQLワークシートにSQLを入力し、ワークシート状で右クリック→書式(またはCtrl+F7)を選択します。


以下のSQLを整形してみましょう。複雑なwhere句の条件にサブクエリが組み合わさった難解なSQLです。

select i.obj#,i.samplesize,i.dataobj#,nvl(i.spare1,i.intcols),i.spare6,decode(i.pctthres$,null,null,mod(trunc(i.pctthres$/256),256)),ist.cachedblk,ist.cachehit,ist.logicalread from ind$ i, ind_stats$ ist, (select enabled, min(cols) unicols,min(to_number(bitand(defer,1))) deferrable#,min(to_number(bitand(defer,4))) valid# from cdef$ where obj#=:1 and enabled > 1 group by enabled) c where i.obj#=c.enabled(+) and i.obj# = ist.obj#(+) and i.bo#=:1 order by i.obj#

整形後はこうなります。

SELECT
    i.obj#,
    i.samplesize,
    i.dataobj#,
    nvl(i.spare1, i.intcols),
    i.spare6,
    DECODE(i.pctthres$, NULL, NULL, mod(trunc(i.pctthres$ /256), 256)),
    ist.cachedblk,
    ist.cachehit,
    ist.logicalread
FROM
    ind$                                                                                                                                                               i,
    ind_stats$                                                                                                                                                         ist,
    (
        SELECT
            enabled,
            MIN(cols) unicols,
            MIN(to_number(bitand(defer, 1))) deferrable#,
            MIN(to_number(bitand(defer, 4))) valid#
        FROM
            cdef$
        WHERE
            obj# = :1
            AND enabled > 1
        GROUP BY
            enabled
    ) c
WHERE
    i.obj# = c.enabled (+)
    AND i.obj# = ist.obj# (+)
    AND i.bo# = :1
ORDER BY
    i.obj#

かなり見やすく整形できました。

まとめ


SQL Developerを使ってMySQLに接続・操作する方法をご紹介しました。

ポテパンダの一言メモ
  • MySQLへはJDBCドライバ経由でアクセス
  • timezoneに関するエラーはポート設定で回避可能
  • エクスポート機能では、クエリ結果をファイル保存するほか、クリップボードにもコピー可
  • SQL整形機能のメニュー名は「書式」

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。