ToB企服应用市场:ToB评测及商务社交产业平台

标题: 阿里云大数据实战记录4:生产情况添加列 [打印本页]

作者: 乌市泽哥    时间: 2024-6-21 13:46
标题: 阿里云大数据实战记录4:生产情况添加列
生产情况添加列的方法

通过代码新增列

添加列的时候,要留意引擎范例,可以根据以下操作查看引擎范例。
假如有权限查看设置相关内容,也可以点设置里查看。(目前我没有该权限,也不知道都有什么内容~~)

为什么要留意引擎范例呢?因为不同的引擎,意味着不同的设置,对应的语法也是不同的,比如mysql的引擎和maxcomputer的引擎新增列的操作不同,下面找了两个文档可供参考
云原生数据仓库AnalyticDB MySQL版-增长列
云原生大数据盘算服务 MaxCompute-增长列
具体语法和例子如下:
  1. -- MaxComputer新增列
  2. alter table <table_name> add columns (<col_name1> <type1> comment ['<col_comment>'][, <col_name2> <type2> comment '<col_comment>'...]);
  3. -- 例子:新增1列
  4. alter table customer add columns (customer_name STRING comment '用户名');
  5. -- 例子:新增2列
  6. alter table customer add columns (customer_name STRING , age BIGINT);
  7. -- ADB MySQL新增列
  8. ALTER TABLE db_name.table_name ADD [COLUMN] column_name data_type;
  9. -- 例子:新增1列
  10. ALTER TABLE adb_demo.customer ADD COLUMN customer_name varchar comment '用户名';
  11. -- 例子:新增2列
  12. ALTER TABLE adb_demo.customer ADD COLUMN customer_name varchar ,ADD COLUMN age varchar;
复制代码
几个留意点:

通过表管理新增

除了通过跑代码直接新增,也可以通过表管理打开对应的表单通过可视化新增列。
下面拿尺度模式示例,操作流程如下:
表管理找到表打开,新增字段之后,先提交到开辟情况,再提交到生产情况,便完成列的新增。是不会很简单?

当然了,前提是得有Alter权限,像我在操作一个ADB MySQL的表的时候发现,操作的公共账号,对一些表单只有select和drop账号,并没有Alter权限。
没有权限新增列时,通过代码和可视化的方式都无法新增列。
办理方法有好几种:

通过DMS新增列

下面讲讲关于DMS的一些操作,在图标左边有三个横杠,将光标移到此处会弹出浮窗,将光标放在全部功能上,这时会出来许多相关的功能供选择。新增列是一个平常数据变动的操作,所以找到它(可直接搜索)。

我操作时只须要填写缘故原由、业务背景、影响行数、另有变动SQL即可,不知是否同一。
在选择执行方式时,可以选择审批通事后,主动执行,这是系统主动审批,不须要人工审核,提交后便可执行。
同样,假如没有相关数据库权限,也须要先申请,在全部功能中查找权限工单,然后根据提示填写即可。
补充MaxCompute的几个问题:
MaxCompute中,可以添加列,但不可以删除列,也不支持修改列的数据范例和分区字段。
假如必须修改列,则须要删表重建,并重新加载数据。
假如必须删除列,可以通过创建新表(选择旧表须要的列)->删旧表->修改新表名为旧表名的形式,举比方下:
  1. create table new_table_name as select c1,c2,c3 from old_table_name;
  2. drop table old_table_name;
  3. alter table new_table_name rename to old_table_name;
复制代码
MaxCompute也不支持自增长列功能,假如数据量比较小,也可以使用窗口函数ROW_NUMBER实现。
更多常见问题参考DDL操作常见问题。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4