LoginSignup
13
17

More than 5 years have passed since last update.

ExcelでSQLを効率的に作るメモ

Last updated at Posted at 2017-02-18

0.テンプレSQLを用意する

SQLメモ
CREATE TABLE IF NOT EXISTS W_OUT_CSV (   
 ID INT UNSIGNED AUTO_INCREMENT NOT NULL    ,
 PRIMARY KEY (ID)      
);         

1.新規作成したExcelのA1にテンプレSQLを貼り付ける

そしたらSQL全部が選択された状態になるのでそのまま「データ - 区切り位置」
imageimage

image

最低限のSQL配置ができたのであとは行追加なり列追加なりExcelの操作を駆使して
SQLをくみたてる
image

こんな感じね
image

これのなにがいいかっていうと
・項目名が、テーブル定義書からの '縦列入れ替えコピペ' で済むケースがある
・項目名などをオートフィル機能で連続して入力できる
・手直しするときも、矢印キーとかを駆使しなくてもピンポイントで修正できる
・一番これの効果が出るのは「項目名は同じだけどテーブル構造は違うどうしのテーブルへの移し替え系のUPDATE(更新)クエリ」だね

2.セルをコピーしてメモ帳で開く

SQLが書かれたセルをコピーしてメモ帳に貼り付けてみると、図の青いところのように、セルの仕切りは 'TAB' として貼り付けられる
image

3.置換

であるならば、その 'TAB' をコピーして '△'(1文字半角空白) へと置換してやればいい
image

SQLメモ
CREATE TABLE IF NOT EXISTS W_OUT_CSV (   
 ID INT UNSIGNED AUTO_INCREMENT NOT NULL    ,
 COL1 VARCHAR( 20 )   COMMENT 'お客様管理番号' ,
 COL2 TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT '送り状種類' ,
 COL3 TINYINT UNSIGNED  NOT NULL DEFAULT 0 COMMENT 'クール区分' ,
 COL4 VARCHAR( 12 )   COMMENT '伝票番号' ,
 COL5 VARCHAR( 10 ) NOT NULL  COMMENT '出荷予定日' ,
 COL6 VARCHAR( 10 ) NOT NULL DEFAULT '最短日' COMMENT 'お届け予定(指定)日' ,
 COL7 VARCHAR( 4 ) NOT NULL DEFAULT '0812' COMMENT '配達時間帯' ,
 
 
 
 PRIMARY KEY (ID)      
);         

世の中にはほかにどんなアプローチがあるんだろう

13
17
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
13
17