十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
4.4
成都创新互联2013年至今,是专业互联网技术服务公司,拥有项目成都网站建设、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元沅江做网站,已为上家服务,为沅江各地企业和个人服务,联系电话:18982081108
MySQL数据表的修改
在MySQL中,允许对创建好的数据表进行修改,修改时可以有以下几种形式:修改表名、修改字段名、修改字段类型、修改字段排列位置、添加字段、删除字段、添加字段约束、删除约束等,它们一般都是使用“Alter table表名”命令,但后跟的具体参数不同,下面分别介绍其语句格式。
4.4.1修改表名
语句格式一:Alter table表名RENAME [TO] 新表名;
语句格式二:RENAME TABLE 表名 TO 新表名;
在上面语句格式中,“表名”为要更名的表,“新表名”为要更改成的表名,格式一中参数“TO”可以省略。
下面截图中的“ALTER TABLE”语句将dept更名为t_dept。
1. 修改表的名字
alter table table_name rename table_new_name;
其中,table_name是旧表名,table_new_name是新表名。
2.修改字段的数据类型
语法: alter table 表名 modify 字段名 数据类型
3.修改字段名
语法: alter table 表名 change 旧字段名 新字段名 新数据类型
Online DDL 工具:pt-osc
对于 MySQL Online DDL 目前主流的有三种工具:
原生 Online DDL;
pt-osc(online-schema-change),
gh-ost
本文主要讲解 pt-online-schema-change 的使用以及三种工具的简单对比。
一、原理及限制
1.1 原理
1. 创建一个与原表结构相同的空表,表名是 _new 后缀;
2. 修改步骤 1 创建的空表的表结构;
3. 在原表上加三个触发器:delete/update/insert,用于 copy 数据过程中,将原表中要执行的语句在新表中执行;
4. 将原表数据以数据块(chunk)的形式 copy 到新表;
5. rename 原表为 old 表,并把新表 rename 为原表名,然后删除旧表;
6. 删除触发器。
建议搜索 ALTER TABLE 的用法
我就写一句,其他依此类推。
// 将h_id修改成int格式,并且不能为null
ALTER TABLE `head` CHANGE 'h_id' 'h_id' int not null;
工具/材料
Navicat For MySQL
01
打开Navicat for MySQL,找到一个数据库,然后右键单击表,选择新建表选项,如下图所示
02
在弹出的新建表界面,我们给表建一些字段,如下图所示,建好之后保存即可
03
建好的表会在数据库的右侧界面显示出来,需要查看哪个表直接选择即可
04
下面我们在test数据库中新建一个查询,通过alter table语句修改表中的age字段不为空,如下图所示