新聞中心
Impala中的Alter table語句用于對(duì)給定表執(zhí)行更改。 使用此語句,我們可以添加,刪除或修改現(xiàn)有表中的列,也可以重命名它們。

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括福鼎網(wǎng)站建設(shè)、福鼎網(wǎng)站制作、福鼎網(wǎng)頁制作以及福鼎網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,福鼎網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到福鼎省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
本章通過語法和示例解釋了各種類型的alter語句。 首先假設(shè)我們?cè)贗mpala的my_db數(shù)據(jù)庫中有一個(gè)名為customers的表,具有以下數(shù)據(jù)
ID NAME AGE ADDRESS SALARY --- --------- ----- ----------- -------- 1 Ramesh 32 Ahmedabad 20000 2 Khilan 25 Delhi 15000 3 Hardik 27 Bhopal 40000 4 Chaitali 25 Mumbai 35000 5 kaushik 23 Kota 30000 6 Komal 22 Mp 32000
并且,如果獲取數(shù)據(jù)庫my_db中的表列表,可以在其中找到customers表,如下所示。
[quickstart.cloudera:21000] > show tables; Query: show tables +-----------+ | name | +-----------+ | customers | | employee | | student | | student1 | +-----------+
更改表的名稱
語法
ALTER TABLE重命名現(xiàn)有表的基本語法如下 -
ALTER TABLE [old_db_name.]old_table_name RENAME TO [new_db_name.]new_table_name
例
下面是使用alter語句更改表名稱的示例。 這里我們將表客戶的名稱更改為用戶。
[quickstart.cloudera:21000] > ALTER TABLE my_db.customers RENAME TO my_db.users;
執(zhí)行上述查詢后,Impala根據(jù)需要更改表的名稱,并顯示以下消息。
Query: alter TABLE my_db.customers RENAME TO my_db.users
您可以使用show tables語句驗(yàn)證當(dāng)前數(shù)據(jù)庫中的表的列表。 您可以找到名為users而不是customers的表。
Query: show tables +----------+ | name | +----------+ | employee | | student | | student1 | | users | +----------+ Fetched 4 row(s) in 0.10s
向表中添加列
語法
ALTER TABLE向現(xiàn)有表中添加列的基本語法如下 -
ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])
例
以下查詢是演示如何向現(xiàn)有表中添加列的示例。 這里我們?cè)趗sers表中添加兩列account_no和phone_number(兩者都是bigint數(shù)據(jù)類型)。
[quickstart.cloudera:21000] > ALTER TABLE users ADD COLUMNS (account_no BIGINT, phone_no BIGINT);
在執(zhí)行上面的查詢時(shí),它會(huì)將指定的列添加到名為student的表中,并顯示以下消息。
Query: alter TABLE users ADD COLUMNS (account_no BIGINT, phone_no BIGINT)
如果您驗(yàn)證表用戶的模式,您可以在其中找到新添加的列,如下所示。
quickstart.cloudera:21000] > describe users; Query: describe users +------------+--------+---------+ | name | type | comment | +------------+--------+---------+ | id | int | | | name | string | | | age | int | | | address | string | | | salary | bigint | | | account_no | bigint | | | phone_no | bigint | | +------------+--------+---------+ Fetched 7 row(s) in 0.20s
從表中刪除列
語法
現(xiàn)有表中ALTER TABLE到DROP COLUMN的基本語法如下 -
ALTER TABLE name DROP [COLUMN] column_name
例
以下查詢是從現(xiàn)有表中刪除列的示例。 這里我們刪除名為account_no的列。
[quickstart.cloudera:21000] > ALTER TABLE users DROP account_no;
在執(zhí)行上面的查詢時(shí),Impala刪除名為account的列,不顯示以下消息。
Query: alter TABLE users DROP account_no
如果驗(yàn)證表用戶的模式,則在刪除之后,將找不到名為account_no的列。
[quickstart.cloudera:21000] > describe users;
Query: describe users
+----------+--------+---------+
| name | type | comment |
+----------+--------+---------+
| id | int | |
| name | string | |
| age | int | |
| address | string | |
| salary | bigint | |
| phone_no | bigint | |
+----------+--------+---------+
Fetched 6 row(s) in 0.11s
更改列的名稱和類型
語法
ALTER TABLE更改現(xiàn)有表中的列的名稱和數(shù)據(jù)類型的基本語法如下 -
ALTER TABLE name CHANGE column_name new_name new_type
例
以下是使用alter語句更改列的名稱和數(shù)據(jù)類型的示例。 這里我們將列phone_no的名稱更改為電子郵件,將其數(shù)據(jù)類型更改為字符串。
[quickstart.cloudera:21000] > ALTER TABLE users CHANGE phone_no e_mail string;
在執(zhí)行上述查詢時(shí),Impala執(zhí)行指定的更改,顯示以下消息。
Query: alter TABLE users CHANGE phone_no e_mail string
您可以使用describe語句驗(yàn)證表用戶的元數(shù)據(jù)。 您可以觀察到Impala已對(duì)指定的列進(jìn)行了必要的更改。
[quickstart.cloudera:21000] > describe users; Query: describe users +----------+--------+---------+ | name | type | comment | +----------+--------+---------+ | id | int | | | name | string | | | age | int | | | address | string | | | salary | bigint | | | phone_no | bigint | | +----------+--------+---------+ Fetched 6 row(s) in 0.11s
使用Hue改變表
打開Impala查詢編輯器并在其中鍵入alter語句,然后單擊執(zhí)行按鈕,如下面的屏幕截圖所示。
在執(zhí)行上述查詢時(shí),它會(huì)將表customer的名稱更改為用戶。 以同樣的方式,我們可以執(zhí)行所有的alter查詢。
網(wǎng)頁題目:創(chuàng)新互聯(lián)impala教程:impala ALTER TABLE
網(wǎng)頁路徑:http://www.dlmjj.cn/article/cogoocj.html


咨詢
建站咨詢
