MySQL中ALTER ,CHANGE , MODIFY

将表格修改为下面第二个表格形式。


image.png
image.png

用一条ALTER语句实现。

ALTER TABLE hooptie
RENAME TO car_table,
ADD COLUMN car_id INT NOT NULL AUTO_INCREMENT FIRST,
ADD PRIMARY KEY(car_id),
ADD COLUMN VIN VARCHAR(16)AFTER car_id,
CHANGE COLUMN mo model VARCHAR(20),
MODIFY COLUMN color AFTER model,
MODIFY COLUMN year SIXTH,
CHANGE COLUMN howmuch price DECIMAL(7,2);

CHANGE:如果我们不只是修改单一列,而是用一条语句改变两个列,我们需要修改列的名称,同时更改他们的数据类型,这时就需要我们用到关键字CHANGE,可以在一条语句中放入多个CHANGE,在中间加上分隔的逗号即可。
比如原来的表两列,类型为VARCHAR(50),和VARCHAR(10),现在不止要更改列名,还要更改这两列的类型。

image.png

程序如下:

ALTER TABLE project_list
CHANGE COLUMN descriptionofproj proj_desc VARCHAR(100),
CHANGE COLUMN contractoronjob con_name VARCHAR(30);

MODIFY:使用它可以只修改列的类型而不会干涉它的名称,假设要把proj_desc列的字符长度修改为VARCHAR(120)以容纳更多的说明文字,只要这么做就可以。

ALTER TABLE project_list
MODIFY COLUMN proj_desc VACHAR(120);

#proj_desc是要修改的列名,VARCHAR(120)是新的数据类型。

总结如下;
(1)既更改列名也更改类型,用CHANGE
(2)只修改类型,用MODIFY,但这种方法比较慢,我们用另一种方法直接修改.frm文件,而不改动表本身。

ALTER TABLE project_list
ALTER COLUMN proj_desc SET VACHAR(120);

#proj_desc是要修改的列名,VARCHAR(120)是新的数据类型。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 8,033评论 5 115
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,857评论 0 9
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,116评论 0 19
  • 教育是国家给予我们的一项重要权利,在中国,义务教育有9年,而在一些先进国家有12年。 作为一个深知...
    者行孙8阅读 225评论 0 0
  • 这个春节已过去大半,人儿也走了大半。年前迎接亲人回家,年后送别亲人远出。年复一年,循回往复。 过年,虽然没啥年味,...
    爱吃西瓜的番茄酱阅读 231评论 0 0

友情链接更多精彩内容