mysql変更テーブル
2607 ワード
テーブルの構造は次のとおりです.
列を削除:
列を追加:
列を変更し、numberをbigintに変更します.
またはnumberをidに変更し、bigintのタイプを指定します.
プライマリ・キーの追加:
プライマリ・キーの削除:
ユニークなインデックスを追加するには、次の手順に従います.
nameという列に一意のインデックスが作成され、インデックスの名前はname_unique_index.
通常のインデックスを追加するには、次の手順に従います.
索引の削除:
ユニークでないインデックスの無効化
ALTER TABLE...DISABLE KEYSはMySQLにMyISAMテーブルのユニークでないインデックスの更新を停止させます.
ユニークでないインデックスのアクティブ化
ALTER TABLE ... ENABLE KEYSが失われたインデックスを再作成します.
テーブルのデフォルトの文字セットとすべての文字列(CHAR,VARCHR,TEXT)を新しい文字セットに変更します.
テーブルの列のエンコーディングを変更する
1つのテーブルのデフォルト文字セットのみを変更
テーブル名の変更
テーブルを別のデータベースに移動
mysql> show create table person;
| person | CREATE TABLE `person` (
`number` int(11) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`birthday` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
列を削除:
ALTER TABLE person DROP COLUMN birthday;
列を追加:
ALTER TABLE person ADD COLUMN birthday datetime;
列を変更し、numberをbigintに変更します.
ALTER TABLE person MODIFY number BIGINT NOT NULL;
またはnumberをidに変更し、bigintのタイプを指定します.
ALTER TABLE person CHANGE number id BIGINT;
プライマリ・キーの追加:
ALTER TABLE person ADD PRIMARY KEY (id);
プライマリ・キーの削除:
ALTER TABLE person DROP PRIMARY KEY;
ユニークなインデックスを追加するには、次の手順に従います.
ALTER TABLE person ADD UNIQUE name_unique_index (`name`);
nameという列に一意のインデックスが作成され、インデックスの名前はname_unique_index.
通常のインデックスを追加するには、次の手順に従います.
ALTER TABLE person ADD INDEX birthday_index (`birthday`);
索引の削除:
ALTER TABLE person DROP INDEX birthday_index;
ALTER TABLE person DROP INDEX name_unique_index;
ユニークでないインデックスの無効化
ALTER TABLE person DISABLE KEYS;
ALTER TABLE...DISABLE KEYSはMySQLにMyISAMテーブルのユニークでないインデックスの更新を停止させます.
ユニークでないインデックスのアクティブ化
ALTER TABLE person ENABLE KEYS;
ALTER TABLE ... ENABLE KEYSが失われたインデックスを再作成します.
テーブルのデフォルトの文字セットとすべての文字列(CHAR,VARCHR,TEXT)を新しい文字セットに変更します.
ALTER TABLE person CONVERT TO CHARACTER SET utf8;
テーブルの列のエンコーディングを変更する
ALTER TABLE person CHANGE name name varchar(255) CHARACTER SET utf8;
1つのテーブルのデフォルト文字セットのみを変更
ALTER TABLE person DEFAULT CHARACTER SET utf8;
テーブル名の変更
RENAME TABLE person TO person_other;
テーブルを別のデータベースに移動
RENAME TABLE current_db.tbl_name TO other_db.tbl_name;