修改表指的是修改数据库中已经存在的数据表的结构.MySQL使用ALTER TABLE语句修改表.常用的修改表的操作由修改表名、修改字段数据类型或字段名、**和删除字段、修改阻断的排列位置、更改表的存储引擎、删除表的外键约束等。
修改表名
ALTER TABLE <旧表名>RENAME [TO] <新表名>
其中to为可选参数,使用与否不影响结果
修改表名并不修改表的结构
修改字段的数据类型
alter table <表名> modify <字段名> <数据类型>
表名指要修改数据类型的字段所在表的名称,字段名指需要修改的字段,数据类型指修改后字段的新数据类型.
修改字段名
alter table <表名> change <旧字段名> <新字段名> <新数据类型>
旧字段名指修改前的字段名;新字段名指修改后的字段名;新数据类型指修改后的数据类型,如果不需要修改字段的数据类型,将新数据类型设置成与原来一样即可,但数据类型不能为空.
change也可以只修改数据类型,实现和modify同样的效果,方法时将SQL语句中的"新字段名"和"旧字段名"设置为相同的名称,只改变"数据类型".由于不同类型的数据在机器中存储的方式及长度并不相同,修改数据类型可能会影响到数据表中已有的数据记录,因此当数据库表中已经有数据时,不要轻易修改数据类型
添加字段
一个完整字段包括字段名、数据类型、完整性约束。
添加字段的语法格式如下:
alter table <表名> add <新字段名> <数据类型>
[约束条件] [first| after 已存在字段名]
新字段名为需要添加的字段的名称;first为可选参数其作用是将新添加的字段设置为表的第一个字段;after为可选参数,其作用是将新添加的字段添加到指定的已存在字段名的后面。
first或after已存在字段名用于指定新增字段在表中的位置,如果SQL语句中没有这两个参数,则默认将新添加的字段设置为数据表的最后列。
删除字段
alter table <表名> drop<字段名>
字段名指需要从表中删除的字段的名称
修改字段的排列位置
对于一个数据表来说,在创建的时候,字段在表中的排列顺序就已经确定了,但表的结果并不是完全不可以改变的,可以通过alter table来该表表中字段的相对位置.
alter table <表名> modify <字段1> <数据类型> first | after <字段2>
其中,字段1指要修改位置的字段;数据类型指字段1的数据类型;first为可选参数,指将字段1修改为表的第一个字段;after字段2指将字段1**到字段2后面.
更改表的存储引擎
MySQL支持的存储引擎
引擎名
是否支持
FEDERATED
NO
MRG_MYISAM
YES
MyISAM
YES
BLACKHOLE
YES
CSV
YES
MEMORY
YES
ARCHIVE
YES
InnoDB
yes,默认的存储引擎
PERFORMANCE_SCHEMA
YES
更改表的存储引擎的语法格式:
alter table <表名> engine = <更改后的存储引擎名>
删除表的外键约束
对于数据库中定义的外键,如果不再需要,可以将其删除.外键一旦删除,就会解除主表和从表间的关联关系.
alter table <表名> drop foreign key <外键约束名>
"外键约束名"指在定义表时constraint关键字后面的参数
修改数据库字段长度(小白笔记MySQL数据表的基本操作修改数据表)