mysql查看修改删除数据表(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 studentinfor ALTER stuHome SET DEFAULT '山东济南'

2、删除约束

删除约束时需要针对不同约束类型单独编写删除命令实现删除,删除命令语法描述如下:

删除约束

删除约束命令如上图所示,分别用于实现主键删除、外键删除、唯一删除 与默认值删除。实例不再一一说明。

3、修改数据表名字

该命令主要用于实现数据表名字修改,语法如下:

修改数据表名字

我们可以使用两种方法实现数据表名字修改,实例如下:

ALTER TABLE studentinfor RENAME TO stuinfor


删除数据表

删除数据表时需要注意表与表之间存在的关系,如外键关系,需要注意删除的顺序,首先删除外键依赖的表,再删除具有外键的表。删除数据表语法与实例如下:

drop table 数据表名 drop table studentinfor


本头条号长期关注编程资讯分享;编程课程、素材、代码分享及编程培训。如果您对以上方面有兴趣或代码错误、建议与意见,可在评论区回复。更多程序设计相关教程及实例分享,期待大家关注与阅读!

,

免责声明:本网站为个人非盈利性网站,内容和图片均来源于网络,如内容或图片侵犯了您的权益,请及时与本站联系删除!