第三章 修改数据
如何修改数据表?
1.修改表名
在数据库中,不同的数据表是通过表名来区分的。
ALTER TABLE 旧表名 RENAME 新表名;
将teacherInfo表改名为teacherInfoInfo
mysql> alter table teacherInfo rename to teacherInfo_Info;
2.修改表的存储引擎
ALTER TABLE 表名 engine= ;
将teacherInfo表的存储引擎更改为MyISAM类
mysql> alter table teacherInfo_Info engine=MyISAM;
3.修改表中字段的信息
修改字段的名字
数据表中的字段是通过字段名来区分的。
ALTER TABLE 表名 CHANGE 原字段名 新字段名 类型以及约束;
注意:新数据类型不能为空。
将num字段改名为c_num
mysql> alter table teacherInfo change num c_num int(10) not null unique;
修改字段的数据类型
ALTER TABLE 表名 MODIFY 字段名 类型以及约束;
将teacherInfo表的name字段的数据类型改为VARCHAR(30)
mysql>alter table teacherInfo modify name varchar(30);
添加新的字段
ALTER TABLE 表名 ADD 新字段名 数据类型
[约束条件] [FIRST/AFTER已经存在字段名] ;
注意:“FIRST” 是可选参数,用于将新添加的字段设置为表的第一个字段
“AFTER”是可选参数,用于将新添加的字段添加到指定的“已存在字段名”的后面。
在teacherInfo表中增加名为wages的字段,数据类型为FLOAT
mysql> alter table teacherInfo add wages float;
修改字段的排列位置
alter table 表名 modify 字段名1 数据类型 FIRST/AFTER 字段名2;注意:“字段名1”指的是修改位置的字段
“FIRST”为可选参数,指将字段1修改为表的第一个字段。
“AFTER 字段名2”是将字段1插入到字段2的后面。
将birthday字段的位置改到sex字段的前面
mysql> alter table teacherInfo modify birthday datetime null first sex;
或者
将sex字段的位置改到birthday字段的后面
4.删除字段
ALTER TABLE 表名 DROP 字段名;
将teacherInfo表的address字段删除
Mysql>alter table teacherInfo drop address;
示例3
#添加字段 mysql> alter table classes add num int(4) null; Query OK, 0 rows affected (0.24 sec) Records: 0 Duplicates: 0 Warnings: 0 #重新命名字段 mysql> alter table classes change `name` className varchar(10) not null; Query OK, 0 rows affected (0.18 sec) Records: 0 Duplicates: 0 Warnings: 0 #查看数据表 mysql> select *from classes; +----+-----------+------+ | id | className | num | +----+-----------+------+ | 1 | 1班 | NULL | | 3 | 3班 | NULL | | 4 | 4班 | NULL | +----+-----------+------+ 3 rows in set (0.00 sec) #修改字段的数据类型 mysql> alter table classes modify className varchar(30) null; Query OK, 0 rows affected (0.27 sec) Records: 0 Duplicates: 0 Warnings: 0 #删除字段num mysql> alter table classes drop num; Query OK, 0 rows affected (0.34 sec) Records: 0 Duplicates: 0 Warnings: 0 #查看创建表的语句 SHOW CREATE TABLE classes
