0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

エクセルを使用してMySQLのテーブル用に連番を作成する方法

Posted at

経緯

事情があって、既存レコードから取得したSQLを、数カラムだけ連番にしたりする必要があったところエクセルを使うと早いと先輩から聞いたのでそのやり方です。果たして、エクセルを使うのがいいかどうかは置いておいて、手打ちではない点でミスがないし、簡単だったので、数行で紹介できればと思います。

方法

  1. Mysqlからテーブル内のデータを表形式でコピーします
  • HeidiSQLであれば、 ①DBを開き目的のテーブルを選択した後に「データ」を選択 ②「ツール」から「グリッド行のエクスポート」を選択 ③「クリックボードへコピー」と、出力形式に「Excel CSV」にチェックを入れたあとにOKを押下すると、テーブルデータを表形式で簡単にコピーできます。
  1. コピーした表形式のテーブルデータをエクセルのシートに貼り付けます

  2. 貼り付けたら、下記のように挿入するSQL編集用のカラムを作ります。

  3. さらにSQLでUPDATE文を書きます。先頭はエクセルなので、= にし、文字列はエスケープ、文字列の結合は &で行います。

  4. 今回の例でいえば、B列で連番のIDにしたいため、 + にした状態のカーソルで下までドラッグし、連番にします。さらに作成したUPDATE文も同様にドラッグします。
    (ここでのWHERE文などの条件は、用途にあったものを各自置き換えて考えて下さい)

="UPDATE `テーブルの名前` SET `id`="&B2&" WHERE `order` = "&L2&";"
  1. 出来上がりは下記のような形です。これでいえば編集したA列全体をコピーし、手持ちのSQLクライアントの「クエリ」編集画面にコピーして実行します。(くれぐれもバックアップは忘れないように)
    image.png
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?