mysql 5.7 修改数据库表

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 修改数据表修改数据表是修改数据库中已经存在的数据表的结构。MySQL使用alter table 语句修改表。常用的修改表操作有:修改名,修改字段数据类型或字段名,增加和删除字段,修改字段的排列位置,更改表的存储引擎,删除表的外键约束。

修改数据表

修改数据表是修改数据库中已经存在的数据表的结构。MySQL使用alter table 语句修改表。常用的修改表操作有:修改名,修改字段数据类型或字段名,增加和删除字段,修改字段的排列位置,更改表的存储引擎,删除表的外键约束。

1,修改表名
mysql是通过alter table 语句来实现表名来修改的,具体语法如下:
其中to为可选参数,使用与否均不影响结果。
例:将数据库tb_lsl 改为tb_lwm 执行修改表名操作之前,使用show tables查看数据库中所以的表。

wKioL1nkUh6S0YwLAAAIgDdeJfU440.png-wh_50

使用alter table将表tb_lsl 修改为tb_lwm sql语句如下
alter table tb_lsl rename tb_lwm

wKiom1nkWU3goqMNAAANZUPAnls698.png-wh_50

例:将数据表tb_lwm中的name 字段的数据类型由varchar(22)修改成varchar(30)

wKioL1nkWdCwwGnyAAAO2d5--iM176.png

可以看到现在name字段的数据类型为varchar(22),下面修改成varchar(30)

alter table tb_lwm modify name varchar(30);
wKioL1nkWsOSEXeRAAAV9VevqH4869.png

修改字段名

mysql中修改字段名的语法规则如下:
alter table <表名> change <旧字段> <新字段名> <新数据库类型>


将数据表tb_lwm中localhost字段名称修改loc,数据类型保持不变,sql语句如下:
alter table tb_lwm change location loc varchar(50);
使用desc 查看tb_lwm 会发现字段的名称已经修改成功,结果如下:

wKiom1nkX2OgR1-GAAAWgc-5oVo689.png

例:将数据表tb_lwm中的loc字段名称改为location,同时将数据类型变为varchar(60),sql语句如下:
alter table tb_lwm change loc location varchar(60);
使用desc查看表tb_lwm,会发现字段名称和数据类型均已经修改成功,结果如下:

wKiom1nkYITRm10cAAANJZp3S8Y327.png

添加字段
随着业务需求的变化,可能需要在已经存在的表中添加新的字段。一个完整字段包括字段名,数据类型,完整性约束。添加字段的语法格式如下:
alter table <表名>  add <新字段名> <数据类型>
[约束条件] [FIRST] | AFTER 已存在字段名];

新字段名为需要添加字段的名称;“FIRST”为可选参数,其作用是将新添加的字段设置为表的第一段;after 为可选参数 其作用是将新添加的字段添加到指定de“已存在字段名”的后面。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6月前
|
存储 关系型数据库 MySQL
【Hello mysql】 数据库表操作
【Hello mysql】 数据库表操作
25 0
|
22天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
3月前
|
SQL 关系型数据库 MySQL
MySQL | 数据库的表的增删改查【进阶】【万字详解】(二)
MySQL | 数据库的表的增删改查【进阶】【万字详解】(二)
|
3月前
|
存储 关系型数据库 MySQL
MySQL | 数据库的表的增删改查【进阶】【万字详解】(一)
MySQL | 数据库的表的增删改查【进阶】【万字详解】(一)
|
8月前
|
SQL Java 关系型数据库
Java实现数据库表中的七种连接【Mysql】
Java实现数据库表中的七种连接【Mysql】
42 0
|
4月前
|
SQL 关系型数据库 MySQL
②【MySQL表操作】 数据库表的创建、查询、修改、删除
②【MySQL表操作】 数据库表的创建、查询、修改、删除
63 0
|
5月前
|
关系型数据库 MySQL 数据库
BQ云盘项目二 -- mysql数据库表的设计
BQ云盘项目二 -- mysql数据库表的设计
|
7月前
|
关系型数据库 MySQL 数据库
MySQL数据库表Id过大
MySQL数据库表Id过大
66 0
|
10月前
|
关系型数据库 MySQL Unix
关于mysql 数据库表名区分大小写导致程序错误解决方法
今天在调试一个开源框架的时候,程序可以正常运行,数据也可以正常加载,但当打开个别功能列表的时候,后台报错(com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jeewms.T_S_student' doesn't exist)找不到mysql的表,然后在数据库查看表的确是存在的啊,并且对比表名都是一样的,忽然想到之前的一个项目也遇到过这个问题。 参数缺省地在 Windows 中这个选项为 1 ,在 Unix 中为 0,所以问题出在linux上。经过配置修改重启后就ok了。希望对遇到这个问题的伙伴们有所帮助。
120 0
|
11月前
|
关系型数据库 MySQL 数据库
MySQL 8 默认的数据库表中的引擎都是InnoDB
看看mysql 8中使用非InnoDB引擎的表是