mysql修改表字段 ALTER 命令
MySQL ALTER 命令修改数据表名或者修改数据表字段
主要功能:
添加、修改或删除数据库对象,并且可以用于更改表的列定义、添加约束、创建和删除索引等操作
1. 添加列
如:给表 org_employee 添加字段 salary_level,默认值为p6, 字段的注释信息为:薪级,并清加在employee_name的这个字段后面。
ALTER TABLE org_employee ADD COLUMN salary_level VARCHAR(8) DEFAULT 'p6' COMMENT '薪级' AFTER employee_name ;
2. 修改列的数据类型
将 org_employee 表中的 salary 列的数据类型修改为 DECIMAL(10,2):
ALTER TABLE org_employee
MODIFY COLUMN salary DECIMAL(10,2);
3. 修改列名
语句将 org_employee 表中的某个列的名字由 old_column_name 修改为 new_column_name,并且可以同时修改数据类型:
ALTER TABLE employees
CHANGE COLUMN old_column_name new_column_name VARCHAR(255);
另:
修改字段的相对位置
这里name1为想要修改的字段,type1为该字段原来类型,first和after二选一,这应该显而易见,first放在第一位,after放在name2字段后面:
ALTER table tableName MODIFY name1 type1 first|after name2;
如:
把员工姓名employee_name 的字段位置修改放在employee_id后面
ALTER table org_employee MODIFY employee_name VARCHAR(32) AFTER employee_id;
把员工姓名编码 employee_code 的字段位置修改放在employee_name 前面
ALTER table org_employee MODIFY employee_code VARCHAR(16) FIRST employee_name;
4. 删除列
将 org_employee 表中的 birth_date 列删除:
ALTER TABLE org_employee
DROP COLUMN birth_date;
5. 添加主键 PRIMARY KEY
在 org_employee 表中添加了一个主键:
ALTER TABLE org_employee
ADD PRIMARY KEY (employee_id);
6. 添加外键 FOREIGN KEY
在 org_employee 表中添加了一个外键,关联到 org_dept 表的 dept_id 列:
ALTER TABLE org_employee
ADD CONSTRAINT fk_customer
FOREIGN KEY (dept_id)
REFERENCES org_dept (dept_id);
7. 修改表名
将表名由 org_employee 修改为 org_staff:
ALTER TABLE org_employee
RENAME TO org_staff;
8. 修改表类型(存储引擎)
将表 org_employee 的类型(存储引擎)修改为 MYISAM :
ALTER TABLE org_employee ENGINE = MYISAM;