当前位置:   article > 正文

MySQL中alter命令知识_mysql alter

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;
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
show columns from copy_emp;
  • 1

image-20230112205030520

alter相关语法:

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

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

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

image-20230112210434009

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

image-20230112211457743

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

image-20230112211816382

指定字段插入位置

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

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

image-20230112212810879

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

image-20230112213105672

3、修改字段类型和名称

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

  • 修改newColumn1的类型为varchar

​ 方法一:

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

image-20230112214519997

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

image-20230112224858428

  • 修改字段名称

    将字段名称newColumn1改成column1

alter table copy_emp change newColumn1 column1 varchar(12);
  • 1

image-20230112225254080

(二)、修改表名

alter table cop_emp rename to copy_emp 
  • 1

image-20230112210001695

(三)、修改存储引擎

alter table copy_emp engine=innodb;
  • 1

image-20230112225640245

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/587957
推荐阅读
相关标签
  

闽ICP备14008679号