# 修改表结构

URL: https://caijiao.org/mariadb/table/alter
Source: docs/mariadb/table/alter.md
Description: 本节介绍如何修改 MariaDB 中已存在的数据表结构，包括添加、修改、删除字段及更改字段类型或约束的语法和示例。

MariaDB 使用 `ALTER TABLE` 语句对已有表进行结构调整。

## 1. 添加字段

```sql
ALTER TABLE table_name
ADD column_name datatype [constraints];
````

示例：为 `users` 表添加 `age` 字段：

```sql
ALTER TABLE users
ADD age INT;
```

## 2. 修改字段类型或名称

```sql
ALTER TABLE table_name
MODIFY COLUMN column_name new_datatype [constraints];
```

或

```sql
ALTER TABLE table_name
CHANGE COLUMN old_name new_name new_datatype [constraints];
```

示例：将 `age` 字段改为 `SMALLINT` 类型：

```sql
ALTER TABLE users
MODIFY COLUMN age SMALLINT;
```

将 `age` 改名为 `user_age` 并改类型：

```sql
ALTER TABLE users
CHANGE COLUMN age user_age SMALLINT;
```

## 3. 删除字段

```sql
ALTER TABLE table_name
DROP COLUMN column_name;
```

示例：删除 `user_age` 字段：

```sql
ALTER TABLE users
DROP COLUMN user_age;
```

## 4. 添加或删除主键

添加主键：

```sql
ALTER TABLE table_name
ADD PRIMARY KEY (column_name);
```

删除主键：

```sql
ALTER TABLE table_name
DROP PRIMARY KEY;
```

---

通过灵活修改表结构，可以应对业务需求变化，保持数据库设计的合理性和灵活性。
