LoginSignup
41
32

More than 3 years have passed since last update.

VSCodeでのSQL Server(MSSQL)の開発

Last updated at Posted at 2019-12-18

この記事は ZOZOテクノロジーズ#5 Advent Calendar 2019 18日目の記事です。
昨日は、@satto_sannさんの「うわっ・・・FastAPIでGraphQLの構築、楽すぎ・・・?」でした。

まえがき

普段はSQL Serverの開発はSQL Server Management Studio (SSMS)で行っていますが、アプリの開発で使う事が多いVisual Studio Codeに一本化出来ないかということで、Visual Studio Codeのmssql(SQL Serverを扱うための拡張機能)を試してみました。
過去に一度断念したのですが、バージョンアップ(1.8.0)して機能もいくつか追加されていたので、改めて使ってみた内容についてまとめます。

インストール

EXTENSIONSCtrl + Shift + x)を開き、「mssql」を入力して表示されたSQL Server(mssql)installを選択します。再読み込みが必要ですが表示された場合は再読み込み実行後に機能が有効になります。
image.png

接続

コマンドパレット(Ctrl + Shift + P)に「sql」と入力して表示されたMS SQL: Connectを選択します。
image.png

言語モードをSQLにする必要がある旨の説明が表示されるので「Yes」を選択します。
image.png

言語モードの選択で「sql」を入力してSQLを選択します。既に言語モードをSQLでエディタを開いている場合はこの操作は不要です。
image.png

Create Connection Plofileを選択して接続情報を作成します。既に作成済のPlofileがある場合は選択することも可能です。
image.png

続けていくつか接続に必要な情報を指定します。

接続プロパティ 説明
Server name or ADO connection string サーバー名またはIPアドレスを指定
Database name データベース名を指定
Authentication Type 認証モードを選択
User name SQL Loginする場合のユーザー名
Password 5SQL Loginする場合のパスワード
Save Password パスワードを保存するか選択
Profile Name 接続プロファイル名を指定

下部のステータスバーに接続先の情報が表示されていれば成功です。
image.png

コマンドパレットでMS SQL: Disconnectを実行することで接続を解除出来ます。下部のステータスバーDisconnectedが表示されていれば接続が解除された状態です。
image.png

クエリ実行

エディタにクエリを記述して右クリック > クエリの実行Ctrl + Shift + E )でクエリを実行します。
image.png

RESULTS ウィンドウに取得したレコードが表示され、MESSAGES ウィンドウに結果が表示されます。
image.png

RESULTS ウィンドウ上で右クリックすると保存またはコピーする方法が選べます。
image.png

スニペット

エディタ上で「sql」と入力すれば標準で登録されているスニペットが表示されます。
image.png

以下はsqlInsertRowsのスニペットを選択した際の例ですが、Insert用のテンプレートが登録されており、テーブル名やカラム名を必要に応じて変更して使うことが出来ます。
image.png

ユーザー独自のスニペットも登録することが出来ます。ファイル > 基本設定 > ユーザースニペットを選択します。
image.png

表示された入力欄に「sql」と入力してsqlを選択します。
image.png

作成されたファイルに以下のように追記します。
image.png

以下のように登録したスニペットを使うことでクエリを簡単に記述することが出来ます。
cap1.gif

定義の参照

テーブル名の上で右クリック > 定義へ移動 or 定義をここに表示でテーブル定義を参照することが出来ます。
image.png

定義をここに表示Alt + F12)を押下すると以下のようにテーブル定義を参照することが出来ます。
image.png

その他コマンド

コマンドパレットで実行可能なコマンドです。

コマンド 説明
Getting Started Guide スタートガイドを開く
Connect サーバーに接続
Use Database DBを選択
Add Connection 接続先を追加
New Query 新しいエディタを開く
Cansel Query クエリのキャンセル
Execute Query クエリの実行
Disconnect サーバーとの接続を解除
Manage Connection Profiles 接続プロファイルの管理
Refresh IntelliSense Cache IntelliSenseのキャッシュを更新

あとがき

個人的にはSelectで取得したレコードをカラム名と一緒にコピーしたいことが多いので、この機能が追加されたことで今後は使う機会が増えそうです。
実行プランの表示やストアドプロシージャ周りの機能については今後に期待という感じですが、ちょっとした開発やデータ抽出であれば問題無く使えそうです。あとマルチプラットフォームで使えるところも良いですね。

明日は@sho-itoさんの記事です。お楽しみに!

41
32
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
41
32