mysql 给表添加/修改/删除字段

本文详细介绍了如何使用SQL语句进行表级别的操作,包括添加、修改及删除字段的方法,并提供了实际例子来展示如何向表中添加字段、指定字段位置及添加注释等内容。

对表级别的操作是使用语句:alter table table_name ...

给表添加字段:alter table 表名add column 字段名 类型;

给表修改字段:alter table 表名modify column 字段名 类型;

给表删除字段:alter table 表名drop column字段名;


如果添加/修改字段时需要添加注释,请使用:

alter table 表名 add/modify column 字段名 类型 comment '注释内容';

如果添加时需要指定列添加到的位置,请使用:

alter table 表名 add/modify column 字段名 类型 after 字段名2;  -- 新加的字段将会添加在字段2的后面


例:先创建用户表:

CREATE TABLE `user` (
  `user_id` int(8) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `user_sn` varchar(32) NOT NULL COMMENT '用户编号',
  `user_name` varchar(64) DEFAULT '' not null COMMENT '用户名称',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';

1. 向user添加用户手机号字段(默认添加到表的最后一个字段之后):

alter table user add column `mobile` varchar(13) DEFAULT '' NOT NULL COMMENT '用户手机号';



2. 在user表的user_name字段之后添加用户性别字段

alter table user add column sex TINYINT(1) DEFAULT 1 COMMENT '用户性别,0:女性 1:男性' after user_name;



3. 删除用户名称字段:

alter table user drop column user_name;



### 添加字段的SQL语句 在MySQL数据库中,向现有添加字段可以使用`ALTER TABLE`语句。以下是具体的语法格式: ```sql ALTER TABLE table_name ADD COLUMN column_name datatype(size) NULL DEFAULT NULL COMMENT 'comment' AFTER existing_column; ``` - `table_name`:需要添加字段名。 - `column_name`:要添加的新字段名。 - `datatype(size)`:字段的数据类型及其大小,例如`VARCHAR(100)`、`INT`等。 - `NULL`:指定该字段是否允许为`NULL`。 - `DEFAULT NULL`:设置字段的默认值,这里设为`NULL`。 - `COMMENT 'comment'`:为字段添加注释。 - `AFTER existing_column`:指定新字段插入到哪个已有字段之后,如果不指定,则默认添加的末尾。 #### 示例 假设有一个名为`xyd_case_info`的,并希望向其中添加几个新的字段: 1. **添加`deleted`字段**: ```sql ALTER TABLE xyd_case_info ADD COLUMN `deleted` TINYINT(1) NULL DEFAULT NULL COMMENT '0,正常,1删除'; ``` 2. **添加`create_by`字段**: ```sql ALTER TABLE xyd_case_info ADD COLUMN `create_by` VARCHAR(50) NULL DEFAULT NULL COMMENT '创建人' COLLATE 'utf8mb4_general_ci'; ``` 3. **添加`create_time`字段**: ```sql ALTER TABLE xyd_case_info ADD COLUMN `create_time` DATETIME NULL DEFAULT NULL COMMENT '创建时间'; ``` 4. **添加`update_by`字段**: ```sql ALTER TABLE xyd_case_info ADD COLUMN `update_by` VARCHAR(50) NULL DEFAULT NULL COMMENT '更新人' COLLATE 'utf8mb4_general_ci'; ``` 5. **添加`update_time`字段**: ```sql ALTER TABLE xyd_case_info ADD COLUMN `update_time` DATETIME NULL DEFAULT NULL COMMENT '更新时间'; ``` 这些示例展示了如何通过`ALTER TABLE`语句向添加具有不同数据类型和注释的新字段[^3]。 #### 注意事项 - 如果希望新字段出现在特定位置(如某个已有字段之后),可以使用`AFTER existing_column`子句。 - 如果未指定`AFTER`,则新字段将被添加的末尾。 - 可以通过`COLLATE`关键字指定字符集排序规则,例如`utf8mb4_general_ci`。 - 字段的默认值可以通过`DEFAULT`关键字进行设置,例如`DEFAULT NULL`或`DEFAULT 0`。 ### 修改字段的SQL语句 如果需要修改已存在的字段(包括字段名称、数据类型、注释等),也可以使用`ALTER TABLE`语句。以下是修改字段的基本语法: ```sql ALTER TABLE table_name CHANGE old_column_name new_column_name datatype(size) NULL DEFAULT NULL COMMENT 'new_comment'; ``` - `old_column_name`:原字段名。 - `new_column_name`:新字段名。 - 其他参数与添加字段时的含义相同。 #### 示例 假设需要将`param2`字段修改为`engineer_user_id`,并为其添加注释: ```sql ALTER TABLE t_private_cloud_park CHANGE param2 engineer_user_id varchar(50) comment '工程商UserId'; ``` 此语句会将`t_private_cloud_park`中的`param2`字段重命名为`engineer_user_id`,同时将其数据类型更改为`varchar(50)`,并添加注释“工程商UserId”[^2]。 ### 查看字段注释 为了查看及其字段的注释信息,可以查询`INFORMATION_SCHEMA.COLUMNS`和`INFORMATION_SCHEMA.TABLES`。以下是一个常用的查询语句: ```sql SELECT table_name AS 名, table_comment AS 注释 FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'testhuicard'; -- 替换为实际数据库名 ``` 此外,还可以通过以下语句查看字段及其注释: ```sql SELECT column_name AS 字段名, column_comment AS 字段注释 FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema = 'testhuicard' AND table_name = 'your_table_name'; -- 替换为实际数据库名和名 ``` 这些查询可以帮助快速了解数据库中字段的结构及注释信息[^1]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值