ALTER TABLE tbl_name ADD COLUMN new_col VARCHAR(10);
MySQL の場合は、FIRST
キーワードあるいは、AFTER
キーワードを使用することで、任意の位置にカラムを追加することができます。
ALTER TABLE tbl_name ADD COLUMN new_col VARCHAR(10) FIRST;
ALTER TABLE tbl_name ADD COLUMN new_col VARCHAR(10) AFTER col1;
MySQL 以外の場合は、新規カラムの追加位置を指定できません。 以下のようにテーブルを作り直して、レコードを全てコピーする必要があります。
BEGIN TRANSACTION;
-- 既存のテーブルをリネーム
ALTER TABLE tbl_name RENAME TO tbl_temp;
-- 新しいテーブルを作成(元のテーブル名と同じ名前で)
CREATE TABLE tbl_name(col1 TEXT, col_new TEXT DEFAULT '', col2 TEXT);
-- レコードを全て移す
INSERT INTO tbl_name(col1, col2) SELECT col1, col2 FROM tbl_temp;
-- 元のテーブルを削除
DROP TABLE tbl_temp;
COMMIT;