SQL INSERT(磚)

將新行插入一個表和可選地對表或截斷分區。你指定的插入的行值表達式或一個查詢的結果。

磚SQL支持這句話隻對三角洲湖表。

語法

插入{覆蓋|}(]table_name(分區條款]((column_name(,])]查詢

參數

  • 覆蓋

    如果您指定覆蓋以下應用:

    • 沒有一個partition_spec表插入第一行之前被截斷。

    • 否則所有分區匹配partition_spec在插入之前截斷第一行。

    如果您指定所有行插入附加到現有的行。

  • table_name

    標識表插入。必須不包含一個名稱時間規範

  • 分區條款

    一個可選參數,指明目標分區的插入。你也隻是部分指定分區。

  • (column_name[…])

    一個可選的排列的所有表中的列。您可以使用這一條款如果返回的列映射的列查詢沒有行與列的自然秩序。

  • 查詢

    一個查詢產生行插入。

    你必須匹配查詢返回的列數與列在表中不包括分區列指定值分區條款。

    如果一個數據類型不能安全地把匹配的列的數據類型,一個運行時異常。

    如果模式演化啟用新列可以作為最後一列你的存在模式(或嵌套列)模式演變。

例子

插入

單行插入使用條款

>創建學生(的名字VARCHAR(64年),地址VARCHAR(64年),student_idINT)分區通過(student_id);>插入學生(艾米·史密斯的,公園大街123號,聖何塞,111111年);>選擇*學生;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -艾米史密斯123年公園大街,111111年

多行插入使用條款

>插入學生(“鮑勃·布朗”,456年泰勒聖,庫比蒂諾,222222年),(“凱茜約翰遜”,“種族大街789號,帕洛阿爾托”,333333年);>選擇*學生;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -艾米史密斯123年公園大街,111111年鮑勃布朗456年泰勒,庫比蒂諾222222年凱西約翰遜789年比賽大街,加州中音333333年

插入使用子查詢

——假設人表已經創建並填充。>選擇*;的名字地址ssn- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -朵拉威廉姆斯134年森林大街,梅洛公園123456789埃迪戴維斯245年市場,苗必達345678901>插入學生分區(student_id=444444年)選擇的名字,地址在哪裏的名字=“朵拉·威廉姆斯”;>選擇*學生;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -艾米史密斯123年公園大街,111111年鮑勃布朗456年泰勒,庫比蒂諾222222年凱西約翰遜789年比賽大街,加州中音333333年朵拉威廉姆斯134年森林大街,梅洛公園444444年

插入使用條款

——假設visiting_students表已經創建並填充。>選擇*visiting_students;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -弗勒勞倫特345年,倫敦777777年戈登馬丁779年大街,牛津大學888888年>插入學生visiting_students;>選擇*學生;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -艾米史密斯123年公園大街,111111年鮑勃布朗456年泰勒,庫比蒂諾222222年凱西約翰遜789年比賽大街,加州中音333333年朵拉威廉姆斯134年森林大街,梅洛公園444444年弗勒勞倫特345年,倫敦777777年戈登馬丁779年大街,牛津大學888888年

插入一個目錄

>創建學生(的名字VARCHAR(64年),地址VARCHAR(64年),student_idINT)分區通過(student_id)位置“/ mnt / user1 /學生”;>插入δ' /mnt/user1/學生(艾米·史密斯的,公園大街123號,聖何塞,111111年);>選擇*學生;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -艾米史密斯123年公園大街,111111年

插入一列名單

>插入學生(地址,的名字,student_id)(“杭州”,“肯特麼”,11215016);>選擇*學生在哪裏的名字=“肯特麼”;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -肯特杭州,中國11215016

插入一個分區規範和一個列清單

>插入學生分區(student_id=11215017)(地址,的名字)(“杭州”,“肯特麼。”);>選擇*學生在哪裏student_id=11215017;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -肯特杭州,中國11215017

插入覆蓋

插入使用條款

——假設學生已經創建並填充表。>選擇*學生;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -艾米史密斯123年公園大街,111111年鮑勃布朗456年泰勒,庫比蒂諾222222年凱西約翰遜789年比賽大街,加州中音333333年朵拉威廉姆斯134年森林大街,梅洛公園444444年弗勒勞倫特345年,倫敦777777年戈登馬丁779年大街,牛津大學888888年海倫戴維斯469年任務,迭戈999999年傑森908年,薩拉托加121212年>插入覆蓋學生(“Ashua山”,456年埃裏卡Ct,庫比蒂諾,111111年),(“布萊恩·裏德”,Kern大街723號,帕洛阿爾托,222222年);>選擇*學生;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Ashua456年艾麗卡Ct,庫比蒂諾111111年布萊恩裏德723年克恩大街,加州中音222222年

插入使用子查詢

——假設人表已經創建並填充。>選擇*;的名字地址ssn- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -朵拉威廉姆斯134年森林大街,梅洛公園123456789埃迪戴維斯245年市場,苗必達345678901>插入覆蓋學生分區(student_id=222222年)選擇的名字,地址在哪裏的名字=“朵拉·威廉姆斯”;>選擇*學生;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Ashua456年艾麗卡Ct,庫比蒂諾111111年朵拉威廉姆斯134年森林大街,梅洛公園222222年

插入使用條款

——假設visiting_students表已經創建並填充。>選擇*visiting_students;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -弗勒勞倫特345年,倫敦777777年戈登馬丁779年大街,牛津大學888888年>插入覆蓋學生visiting_students;>選擇*學生;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -弗勒勞倫特345年,倫敦777777年戈登馬丁779年大街,牛津大學888888年

插入覆蓋一個目錄

>創建學生(的名字VARCHAR(64年),地址VARCHAR(64年),student_idINT)分區通過(student_id)位置“/ mnt / user1 /學生”;>插入覆蓋δ' /mnt/user1/學生(艾米·史密斯的,公園大街123號,聖何塞,111111年);>選擇*學生;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -艾米史密斯123年公園大街,111111年