web-dev-qa-db-ja.com

列を並べ替える簡単な方法は?

私はデータベースに取り組んでいます。ほとんどのテーブルで、列の順序は私が期待するものではないので、変更したいと思います(私には許可があります)。たとえば、primary_keyのid列が最初の列になることはめったにありません。

PhpMyAdminで列を移動する簡単な方法はありますか?

27
Haroldo

ALTER TABLE ... MODIFY COLUMN ステートメントを使用します。

ALTER TABLE table_name MODIFY COLUMN misplaced_column INT(11) AFTER other_column;
54
Eran Galperin

これがSQLクエリです
ALTER TABLE table_name MODIFY COLUMN misplaced_column Column-definition AFTER other_column;ここでColumn-definitionは完全な列です定義。 phpmyadminを使用している場合に列の定義を表示するには、[構造]タブをクリックします。次に、目的の列の変更リンクをクリックします。次に、変更を加えて[保存]をクリックします。 SQLが表示されます。 SQLをコピーし、最後に* AFTER other_column *を追加します。それがすべてになります。

* misplaced_column *を最初の位置に移動したい場合は、ALTER TABLE table_name MODIFY COLUMN misplaced_column Column-definition FIRST;

6
zahid9i

PhpMyAdminについて言及しているので、最新バージョン(4.0以降)で列を並べ替える方法があります。

テーブルの[構造]ビューに移動し、適切なフィールドの[編集](または[変更])ボタンをクリックしてから、[列の移動]でフィールドの移動先を選択します。

5
DisgruntledGoat
ALTER TABLE `table`
CHANGE COLUMN `field` `field` 
INT(11) AFTER `field2`;
4
Alex Pliutau

PhpMyAdminバージョン3.5.5では、[参照]タブに移動し、列を希望の場所にドラッグして並べ替えます(たとえば、A、B、Cという名前の列がある場合は、列CをAとAの間でドラッグするだけです。 BをA、C、Bとして並べ替えます)。

2
Dee

別のアプローチは次のとおりです。

#CREATE TABLE original (
#    id INT
#    name TEXT
#    etc...
#);

CREATE TABLE temp (
    name TEXT
    id INT
    etc...
);

INSERT INTO temp SELECT name, id FROM original;

DROP TABLE original;

RENAME TABLE temp TO original;
1
Petah

新しいバージョンの簡単な方法:

  1. 再注文するテーブルを開きます。
  2. 構造タブに移動します。
  3. 列リンクの移動を選択しました。
  4. 必要に応じて列を並べ替えます。
0
Black Mamba

SQL Maestro for MySQLは、GUIを使用してフィールドを並べ替えるツールも提供していますが、残念ながらドラッグアンドドロップではありません。

  1. テーブルビューを開く
  2. [プロパティ]タブを開きます
  3. サイドバーから[フィールドの並べ替え]をクリックします
  4. 移動するフィールドをクリックしてから、上または下の緑色の矢印をクリックします
  5. [OK]をクリックして、データベースの更新を送信します

これを行うための他のプログラムやユーティリティもおそらくあります。検索でこのスレッドを見つけたので、見つけたものを他の人と共有したいと思いました。

0
amaster