使用「CREATE TABLE」叙述建立表格以后,如果发现某个栏位或设定打错,或是在使用一阵子以后,发觉表格中有一些设定不太对。在这些情况下,你可以使用「ALTER TABLE」叙述来修改一个表格的结构:
你可以使用下列的修改定义增加一个本来没有的栏位:
如果你在增加栏位的时候,没有指定新增栏位的位置,MySQL会把这个栏位放在最后一个:
你可以搭配使用「FIRST」关键字,把新增的栏位放在第一个:
或是使用「AFTER」关键字,指定新增的栏位要放在哪一个栏位后面:
如果需要增加多个栏位的话,也可以使用下列的语法一次把需要新增的栏位,全部加到表格中;不过这种语法加入的新栏位,都会放在最后面的位置:
注:「ALTER TABLE」叙述也可以用来增加索引,在这一章后面索引的部份一起讨论。
如果需要修改栏位的名称、型态、大小范围或其它栏位属性,你可以使用下列两种修改定义来执行修改的工作。「CHANGE」可以修改栏位的名称与定义,「MODIFY」只能修改栏位的定义,不能修改栏位名称:
以下列使用「CHANGE」关键字修改表格的叙述来说,它将「one」栏位的名称修改为「changecolumn」,型态从「INT」修改为「BIGINT」,而且把修改后的栏位位置放在「two」栏位后面:
下列使用「MODIFY」关键字修改表格的叙述,它将「two」栏位的型态从「INT」修改为「BIGINT」,而且把修改后的栏位位置放在「three」栏位后面:
如果要删除一个表格中不需要的栏位,可以使用下列的修改定义:
下列格的叙述会删除「two」栏位:
如果需要修改表格的名称,你可以使用下列两种叙述,包含在「ALTER TABLE」叙述中使用修改表格名称的修改定义;或是使用「RENAME TABLE」叙述:
下列两个叙述都可以把「mytable」表格名称修改为「mynewtable」: