経緯
事情があって、既存レコードから取得したSQLを、数カラムだけ連番にしたりする必要があったところエクセルを使うと早いと先輩から聞いたのでそのやり方です。果たして、エクセルを使うのがいいかどうかは置いておいて、手打ちではない点でミスがないし、簡単だったので、数行で紹介できればと思います。
方法
- Mysqlからテーブル内のデータを表形式でコピーします
- HeidiSQLであれば、 ①DBを開き目的のテーブルを選択した後に「データ」を選択 ②「ツール」から「グリッド行のエクスポート」を選択 ③「クリックボードへコピー」と、出力形式に「Excel CSV」にチェックを入れたあとにOKを押下すると、テーブルデータを表形式で簡単にコピーできます。
-
コピーした表形式のテーブルデータをエクセルのシートに貼り付けます
-
貼り付けたら、下記のように挿入するSQL編集用のカラムを作ります。
-
さらにSQLでUPDATE文を書きます。先頭はエクセルなので、
=
にし、文字列はエスケープ、文字列の結合は&
で行います。 -
今回の例でいえば、B列で連番のIDにしたいため、
+
にした状態のカーソルで下までドラッグし、連番にします。さらに作成したUPDATE文も同様にドラッグします。
(ここでのWHERE文などの条件は、用途にあったものを各自置き換えて考えて下さい)
="UPDATE `テーブルの名前` SET `id`="&B2&" WHERE `order` = "&L2&";"