FM牛鍵屋本舗

プログラマ(弱)の日々精進系ブログ

SQLServerをコマンドラインで使うよ!!

SQLServerコマンドラインで使うよ!!

※ 環境はWindowsです

単体テストしてて、DBダンプのエビデンスをA5M2で取得していたんですが、
SQL発行するの面倒くさい!!
貼り付けるの面倒くさい!!

コマンドラインでいい感じに出来ないかなーと調べてみたら
sqlcmdというCLIツールが用意されていました。

また、clipというコマンドでクリップボードコピーが。

おお、スクリプト作れるじゃない。

USE hoge;
SET NOCOUNT ON
GO

SELECT '○○テーブル';
SELECT '', 'カラム名1'...;
SELECT '', * FROM table_name;

GO
sqlcmd -S 127.0.0.1 -U user_name -P password -h -1 -W -s "<TAB>" -i sqlファイル | clip
-S 対象サーバー
-U ユーザー名
-P パスワード
-W 余計なホワイトスペースなし
-h -1するとヘッダが削除できる
-i 読み込むSQLファイル
-s セパレータ。TABはタブ文字をダブルクォートで囲む

オプションの詳細はhttps://docs.microsoft.com/ja-jp/previous-versions/sql/sql-server-2008-r2/ms162773(v=sql.105)あたりに書いてあります。