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-

相关推荐
Quincy_Freak2 分钟前
银河麒麟 SQLite 实操:Excel 导入与 SQL 语法编辑功能详解摘要
数据库·arm·数据库管理·大数据分析·银河麒麟·aarch64·sqlitego
万亿少女的梦1689 分钟前
基于Node.js和Express的旅游信息管理平台设计与开发
mysql·node.js·express·系统设计·旅游信息管理
Dovis(誓平步青云)16 分钟前
《C/C+++ Boost 轻量级搜索引擎实战:架构流程、技术栈与工程落地指南——HTML文件的清洗(上篇)》
开发语言·数据库·c++·搜索引擎·开源
蚁库2 小时前
Oracle 12c + ASM + UDEV 实战教程:从磁盘规划到日常管理,10节视频完整通关
数据库·oracle
云和恩墨11 小时前
数据库一体机简史:从ODA到zData X,命名之中的玄机
数据库·vr
万亿少女的梦16811 小时前
基于Python的高考志愿填报辅助系统设计与实现
java·spring boot·python·mysql·vue
万亿少女的梦16811 小时前
基于SpringBoot与Vue的历史博物馆展品展示与游客管理系统设计
spring boot·mysql·vue·系统设计·博物馆管理系统
数据库小学妹12 小时前
KES是什么?国产数据库技术架构、核心能力与选型实战解析
数据库·经验分享·架构·国产数据库·数据库选型·信创数据库
Database_Cool_13 小时前
向量检索加速首选:阿里云 Tair 内置向量能力毫秒级召回
数据库·阿里云
强健的石头13 小时前
django文件对象是什么?
数据库·django·sqlite