mysql | 数据表中列(字段)的添加、修改和删除

前言

在 mysql 中,表中的列通常被称为‌字段‌,代表特定类型的数据(如整数、字符串等)。‌

字段是表的基本组成部分,每个字段具有唯一名称、数据类型以及可选约束(如主键、非空等)。‌

mysql 表中常用对列(字段)的操作有:

1、添加新列(字段)

2、修改列(字段)的名称、数据类型

3、删除列(字段)

一、添加新列(字段)

**语法:**alter table 表名 add column 列名 类型 [列约束];

现有一张 test 表,仅有一列(一个字段)a,数据类型为 int,如下图:

添加新列(字段):

1、添加一列数据类型为 int 的 b 列

alter table test add column b int;

2、添加一列数据类型为 char 的 c 列

alter table test add column c char;

3、添加一列数据类型为 varchar 的 d 列

alter table test add column d varchar;

运行后结果如下图:

以上结果,发现问题:

数据类型为 int、char 的 b 列和 c 列均添加成功,而数据类型为 varchar 的 d 列添加失败。

出现问题原因:

1、int(n),无论 n 是多少,int 永远占4个字节,n 只是表示显示的宽度,是可以省略的。

2、char(n),定长字符串,当 n 省略时,默认为 n=1。

3、varchar(n),变长字符串,n 不可以省略,省略时就会报错。

解决办法:给 varchar(n) 的 n 赋一个值即可,如下图。

特别注意:如果在添加 mysql 其他数据类型的列时报错,且检查了语法和拼写确实没问题时,这可能也是一种报错解决思路,可能是数据类型的参数不可省略。

二、修改列(字段)

修改列(字段)有以下两种方式,以上面第一章 test 表中数据作为以下示例。

一是:modify,只能修改列(字段)的数据类型。

二是:change,可以修改列(字段)的名称以及数据类型。

(一)modify---数据类型

语法:alter table 表名 modify column 列名 新类型 [约束];

**示例:**把 b 列 int 数据类型修改为 char

alter table test modify column b char;

(二)change---名称或数据类型

语法:alter table 表名 change column 列名 新列名 新类型 [约束];

**示例:**把 c 列 char 数据类型改为 int

正确写法:alter table test change column c c int;

特别注意:使用 change 时,新列名(字段名)是不可以省略的,必须要有,如果不想修改原来列(字段)的名称,可以把新列名(新字段名)命名和原列名(原字段名)保持一致,如上例。

(三)两者的区别

以上两种方法都可以实现列(字段)的修改。不同的是:

change 不仅可以修改数据类型,还可以修改名称,且新名称不可以省略;

modify 只能修改数据类型,不可以修改名称。

三、删除列(字段)

语法:alter table 表名 drop column 列名;

**实例:**以上面第二章中的 test 表为以下示例,删除 c 列(字段 c)。

命令:alter table test drop c;

以上就是 mysql 添加、修改、删除列(字段)的方法,可供参考。

-end-

相关推荐
大锦终2 小时前
【MySQL】视图+用户管理
数据库·mysql
水坚石青2 小时前
Java+Swing+Mysql实现物业管理系统
java·开发语言·数据库·mysql·swing
GanGuaGua2 小时前
MySQL:内置函数
数据库·mysql·oracle
一位代码2 小时前
mysql | limit 用法详解及注意事项
数据库·mysql
Li_7695322 小时前
Redis —— (四)
数据库·redis
星哥说事3 小时前
告警通知方式:邮件、短信、Slack、钉钉等告警通知方式的配置
数据库·钉钉
张人玉3 小时前
c#常用的类
服务器·数据库·c#
IT 行者3 小时前
Spring Security 7.0 迁移指南
java·数据库·spring
無量3 小时前
MySQL架构原理与执行流程
后端·mysql