MySQL中alter命令知识

MySQL中alter命令知识


创建copy_emp表,便于后面案列学习

CREATE TABLE copy_emp
       (EMPNO int(4)  not null ,
    ENAME VARCHAR(10),
    JOB VARCHAR(9),
    MGR INT(4),
    HIREDATE DATE  DEFAULT NULL,
    SAL DOUBLE(7,2),
    COMM DOUBLE(7,2),
    primary key (EMPNO),
    DEPTNO INT(2) 
    ) ;
INSERT INTO copy_emp ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES ( 
7369, 'SMITH', 'CLERK', 7902,  '1980-12-17'
, 800, NULL, 20); 
INSERT INTO copy_emp ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES ( 
7499, 'ALLEN', 'SALESMAN', 7698,  '1981-02-20'
, 1600, 300, 30); 
INSERT INTO copy_emp ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES ( 
7521, 'WARD', 'SALESMAN', 7698,  '1981-02-22'
, 1250, 500, 30); 

commit;
  
show columns from copy_emp;

image-20230112205030520

alter相关语法:

alter table TableName [add|drop|modif|change|rename] 修改信息;

(一) 删除、添加、修改字段

1、删除表中的字段数据
#将copy_emp中deptno字段删除
alter table copy_emp drop deptno;

image-20230112210434009

2、添加新字段
# 在copy_emp中添加字段deptno,并设置为非空,且默认值为1
alter table copy_emp add deptno int(12) not null default 1;

image-20230112211457743

注意:如果添加字段不设置默认值,默认为null

image-20230112211816382

指定字段插入位置

通过first(设置在第一列)和after(位于某一个字段之后),来指定新添加字段的位置

# 将新字段newColumns放在第一列处
alter table copy_emp add newColumns int first;

image-20230112212810879

# 将新字段newColumn1放在sal字段后面
alter table copy_emp add newColumn1 int after sal;

image-20230112213105672

3、修改字段类型和名称

修改类型和名称使用的方法:modifychange

  • 修改newColumn1的类型为varchar

​ 方法一:

#修改newColumn1的类型为varchar
alter table copy_emp modify newColumn1 varchar(12);

image-20230112214519997

方法二:
alter table copy_emp change newColumn1 newColumn1 varchar(12);

image-20230112224858428

  • 修改字段名称

    将字段名称newColumn1改成column1

alter table copy_emp change newColumn1 column1 varchar(12);

image-20230112225254080

(二)、修改表名

alter table cop_emp rename to copy_emp 

image-20230112210001695

(三)、修改存储引擎

alter table copy_emp engine=innodb;

image-20230112225640245

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值