# MySQL | 修改数据表结构


## 数据定义语言：字段约束

### 添加字段

![10](https://cdn.hashnode.com/res/hashnode/image/upload/v1653445740105/OzojAu2Ma8.jpeg)

```SQL
ALTER TABLE student
ADD address VARCHAR(200) NOT NULL,
ADD home_tel char(11) NOT NULL;
```

### 修改字段类型和约束

![11](https://cdn.hashnode.com/res/hashnode/image/upload/v1653445741232/kYrRvJGzwa.jpeg)

```SQL
ALTER TABLE student
MODIFY home_tel VARCHAR(20) NOT NULL;

DESC student;
```

### 修改字段名称

![12](https://cdn.hashnode.com/res/hashnode/image/upload/v1653445742351/19BE_F7eQ.jpeg)

```SQL
DESC student;

ALTER TABLE student
CHANGE address home_address VARCHAR(200) NOT NULL;
```

### 删除字段

![13](https://cdn.hashnode.com/res/hashnode/image/upload/v1653445743489/ETRa-Kg8cG.jpeg)

```SQL
DESC student;

ALTER TABLE student
DROP home_address,
DROP home_tel;
```

### 总结语句

```SQL
ALTER TABLE student # DDL 语句 没有操作数据类型
ADD address VARCHAR(200) NOT NULL,
ADD home_tel char(11) NOT NULL;

ALTER TABLE student # DDL 语句 没有操作数据类型
MODIFY home_tel VARCHAR(20) NOT NULL;

DESC student;

ALTER TABLE student # DDL 语句 没有操作数据类型
CHANGE address home_address VARCHAR(200) NOT NULL;

ALTER TABLE student # DDL 语句 没有操作数据类型
DROP home_address,
DROP home_tel;
```


