操作大資料集

2021-09-22 13:24:19 字數 4046 閱讀 3080

1、語法

insert into table [ column (, column) ] subquery;
2、說明:

您可以使用insert語句向乙個表中新增行,其中的值來自於查詢結果集。

插入子句的列列表中列及其資料型別的數量必須與子查詢中的值和資料型別相匹配。

3、例句:

insert into empl3

select *

from employees;

1、語法:

insert into (with check option) values (...)
2、說明:

insert進subquery裡的這張表裡

如果不滿足subquery裡的where條件的話,就不允許插入。

如果插入的列有不在subquery作為檢查的where條件裡,那麼也會不允許插入。

如果不加with check option則在插入時不會檢查。

這裡注意,subquery其實是不會實際執行的。

3、例句

insert into

(select employee_id, last_name, email, hire_date, job_id, salary

from employees

where department_id = 50 with check option)

values

(99998,

'smith',

'jsmith',

to_date('1999-06-07', 'yyyy-mm-dd'),

'st_clerk',

5000);

1、語法:

a) 無條件

insert [all] [conditional_insert_clause]

[insert_into_clause values_clause] (subquery)

b) 有條件

insert [all]

[when condition then] [insert_into_clause values_clause]

[else] [insert_into_clause values_clause]

2、說明

a) 如果沒有when條件,則會對所有表進行插入操作

b) 如果有when條件,則對每乙個when條件都進行檢查,如果滿足條件就執行插入操作。

3、例句:

--無條件

insert all

into sal_history

values (empid, hiredate, sal)

into mgr_history

values (empid, mgr, sal)

select employee_id empid, hire_date hiredate, salary sal, manager_id mgr

from employees

where employee_id > 200;

--有條件

insert all

when sal > 10000

then into sal_history

values (empid, hiredate, sal)

when mgr > 200

then into mgr_history

values (empid, mgr, sal)

select employee_id empid, hire_date hiredate, salary sal, manager_id mgr

from employees

where employee_id > 200;

1、語法:

insert [first]

[when condition then] [insert_into_clause values_clause]

[else] [insert_into_clause values_clause]

2、說明:

對於每一行資料,只插入到第乙個when條件成立的表,不繼續檢查其他條件。

3、例句:

insert first 

when sal > 25000

then into special_sal

values (deptid, sal)

when hiredate like ('%00%')

then into hiredate_history_00

values (deptid, hiredate)

when hiredate like ('%99%')

then into hiredate_history_99

values (deptid, hiredate)

else into hiredate_history

values (deptid, hiredate)

select department_id deptid, sum(salary) sal, max(hire_date) hiredate

from employees

group by department_id;

1、語法:

merge into table_name table_alias

using (table|view|sub_query) alias

on (join condition)

when matched then

update set

col1 = col_val1,

col2 = col2_val

when not matched then

insert (column_list)

values (column_values);

2、說明:

merge用來從乙個表中選擇一些資料更新或者插入到另乙個表中。而最終是用更新還是用插入的方式取決於該語句中的條件。

3、例句:

merge into empl3 c

using employees e

on (c.employee_id = e.employee_id)

when matched

then update set

c.first_name = e.first_name,

c.last_name = e.last_name,

...c.department_id = e.department_id

when not matched

then insert values

(e.employee_id, e.first_name, e.last_name,

e.email, e.phone_number, e.hire_date, e.job_id,

e.salary, e.commission_pct, e.manager_id,

e.department_id);

1、語法:

versions between timestamp [lower bound] and [upper bound]

versions between scn [lower bound] and [upper bound]

2、說明:

通過versions between能夠檢視指定時間段內undo表空間中記錄的不同版本

3、例句:

select salary

from employees3 versions between scn minvalue and maxvalue

where employee_id = 107;

Pytorch 讀取大資料集

記錄一下pytorch讀取大型資料集的要點 pytorch 讀取大資料集的一般方法 class mydataset data.dataset def init self,root filepath self.root root init 中讀取檔案路徑而非檔案本體 self.imgs list se...

大資料中的錯誤集

虛擬機器時間不同步 yum配置不通 vi etc resolv.conf 更改dns hadoop hadoop的根目錄下的logs資料夾下的以.log結尾的檔案 檔案組成 hadoop 使用者名稱 啟動節點 主機名.log 找到掛掉的節點名稱和對應主機,開啟日誌找錯 namenode消失 檢視日誌...

機器學習之大資料集

前言 簡介大資料時代已經來臨,它將在眾多領域掀起變革的巨浪。機器學習對於大資料集的處理也變得越來越重要。大資料 集務必會帶來恐怖的計算量,不僅耗費大量資源,而且給資料處理的實時性帶來巨大的挑戰。想要解決這個難題,就需要採取以下措施 選擇更加適合大資料集的演算法 更加好的硬體,採用平行計算等。本文內容...