ALTER TABLE my_table
ADD COLUMN contact_id INT NOT NULL AUTO_INCREMENT FIRST,
ADD PRIMARY KEY (contact_id);
將舊有的某欄位 改成primary key 來用,且將原本欄位名稱 name 改成 contact_id
ALTER TABLE my_table
CHANGE COLUMN name contact_id INT NOT NULL AUTO_INCREMENT FIRST,
ADD PRIMARY KEY (contact_id);
改table name
ALTER TABLE oldname RENAME TO new_table_name;
改變某一欄位的名稱 和資料型別
ALTER TABLE my_table
CHANGE COLUMU oldname new_name VARCHAR(100);
如果要連續改很多欄位 只要用, 接著就可以。
ALTER TABLE my_table
CHANGE COLUMU oldname new_name VARCHAR(100),
CHANGE COLUMU oldnameb new_nameb VARCHAR(30),
CHANGE COLUMU oldnamec new_namec VARCHAR(100);
NOTE: 如果資料型別改小,原本資料會被截斷。 varchar 100 -> 10 , 則裡面的string 可能會被截斷。造成資料遺失。
只想改動資料型別。不想換名稱時。
ALTER TABLE my_table
MODIFY COLUMN old)name VARCHAR(100);
想刪除某欄位
ALTER TABLE my_table
DROP COLUMN xxxx;
移除主鍵 primary key
ALTER TABLE your_table DROP PRIMARY KEY;
設定某欄為AUTO_INCREMENT
ALTER TABLE your_table CHANGE your_id your_id INT(11) NOT NULL AUTO_INCREMENT;
反之,刪除某欄的AUTO_INCREMENT
ALTER TABLE your_table CHANGE your_od your_id INT(11) NOT NULL;
*一個table 只能有一欄可以加上AUTO_INCREMENT,且為整數型別,不含NULL.
#######ALTER 小結
ALTER TABLE
以保持現有資料表內容為前提,修改資料表名稱或整體結構
ALTER ADD
把資料欄安插到表中指定的順序
ALTER DROP
從資料表中刪除資料欄
ALTER CHANGE
同時修改現有資料欄位名稱與型別
ALTER MODIFY
只修改型別
沒有留言:
張貼留言