• ベストアンサー

「A列B列C列」 → 「A列C列B列」 に変更したい

連日ですみません…。 ご存知の方がいらしたら、よろしくお願いいたします。 「A列B列C列」 → 「A列C列B列」 のように、 すでに入っているデータは保持したまま変更したいのですが、 これは可能でしょうか?

  • MySQL
  • 回答数3
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • mooboogie
  • ベストアンサー率68% (28/41)
回答No.3

ALTER TABLE テーブル名 CHANGE COLUMN B列 B列 char AFTER C列  ※B列 B列は、旧カラム名 新カラム名の意味  ※charは、新カラムの型指定。これは必須のようです。旧と同じでよい。 か、 CREATE TABLE 新テーブル名 select A列,C列,B列 from 旧テーブル名 で、できます。 下のヤツは、PKなどインデックス類は自動付与されません。 スキーマとデータだけです。 ちなみにこの手の不明点は調べるのが簡単で、下記公式サイト(?)を辿れば答えが早いです。

参考URL:
http://dev.mysql.com/doc/refman/4.1/ja/alter-table.html
almati
質問者

お礼

ご回答ありがとうございます! 実は質問した際のテーブル列は、 時間の関係で変更できなかったのです。 でも今後の知識として教えていただいたSQLで テストしてみます!ありがとうございました!

その他の回答 (2)

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.2

列名の変更ですか? http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html#doc1_id628 http://dev.mysql.com/doc/refman/4.1/ja/alter-table.html 取り出すときに変更するだけならSELECT文を書き換えるだけで select A列,C列,B列 from ~

almati
質問者

お礼

ありがとうございました!

almati
質問者

補足

>列名の変更ですか? >取り出すときに変更するだけなら ・・・・・ いえ、取り出して見るときではなく、 実際のテーブルのフィールドを、 ごそっと入れ替える、といったかんじです。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

MySQLのバージョンくらい書きましょう。バージョンによってできることと できないことがあります。 4.0.1 以降では、CHANGEやMODIFYでAFTERキーワードが使用できます。 http://dev.mysql.com/doc/refman/4.1/ja/alter-table.html

almati
質問者

お礼

ありがとうございました。 拝見して、 ALTER TABLE 'table名' ALTER COLUMN 'B列' AFTER 'C列'; こんな感じでやってみましたが、いまいち…。 もうちょとがんばってみます!

almati
質問者

補足

申し訳ないです。 バージョンは、"4.0.14"です。 URL拝見してみます。

