在MariaDB中修改表

・3 分钟阅读

向现有的MariaDB表中添加列,可以使用ALTER TABLE语句,


ALTER TABLE clients 
ADD COLUMN status CHAR(2);



这将添加列status到末尾,如果新列位于address列之后,它看起来更整洁。


ALTER TABLE clients 
ADD COLUMN address2 varchar(25) 
AFTER address;



顺便说一下,要向第一个位置添加一个列,可以像这样替换上面的SQL语句的最后一行:


...
FIRST;



目前为止表的结构:


DESCRIBE clients;

+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| cust_id | int(11) | | PRI | 0 | |
| name | varchar(25) | YES | | NULL | |
| address | varchar(25) | YES | | NULL | |
| address2 | varchar(25) | YES | | NULL | |
| city | varchar(25) | YES | | NULL | |
| state | char(2) | YES | | NULL | |
| zip | varchar(10) | YES | | NULL | |
| client_type | varchar(4) | YES | | NULL | |
| status | char(2) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+



输入以下SQL语句:


ALTER TABLE clients 
CHANGE status status enum('AC','IA');



注意,列名status被指定两次,


ALTER TABLE clients
CHANGE status active ENUM('AC','IA');



使用CHANGE子句,必须声明所有内容。

列地址被重命名为address,并更改为四十个字符宽度,看看如何对包含数据的表进行修改:


ALTER TABLE clients
CHANGE address address1 varchar(40),
MODIFY active enum('yes','no','AC','IA');

UPDATE clients
SET active = 'yes'
WHERE active = 'AC';

UPDATE clients
SET active = 'no'
WHERE active = 'IA';

ALTER TABLE clients
MODIFY active enum('yes','no');



Huangzhongbang profile image