一、 SQL Server INSERT语句。
1. INSERT 语句向表中添加新行 (单条插入),以下是 INSERT 语句的最基本形式:
INSERT INTO table_name (column_name_1,column_name_2)
VALUES (value_list_1,value_list_2);
2. SQL Server自动对表中可用的列使用以下值,但不会出现在 INSERT 语句的列列表中:
- 如果列具有[IDENTITY]属性,则为下一个增量值。
- 如果列具有指定的默认值,则为默认值。
- 如果列的数据类型是时间戳数据类型(timestamp),则默认为当前时间戳值。
- 如果列可以为 NULL 值,则使用 NULL。
3. Insert多行。
要一次向表中添加多行,请使用以下形式的 INSERT 语句:
INSERT INTO table_name (column_name_1,...)
VALUES
(value_list_1,...),
(value_list_2,...),
...,
(value_list_n,...);
使用多行Insert语句,使用多个以逗号分隔的值列表进行插入。一次可以插入的行数为 1000 行。
4. INSERT INTO SELECT语句。
将其他表中的数据插入另一个表中,可以使用INSERT INTO SELECT 语句:
INSERT INTO table_name1 (column_name_1,column_name_2)
SELECT column_name_1,column_name_2
FROM table_name2;
二、 SQL Server UPDATE语句。
1. 要修改表中的现有数据,可以使用UPDATE语句:
UPDATE table_name
SET column_name = value_list;
注: UPDATE语句中的WHERE子句是可选的。以WHERE子句指定条件以选择更新的行,如果不指定WHERE子句,则表中的所有行都将更新。
三、 SQL Server DELETE语句。
1. 要删除表中的现有数据,可以使用DELETE语句:
DELETE FROM table_name WHERE column_name = value_list;
注: DELETE语句中的WHERE子句是可选的。以WHERE子句指定条件以选择删除的行,如果不指定WHERE子句,则表中的所有行都将删除。
四、 Merge语句。
1. 假设有两个表名为:source表和target表,并且需要根据source表中匹配的值更新target表。有三种情况:
- source 表有一些 target 表中不存在的行。在这种情况下,需要将 source 表中的行插入到target 表中。
- target 表有一些 source 表中不存在的行。 在这种情况下,需要从 target 表中删除行。
- source 表的某些行具有与 target 表中的行相同的键。 但是,这些行在非键列中具有不同的值。在这种情况下,需要使用来自 source 表的值更新 target 表中的行。
首先merge的操作非常类似sql里面的join,实现将两个Dataframe根据一些共有的列连接起来,当然,在实际场景中,这些共有列一般是Id,连接方式也丰富多样,可以选择inner(默认),left,right,outer 这几种模式,分别对应的是内连接,左连接,右连接。
1. INSERT 语句向表中添加新行 (单条插入),以下是 INSERT 语句的最基本形式:
INSERT INTO table_name (column_name_1,column_name_2)
VALUES (value_list_1,value_list_2);
2. SQL Server自动对表中可用的列使用以下值,但不会出现在 INSERT 语句的列列表中:
- 如果列具有[IDENTITY]属性,则为下一个增量值。
- 如果列具有指定的默认值,则为默认值。
- 如果列的数据类型是时间戳数据类型(timestamp),则默认为当前时间戳值。
- 如果列可以为 NULL 值,则使用 NULL。
3. Insert多行。
要一次向表中添加多行,请使用以下形式的 INSERT 语句:
INSERT INTO table_name (column_name_1,...)
VALUES
(value_list_1,...),
(value_list_2,...),
...,
(value_list_n,...);
使用多行Insert语句,使用多个以逗号分隔的值列表进行插入。一次可以插入的行数为 1000 行。
4. INSERT INTO SELECT语句。
将其他表中的数据插入另一个表中,可以使用INSERT INTO SELECT 语句:
INSERT INTO table_name1 (column_name_1,column_name_2)
SELECT column_name_1,column_name_2
FROM table_name2;
二、 SQL Server UPDATE语句。
1. 要修改表中的现有数据,可以使用UPDATE语句:
UPDATE table_name
SET column_name = value_list;
注: UPDATE语句中的WHERE子句是可选的。以WHERE子句指定条件以选择更新的行,如果不指定WHERE子句,则表中的所有行都将更新。
三、 SQL Server DELETE语句。
1. 要删除表中的现有数据,可以使用DELETE语句:
DELETE FROM table_name WHERE column_name = value_list;
注: DELETE语句中的WHERE子句是可选的。以WHERE子句指定条件以选择删除的行,如果不指定WHERE子句,则表中的所有行都将删除。
四、 Merge语句。
1. 假设有两个表名为:source表和target表,并且需要根据source表中匹配的值更新target表。有三种情况:
- source 表有一些 target 表中不存在的行。在这种情况下,需要将 source 表中的行插入到target 表中。
- target 表有一些 source 表中不存在的行。 在这种情况下,需要从 target 表中删除行。
- source 表的某些行具有与 target 表中的行相同的键。 但是,这些行在非键列中具有不同的值。在这种情况下,需要使用来自 source 表的值更新 target 表中的行。
首先merge的操作非常类似sql里面的join,实现将两个Dataframe根据一些共有的列连接起来,当然,在实际场景中,这些共有列一般是Id,连接方式也丰富多样,可以选择inner(默认),left,right,outer 这几种模式,分别对应的是内连接,左连接,右连接。