DDL 修改表结构

  • Post author:
  • Post category:其他


添加字段名与数据类型:

alter table 表名 add 字段名  类型(长度) [comment 注释] — 方括号中的内容可以选和不选;

mysql> alter table abc add address varchar(20);

Query OK, 0 rows affected (0.03 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> desc abc;

+———–+————-+——+—–+———+——-+

| Field     | Type        | Null | Key | Default | Extra |

+———–+————-+——+—–+———+——-+

| id        | int         | YES  |     | NULL    |       |

| name      | varchar(20) | YES  |     | NULL    |       |

| age       | tinyint     | YES  |     | NULL    |       |

| entrydate | date        | YES  |     | NULL    |       |

| address   | varchar(20) | YES  |     | NULL    |       |

+———–+————-+——+—–+———+——-+

5 rows in set (0.00 sec)


修改数据类型:

alter table 表名 modify 字段名 新数据类型(长度);

mysql> alter table abc modify address varchar(10);

Query OK, 0 rows affected (0.06 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> desc abc;

+———–+————-+——+—–+———+——-+

| Field     | Type        | Null | Key | Default | Extra |

+———–+————-+——+—–+———+——-+

| id        | int         | YES  |     | NULL    |       |

| name      | varchar(20) | YES  |     | NULL    |       |

| age       | tinyint     | YES  |     | NULL    |       |

| entrydate | date        | YES  |     | NULL    |       |

| address   | varchar(10) | YES  |     | NULL    |       |

+———–+————-+——+—–+———+——-+

5 rows in set (0.00 sec)

修改字段名和字段类型:

alter table 表名 change 旧字段名 新字段名 类型(长度);

mysql> alter table abc change address gender char(1);

Query OK, 0 rows affected (0.07 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> desc abc;

+———–+————-+——+—–+———+——-+

| Field     | Type        | Null | Key | Default | Extra |

+———–+————-+——+—–+———+——-+

| id        | int         | YES  |     | NULL    |       |

| name      | varchar(20) | YES  |     | NULL    |       |

| age       | tinyint     | YES  |     | NULL    |       |

| entrydate | date        | YES  |     | NULL    |       |

| gender    | char(1)     | YES  |     | NULL    |       |

+———–+————-+——+—–+———+——-+

5 rows in set (0.00 sec)

删除字段:

alter table 表名 drop 字段名;

mysql> alter table abc drop gender;

Query OK, 0 rows affected (0.05 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> desc abc;

+———–+————-+——+—–+———+——-+

| Field     | Type        | Null | Key | Default | Extra |

+———–+————-+——+—–+———+——-+

| id        | int         | YES  |     | NULL    |       |

| name      | varchar(20) | YES  |     | NULL    |       |

| age       | tinyint     | YES  |     | NULL    |       |

| entrydate | date        | YES  |     | NULL    |       |

+———–+————-+——+—–+———+——-+

4 rows in set (0.00 sec)

修改表名:

alter table 表名 rename to 新表名;

mysql> alter table abc rename to em;

Query OK, 0 rows affected (0.02 sec)

mysql> show tables;

+—————+

| Tables_in_aaa |

+—————+

| dept          |

| em            |

| emp           |

| salgrade      |

| sysion        |

+—————+

5 rows in set (0.00 sec)

删除表:

drop table [if exists — 存在] 表名;

mysql> drop table em;

Query OK, 0 rows affected (0.02 sec)



版权声明:本文为weixin_46480990原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。