関連するQ&A

  • A列のデータの重複を取り除いてC列に表示。ただし、B列に存在するデータはC列に表示させない

    お世話になります。 Excel2000を使っています。 A列のデータがA1,A2,...の順に 1 2 3 2 3 4 B列のデータがB1,B2,...の順に 2 4 6 8 だとします。 まず、A列のうち重複するデータは1つとみなして 1 2 3 4 とし(順番はどうでもいいです)、 さらにB列に含まれる2,4,6,8を取り除いた 1 3 をC列に表示させたいです。C列の順番はどうでもいいです。 どうすればできるでしょうか?ご教示ください。よろしくお願いします。

  • エクセルでA列B列C列の重複するレコードのみを表示

    エクセルのA列とB列とC列で重複するレコードのみを抽出して別の列に表示させたい。 エクセルのA列とB列とC列にそれぞれ1000行くらいのデータがあります。 それぞれの列内には重複レコードがあります。 この条件の中で 「A列とB列とC列に重複するデータすべて」 を抽出したいのですが、どんな方法がありますか。 抽出されたデータで重複レコードの場合は1件のみで表示したいです。 よろしくお願いします。 例   A   B   C   抽出  1-001-002--002--002 2-002-002--005--007 3-003-007--007--008 4-007-008--008--011 5-008-008--010 6-008-010--011 7-011-011--012 8-013-014--013

  • A列にあってB列にはない単語をC列に残したいです。

    エクセルで、「A列とB列にそれぞれ単語がたくさん入力されています。A列にはあるが、B列にはない単語を抽出して、C列に残す」ということをやりたいのですが、どなたか関数を教えていただけないでしょうか? すみませんが、エクセルの関数を教えていただけないでしょうか。 単語のリストが2つあります。 A列に、片方のリストを入れ、B列にもう片方のリストを入力してあります。 ■やりたいこと 1: 2つのリストには重複している単語があるため、重複している単語は削除して、A列だけに存在する単語をC列に入れたいと思っています。 ■やりたいこと 2: 最終的には、C列には、空のセルを作らず、上のほうの行に詰めた形に整えたいと思っております。 以上の2つについて、どちらかだけでもやり方を教えていただければ、大変助かります。 どうぞよろしくお願いします。

  • エクセルで、A列に「20081020」が入っており、B列に「20081

    エクセルで、A列に「20081020」が入っており、B列に「20081030」、C列に「20090102」 と数値が入っているとします。 お分かりの通り、日付がスラッシュ無しで入っているのですが、A列に対してB,C列のような日付が何日後、もしくは何ヶ月、何日後のデータなのかわかるようにしたいです。 関数でありますでしょうか? 上記の例であればB列は10日後、C列は64日後と表示されるようにしたいです。 (数字だけでも構いません) 教えていただければ幸いです。 何卒よろしくお願いします。

  • EXCEL初心者です。Book1のA列とB列、Bo

    EXCEL初心者です。 Book1のA列とB列、Book2のA列とB列を比較して同じデータの場合、 Book1のC列の数値をBook2のC列にコピーしたいです。 数式や関数などをご存知の方、教えて下さい。

  • Excelでの列比較(A列とB列の組合せ、C列とD列の組合せ)

    はじめまして、Excel初心者です。 現在あるデータを整理しているのですが、文字列の比較について 教えください。 ExcelでA列とB列のデータの組合せと、C列とD列のデータの組合せを 比較したいのですが、どのように行うのがベストでしょうか? Match関数やcountifなどを試しましたが、うまくできませんでした。 ※データ例 | A列 | B列 | C列 | D列 | AAAA BBBB AAAA DDDD

  • A列にあったものには1、C列にあったものには2

    シート1の内容をVBAをつかってシート2のようにしたいです。 つまり、シート1の2行目以降のデータをシート2のB列につなげて、 A列には シート1の1行目に記載している番号をふっていきます。 もともとA列にあったものには1、C列にあったものには2、E列にあったものには3と振りたいのですが、どのようにマクロを書けばいいでしょうか? [Sheet1]   A  B  C  D  E 1 1  2  3 2 aa aaa aaaa 3 bb bbb bbbb 4 cc cccc 5  dddd ----------------------------- [Sheet2] A B 1 1 aa 2 1 bb 3 1 cc 4 2 aaa 5 2 bbb 6 3 aaaa 7 3 bbbb 8 3 cccc 9 3 dddd

  • エクセルのA列で同じデータがあった場合、C列にB列のデータを合体して表示

    エクセルのA列で同じデータがあった場合、C列にB列のデータを合体して表示、…というと説明不足ですが、要は以下のような感じです。 A    B あああ a あああ b いいい c ううう d えええ e いいい f このときC列には A    C あああ ab あああ ab いいい cf ううう d えええ e いいい cf となるようにしたいです。 ご教授ください。

  • エクセルでA列-B列=C列 の抽出方法について

    エクセルの初歩的な質問になってしまうかもしれませんが A列の値からB列の値で重複する値を削除して C列を作る方法を教えてください。 A列 a b c d B列 c d から 結果 C列 a b のような結果が得られる処理方法を お願い致します。

  • EXCELでA列とB列の文字が合わせてC列に入るやり方を教えて欲しいで

    EXCELでA列とB列の文字が合わせてC列に入るやり方を教えて欲しいです。 例 A1セルは04+  B1セルは2000 C列に04+ 2000のように作りたいです(真ん中に1個スペース)。 セルが多すぎて、一個ずつやるのは大変時間かかりますので、関数のやり方をご教示ください。 よろしくお願いします。