dbeaver导出表结构和数据_MySQL数据库教程-修改数据表结
构与删除表
修改数据表结构与删除表
数据表⼀旦定义好之后,⼀般不需要再去修改数据表结构,尤其是已经存储⼤量数据之后。表结构的变
化尤其⼀些约束的改变会直接影响到存储数据本⾝。但在⼀些条件下也是可以修改数据表结构的,如刚定义好的新表,本节主要介绍数据表结构的修改语法及实例。
修改表的字段
修改表的字段主要类型包括删除字段、添加新字段、修改字段名称、修改字段类型四种操作类型。我们以上⼀篇⽂章创建的数据表为例对修改表字段进⾏说明。上节课我们创建了学⽣信息表与班级信息表,结构描述如下:
学⽣信息表结构描述
班级信息表结构描述
1、删除字段
删除字段操作主要从数据表中删除某⼀个字段,删除字段语法描述如下:
删除数据表字段
其中alter table与drop语法关键字,所需提供参数为待删除数据表名字与待删除字段名,如我们要从学⽣信息表中删除学⽣性别stusex字段,实现代码如下:
alter table studentinfor drop stuSex;
执⾏结果如下:
删除结果
2、添加新字段
添加新字段也是数据表结构修改的常⽤操作之⼀,在添加新字段时需要给出字段名称、类型及添加位置。添加新字段语法描述如下:
添加新字段语法
在语法中⽅括号部分表⽰可以省略,针对我们刚才操作的学⽣信息表,我们删除性别字段后,再可以通过添加新字段实现性别字段的添加。实现代码如下:
ALTER TABLE studentinfor ADD stuSex VARCHAR(1) NOT NULL AFTER stuBirth
我们在studentinfor表中stuBirth字段之后新增了⼀个stuSex字段,并定义了字段类型与⾮空约束。
3、修改字段名称与类型
该命令可以同时修改字段名称与数据类型,基本语法描述如下:
修改字段名称、类型
命令使⽤语法关键字alter table 和 change实现字段名称与类型的修改,如学⽣信息表中,我们需要修改学⽣⽣⽇stuBirth字段为年龄,数据类型从varchar改为int。实现代码描述如下:
ALTER  TABLE studentinfor CHANGE stuBirth stuAge  INT
4、修改字段数据类型
该命令只⽤于实现字段数据类型修改,命令语法描述如下:
修改字段数据类型命令
该命令使⽤alter table与modify关键字实现字段数据类型修改,针对学⽣信息表,我们可以将家庭住址stuHome字段由varchar(25) 改为char(50),实现代码描述如下:
ALTER  TABLE studentinfor MODIFY stuHome  CHAR(50)
修改约束条件
表的约束条件修改主要包括删除约束条件与添加约束条件等操作。添加约束时需要考虑表中对应字段存储的值是否符合约束要求。如果不符合在添加约束时可能会出错。
1、添加约束
添加约束需要指明对应的字段,约束名及约束类型,添加约束命令描述如下:
添加约束命令
添加约束命令如上图所⽰,如针对学⽣信息表,我们需要对家庭住址字段设置唯⼀约束,则可通过添加约束命令实现。代码如下:
ALTER TABLE studentinfor ADD CONSTRAINT home_unqiue UNIQUE(stuHome)
需要注意⼀个问题如果要对某⼀字段添加默认值约束,则需要使⽤以下语法:
ALTER TABLE 表明ALTER 字段名 SET DEFAULT '默认值'
如我们需要对家庭住址字段设置默认值⼭东济南,则可使⽤以下命令:
ALTER TABLE studentinforALTER stuHome SET DEFAULT '⼭东济南'
2、删除约束
删除约束时需要针对不同约束类型单独编写删除命令实现删除,删除命令语法描述如下:
删除约束
删除约束命令如上图所⽰,分别⽤于实现主键删除、外键删除、唯⼀删除 与默认值删除。实例不再⼀⼀说明。
dbeaver使用教程3、修改数据表名字
该命令主要⽤于实现数据表名字修改,语法如下:
修改数据表名字
我们可以使⽤两种⽅法实现数据表名字修改,实例如下:
ALTER TABLE studentinfor RENAME TO stuinfor
删除数据表
删除数据表时需要注意表与表之间存在的关系,如外键关系,需要注意删除的顺序,⾸先删除外键依赖的表,再删除具有外键的表。删除数据表语法与实例如下:
drop table 数据表名drop table  studentinfor
本头条号长期关注编程资讯分享;编程课程、素材、代码分享及编程培训。如果您对以上⽅⾯有兴趣或代码错误、建议与意见,可在评论区回复。更多程序设计相关教程及实例分享,期待⼤家关注与阅
读!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。