Hive表 增改刪字段

2021-08-15 20:50:11 字數 1850 閱讀 7117

基本語法:

alter table name rename to new_name

alter table name add columns

(col_spec

[,col_spec

...])

alter table name drop

[column

]column_name

alter table name change column_name new_name new_type

alter table name replace columns

(col_spec

[,col_spec

...])(

col_spec

[,col_spec

...])

alter table name drop

[column

]column_name

alter table name change column_name new_name new_type

alter table name replace columns

(col_spec

[,col_spec

...])

refer: 

自己實驗:

1. alter table d_extra.dm_usr_mxdai_risk_analysisaddcolumns(test1 int, test2 int);   ------works

desc d_extra.dm_usr_mxdai_risk_analysis; 

可以看出新字段已經新增成功

1.1. alter table d_extra.dm_usr_mxdai_risk_analysisaddcolumn test1 int; ------doesn't work

2. alter table d_extra.dm_usr_mxdai_risk_analysisdropcolumn test1;  -----doesn't work

報錯:error: error while compiling statement: failed: parseexception line 1:52 mismatched input 'column' expecting partition near 'drop' in drop partition statement (state=42000,code=40000)

是不是只能drop partition 而不能drop column??

3. alter table d_extra.dm_usr_mxdai_risk_analysischangetest1 risk_1_138 string;  ------works

hive不支援行級插入操作、更新操作和刪除操作。

eg1. delete from tmp.pid_free_2_paid_ana_time where pre_free_pack_id = 104

報錯eg2. truncate

delect:用於刪除特定行條件,你可以從給定表中刪除所有的行????

truncate:truncate用於刪除所有的行,這個行為在hive元儲存刪除資料是不可逆的

drop:刪除hive中的表

truncate 不能刪除外部表!因為外部表裡的資料並不是存放在hive meta store中

truncate:

truncate table table_name;

例子:truncate table employees;

ref: 

hive增改刪字段

1 修改欄位名方法 alter table 表名 change 舊欄位 新字段 型別 2 新增字段 use mart flow test alter table detail flow test add columns original union id string 或者 alter table ...

oracle批量為表增刪字段

create or replace procedure add column as declare在oracle中指代的是 塊 用於處理一段業務邏輯的 declare 動態表表名字首 tbl name prefix nvarchar2 255 表名 tbl name nvarchar2 255 欄位...

SQL之表的增 改 刪

在說明表的增改刪之前,我們先來介紹一下組成乙個關係型資料庫的基本結構。由圖1 2可以看出乙個關係型資料庫主要由三大結構組成,分別是資料庫 表 字段。在頂層的是rdbms 管理資料庫的軟體 在rdbms之下是建立的實際資料庫,每個資料庫又可以包含乙個或多個表,嚴格地說資料庫可以不包含表,但這樣的資料庫...