MySQL中alter命令知识
文章目录
- MySQL中alter命令知识
- (一) 删除、添加、修改字段
- 1、删除表中的字段数据
- 2、添加新字段
- 指定字段插入位置
- 3、修改字段类型和名称
- (二)、修改表名
- (三)、修改存储引擎
创建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;
alter相关语法:
alter table TableName [add|drop|modif|change|rename] 修改信息;
(一) 删除、添加、修改字段
1、删除表中的字段数据
#将copy_emp中deptno字段删除
alter table copy_emp drop deptno;
2、添加新字段
# 在copy_emp中添加字段deptno,并设置为非空,且默认值为1
alter table copy_emp add deptno int(12) not null default 1;
注意:如果添加字段不设置默认值,默认为null
指定字段插入位置
通过first
(设置在第一列)和after
(位于某一个字段之后),来指定新添加字段的位置
# 将新字段newColumns放在第一列处
alter table copy_emp add newColumns int first;
# 将新字段newColumn1放在sal字段后面
alter table copy_emp add newColumn1 int after sal;
3、修改字段类型和名称
修改类型和名称使用的方法:modify
和change
- 修改newColumn1的类型为varchar
方法一:
#修改newColumn1的类型为varchar
alter table copy_emp modify newColumn1 varchar(12);
方法二:
alter table copy_emp change newColumn1 newColumn1 varchar(12);
-
修改字段名称
将字段名称
newColumn1
改成column1
alter table copy_emp change newColumn1 column1 varchar(12);
(二)、修改表名
alter table cop_emp rename to copy_emp
(三)、修改存储引擎
alter table copy_emp engine=innodb;