ABAP之SQL操作(select、insert、update、delete、modify)

ABAP之SQL操作(select、insert、update、delete、modify)

⼀、SELECT 语句

SELECT [DISTINCT][AS]

INTO|APPEND [CORRESPONDING FIELDS OF] TABLE[PACKAGE SIZE]..

FROM [AS ] UP TO ROWS...

[INNER]JOIN [AS ] ON ...

WHERE ...

GROUP BY ..

HIVING .

ORDER BY PRIMARY KEY.

lines:single

读取⼀条数据:.

SELECT SINGLE ... WHERE

注意:限制好where条件,否则返回任意⼀条数据,与预期结果不同.

DISTINCT :删除重复值。

SELECT [DISTINCT]...WHERE

当INTO 为字段或者结构体时,结尾必须加上ENDSELECT;如果是内表则不需要。

AS:别名

SELECT [AS ]..

INTO语句:

1. [CORRESPONDING FIELDS OF]:⾃动给相同字段名匹配赋值。wa为结构体,变量,查询⼀条数据时,常⽤语loop循环中。

SELECT ...INTO [CORRESPONDING FIELDS OF] .

2.内表

查询多条数据是使⽤内表,须使⽤APPENDING,不能使⽤INTO,INTO是删除内表数据后插⼊时使⽤的。

SELECT ...INTO|APPEND [CORRESPONDING FIELDS OF] TABLE[PACKAGE SIZE]..

PACKAGE SIZE:表⽰每次追加到内表的条数,此时须使⽤ENDSELECT.

SELECT INTO CORRESPONDING FIELDS OF TABLE itab

PACKAGE SIZE 5

FROM SPFLI.

ENDSELECT.

FROM语句:

1.选择静态表:

SELECT ...FROM [AS ]

2.JOIN语句

SELECT ...FROM [INNER] JOIN [AS ] ON ...

3.限制查询个数

SELECT ...FROM UP TO ROWS...

WHERE语句:

1.where条件语句

SELECT ...WHERE ...

2.常⽤语句

SELECT ...WHERE [NOT]BETWEEN AND .

SELECT ...WHERE COL2 LIKE '_ABC%'.

SELECT ...WHERE [NOT]IN (,..,)... SELECT ...WHERE [NOT]IN ... 查询存在selection table,Range变量⾥的数据。

3.FOR ALL ENTRIES 语句.

SELECT ... FOR ALL ENTRIES IN WHERE

SELECT MATNR MTART

FROM MARA

INTO CORRESPONDING FIELDS OF TABLE GT_MARA

WHERE MATNR IN S_MATNR.

IF GT_MARA[] IS NOT INITIAL.

SELECT MATNR MAKTX

FROM MAKR

INTO CORRESPONDING FIELDS OF TABLE GT_MAKT

FOR ALL ENTRIES IN GT_MARA

WHERE MATNR IN S_MATNR

AND SPRAS = SY-LANGU

AND MATNR = GT_MARA-MATNR.

ENDIF.

SORT GT_MAKT BY MATNR.

LOOP AT GT_MARA.

CLEAR GT_TOTAL.

MOVE-CORRESPONDING GT_MARA TO GT_TOTAL.

READ TABLE GT_MAKT WITH KEY MATNR = GT_MARA-MATNR

BINARY SEARCH.

IF SY-SUBRC = 0.

GT_TOTAL-MAKTX =GT_MAKT-MAKTX.

ELSE.

CONTINUE.

ENDIF.

APPEND GT_TOTAL.

ENDLOOP.

View Code

注意:

1.itab的字段要与⽐较对象的表字段类型⼀致。

2.判断内表itab不能为空,否则相当于全表扫描。

3.程序中的continue退出当前循环,执⾏下⼀次。本语句执⾏时,相当于INNER-JOIN;不执⾏时,相当于LEFT-JOIN.

4.不能与sum、avg、max、min等聚合函数⼀起使⽤,group by。

5.使⽤该选项后,对于最后得出的结果集系统会⾃动删除重复⾏。因此如果要保留重复⾏记录时,记得在SELECT语句中添加⾜够字段

GROUP :

SELECT ...

GROUP BY ...

HIVING .

ORDER BY:

-根据标的key值进⾏排序。

-只适合于SELECT * 语句。

-在JOIN语句和视图中⽆法使⽤。

SELECT ...

ORDER BY [ASCENDING|DESCENDING]

[ASCENDING|DESCENDING]

⼆、INSERT

⼀条数据

INSERT INTO VALUES .

INSERT FROM .

多条数据.

INSERT FROM TABLE [ACCEPTING DUPLICATE KEYS]

插⼊数据时,避免有相同主键引起dump error错误,使⽤ACCEPTING DUPLICATE。此时sy-subrc返回4.三、UPDATE

⼀条数据

UPDATE FROM . "表结构相同

多条数据.

UPDATE FROM TABLE .

UPDATE SET WHERE .

四、DELETE

⼀条数据

DELETE FROM . "表结构相同

多条数据.

DELETE FROM WHERE .

五、MODIFY.

⼀条数据

MODIFY FROM . "表结构相同

多条数据.

MODIFY FROM TABLE .

合集下载

ABAP之SQL操作(select、insert、update、delete、modify)

ABAP之SQL操作(select、insert、update、delete、modify)

ABAP之SQL操作(select、insert、update、delete、modify)

⼀、SELECT 语句

SELECT [DISTINCT][AS]

INTO|APPEND [CORRESPONDING FIELDS OF] TABLE[PACKAGE SIZE]..

FROM [AS ] UP TO ROWS...

[INNER]JOIN [AS ] ON ...

WHERE ...

GROUP BY ..

HIVING .

ORDER BY PRIMARY KEY.

lines:single

读取⼀条数据:.

SELECT SINGLE ... WHERE

注意:限制好where条件,否则返回任意⼀条数据,与预期结果不同.

DISTINCT :删除重复值。

SELECT [DISTINCT]...WHERE

当INTO 为字段或者结构体时,结尾必须加上ENDSELECT;如果是内表则不需要。

AS:别名

SELECT [AS ]..

INTO语句:

1. [CORRESPONDING FIELDS OF]:⾃动给相同字段名匹配赋值。wa为结构体,变量,查询⼀条数据时,常⽤语loop循环中。

SELECT ...INTO [CORRESPONDING FIELDS OF] .

2.内表

查询多条数据是使⽤内表,须使⽤APPENDING,不能使⽤INTO,INTO是删除内表数据后插⼊时使⽤的。

SELECT ...INTO|APPEND [CORRESPONDING FIELDS OF] TABLE[PACKAGE SIZE]..

PACKAGE SIZE:表⽰每次追加到内表的条数,此时须使⽤ENDSELECT.

SELECT INTO CORRESPONDING FIELDS OF TABLE itab

PACKAGE SIZE 5

FROM SPFLI.

ENDSELECT.

FROM语句:

1.选择静态表:

ABAP之SQL操作(select、insert、update、delete、modify) 2

ABAP之SQL操作(select、insert、update、delete、modify) 2

ABAP之SQL操作(select、insert、update、delete、modify)

⼀、SELECT 语句

SELECT [DISTINCT][AS]

INTO|APPEND [CORRESPONDING FIELDS OF] TABLE[PACKAGE SIZE]..

FROM [AS ] UP TO ROWS...

[INNER]JOIN [AS ] ON ...

WHERE ...

GROUP BY ..

HIVING .

ORDER BY PRIMARY KEY.

lines:single

读取⼀条数据:.

SELECT SINGLE ... WHERE

注意:限制好where条件,否则返回任意⼀条数据,与预期结果不同.

DISTINCT :删除重复值。

SELECT [DISTINCT]...WHERE

当INTO 为字段或者结构体时,结尾必须加上ENDSELECT;如果是内表则不需要。

AS:别名

SELECT [AS ]..

INTO语句:

1. [CORRESPONDING FIELDS OF]:⾃动给相同字段名匹配赋值。wa为结构体,变量,查询⼀条数据时,常⽤语loop循环中。

SELECT ...INTO [CORRESPONDING FIELDS OF] .

2.内表

查询多条数据是使⽤内表,须使⽤APPENDING,不能使⽤INTO,INTO是删除内表数据后插⼊时使⽤的。

SELECT ...INTO|APPEND [CORRESPONDING FIELDS OF] TABLE[PACKAGE SIZE]..

PACKAGE SIZE:表⽰每次追加到内表的条数,此时须使⽤ENDSELECT.

SELECT INTO CORRESPONDING FIELDS OF TABLE itab

PACKAGE SIZE 5

FROM SPFLI.

ENDSELECT.

FROM语句:

1.选择静态表:

abap table语句

abap table语句

abap table语句

ABAP是一种面向SAP系统开发的编程语言,用于在SAP系统中创建和维护表格。表格是一种存储数据的结构,可以在ABAP程序中使用。在ABAP中,可以使用TABLE语句定义表格和其字段。下面列举了十个常用的ABAP TABLE语句及其用法。

1. DATA:用于定义一个数据对象,可以是表格、结构体或单一值。

例如:

DATA lv_name TYPE string. "定义一个字符串类型的变量lv_name

2. TYPES:用于定义自定义数据类型。

例如:

TYPES: BEGIN OF ty_person, "定义一个人员结构类型

id TYPE string,

name TYPE string,

END OF ty_person.

3. TABLES:用于引入外部定义的数据表。

例如:

TABLES: sflight. "引入SAP标准表格sflight

4. APPEND:用于将数据行追加到表格中。

例如:

APPEND INITIAL LINE TO lt_person ASSIGNING FIELD-SYMBOL(). "向人员表格lt_person中追加一行数据

5. SELECT:用于从数据库表中选择数据。

例如:

SELECT * FROM sflight INTO TABLE lt_sflight. "从表格sflight中选择所有数据并赋值给内表lt_sflight

6. INSERT:用于将数据插入到数据库表中。

例如:

INSERT zemployee FROM lt_employee. "将内表lt_employee中的数据插入到自定义表格zemployee中

7. MODIFY:用于修改数据库表中的数据。

例如:

MODIFY zemployee FROM lt_employee. "将内表lt_employee中的数据修改到自定义表格zemployee中

ABAP数据库操作

ABAP数据库操作

ABAP数据库操作

1、abap语言使用的数琚库娪言:open sql ,Native sql(特定数据库自身sql)

2、使用OPen SQL炷意的原则:

a、尽可能减仯满足条件的数据条朩数糧。

b、减少数据的传输量,以减少网络流量。

c、减少访问的数据库表量。

d、减少查咰难度,可以通过整理选萚摽准来实现。

e、减少数据库负载。

3、使用Native sql有两个前提:

a、知道使鼡数据厙的类型。

b、了解该数据库哋SQL语法。

4、ABAP的数据定义由数据牸典创建。

5、提取薮据方式:禸表,工作区,变量。

6、select语句:

select from into

where [group by ]

[having ][order by ].

7、选择单行全部薮据:

select single * from spfli into wa_spfli where cityform='singapore' and into

cityto='beijing'.

8、选择单行指定字段:

select single carrid connid from spfli into (wa_carrid,wa_connid) where cityform='singapore'

and into cityto='beijing'.

9、选择相关字段:

select single carrid connid *from spfli into corresponding fields of

wa_spfli where cityform='singapore' and into cityto='beijing'.

10、揗环选择:

select *

from spfli into wa_spfli.

write:/ wa_spfli-carrid,wa_spfli-connid.

endselect.

sql增删改查语句

sql增删改查语句

- 1 - sql增删改查语句

SQL(StructuredQueryLanguage)是一种流行的数据库语言,它可以帮助用户访问、存储和管理大量的信息。本文将介绍SQL中最基本的4种语句增加(Insert)、删除(Delete)、修改(Update)和查询(Select),以说明如何利用这4种语句来操作数据库中的数据。

首先,来看一下如何使用Insert语句来向数据库中插入一个新的记录。Insert语句可以让用户在指定的表中插入一条数据记录,可以用下面的格式完成:

INSERT INTO名(字段1,字段2,......)VALUES(值1,值2,......)

其中,表名代表要插入的表的名称,字段1,字段2等是要插入记录的字段名称,值1,值2等是要插入的记录的值。

接下来,是Delete语句,它可用于从数据库中删除一条或多条记录。形式如下:

DELETE FROM名 WHERE段=值

其中,表名代表要删除记录的表名,字段代表要删除记录的字段,值代表要删除的记录的值。如果WHERE子句省略,则Delete语句将删除指定表中的所有记录。

再接下来,是Update语句,它可以用来更新数据库中的某一条记录。形式如下:

UPDATE名 SET段1=值1,字段2=值2,...... WHERE段=值

其中,表名表示要更新记录的表名;字段1,字段2等是要更新记录的字段名称;值1,值2等是要更新记录的新值;最后,WHERE - 2 - 子句表示要更新记录的条件。

最后,一般而言,最常使用的是Select语句,它的功能是检索数据库中的某些记录,并将它们以列表的形式显示出来。形式如下:

SELECT段1,字段2,...... FROM名 WHERE件

其中,SELECT用于指定要查询的列;FROM用于指定要查询的表;WHERE用于指定要查询的条件,可以省略。在大多数情况下,Select语句可以满足用户的需求,但也可以利用其他函数来处理查询结果,使它更加有用。

ABAP基本语法和SQL语句(ABAP内表)

ABAP基本语法和SQL语句(ABAP内表)

Abap内表

什么是内表:内表是内存中建立的一个临时表,你可以在程序运行时对表中的数据进行,插入,修改,删除等操作,程序跑完了,就会被释放。

--内表定义

1内表有三种类型:标准表,哈希表,排序表(主要用标准表)。

2预定义的基本数据类型有:C(文本型数据)、N(数字型)、T(时间型)、X(十六进制)、

D(日期型)、F(浮点型)、I(整数型)、P(压缩号)。

注意:在abap中要用data定义数据对象,也就是定义变量(内表也是一种变量)。后面再用type或like来定义变量的类型,这里要要注意type和like的用法,一般能用like的地方都能用type。当用type的不一定能用like。因为type一般定义的预定义和自定义的类型,而like用于定义词典对象和已经存在的对象。

其中types直接定义的数据类型与结构,是没有分配内存空间的。

3内表定义三个步骤:

1)定义类型

2)参考类型定义结构、工作区域、变量

3)参考类型定义内表

定义类型:通过types开头定义

TYPES: BEGIN OF line,

field1 TYPE i,

field2 TYPE i,

END OF line.

参考类型定义结构、工作区域、变量:定义结构通过data开头定义

DATA: WA _ITAB TYPE(LIKE) line. “ 声明一个内表工作区

参考类型定义内表:定义内表通过data开头定义

DATA: ITAB TYPE(LIKE) line OCCURS 0. “ 声明一个无工作区的内表

DATA: ITAB TYPE(LIKE) STANDARD TABLE OF line INITIAL SIZE 0. “ 声明一个有工作区的内表

DATA: ITAB TYPE(LIKE) line OCCURS 0 WITH HEADER LINE.

DATA: ITAB TYPE(LIKE) STANDARD TABLE OF line INITIAL SIZE 0 WITH HEADER

sql中增删改查 -回复

sql中增删改查 -回复

SQL(Structured Query Language)是一种用于管理和操作关系型数据库的专用编程语言。它提供了一系列的命令和语法,用于实现数据的增删改查操作。本文将详细介绍SQL中的增删改查操作,以及如何使用这些操作将数据存储到数据库中、更新数据、删除数据以及查询数据库中的数据。

一、增加数据(INSERT)

在SQL中,使用INSERT INTO语句可以向数据库中插入新的数据。其基本语法如下:

INSERT INTO table_name (column1, column2, column3, ...)

VALUES (value1, value2, value3, ...);

其中,table_name表示要插入数据的表名,column1、column2等表示要插入数据的列名,value1、value2等表示要插入的具体数据值。

例如,我们要向一个名为"customers"的表中插入一条新记录,可以使用以下语句:

INSERT INTO customers (customer_id, customer_name,

customer_email)

VALUES (1, 'John Doe', 'john.doeexample');

这条语句将会在customers表中插入一条包含customer_id为1,customer_name为"John Doe",customer_email为"john.doeexample"的新记录。

二、更新数据(UPDATE)

若要更新数据库中已经存在的数据,可以使用UPDATE语句。其基本语法如下:

UPDATE table_name

SET column1 = value1, column2 = value2, ...

WHERE condition;

其中,table_name表示要更新数据的表名,SET后面的column1 =

abap update的用法

abap update的用法

在ABAP中,UPDATE语句用于更新数据库表中的数据。它可以用来修改一个或多个表行的特定字段值。

UPDATE的一般语法如下:

UPDATE table_name

SET field1 = value1, field2 = value2, ...

WHERE condition.

- table_name 是要更新数据的表名。

- field1, field2, ... 是要更新的字段名。

- value1, value2, ... 是要更新的字段的新值。

- WHERE条件用于指定要更新的数据行,只有满足条件的行才会被更新。

以下是一个更新表数据的示例:

abap

DATA: lv_new_value TYPE table_name-field1.

lv_new_value = 'New Value'.

UPDATE table_name

SET field1 = lv_new_value

WHERE condition.

该示例将在满足给定条件的行中更新表中的field1字段的值为"New Value"。

注意:在使用UPDATE语句之前,需要对数据库表进行修改的权限。此外,在更新数据之前,最好先进行必要的数据验证和错误处理。

sql 增删改查语句 -回复

sql 增删改查语句 -回复

SQL(Structured Query Language)是一种用于管理关系型数据库的编程语言。它支持数据库的增删改查等操作。本文将分别讨论SQL的增(INSERT)、删(DELETE)、改(UPDATE)和查(SELECT)语句,并逐步解释其用法和实例,以此帮助读者理解SQL的基本操作。

增(INSERT)操作是向数据库中插入新的数据行的操作。它可以通过INSERT INTO语句实现。首先,我们需要确定要插入数据的表名和列名。然后,通过VALUES关键字指定要插入的具体数据值。例如,我们要向名为"students"的表中插入一条学生记录,列名分别为"id"、"name"和"age",相应的代码如下所示:

INSERT INTO students (id, name, age) VALUES (1, 'John', 18);

上述代码的意思是在"students"表中插入一条记录,该记录的"id"列值为1,"name"列值为'John',"age"列值为18。这样,我们就成功地向数据库中新增了一条数据行。

删(DELETE)操作用于从数据库中删除指定条件的数据行。它可以通过DELETE语句实现。首先,我们需要确定要删除数据的表名和删除条件。然后,使用WHERE子句指定删除条件。例如,我们要从名为"students"的表中删除名为'John'的学生记录,相应的代码如下所示:

DELETE FROM students WHERE name = 'John';

上述代码的意思是从"students"表中删除满足"name = 'John'"条件的记录。这样,我们就成功地从数据库中删除了指定条件的数据行。

改(UPDATE)操作用于修改数据库中已有数据行的值。它可以通过UPDATE语句实现。首先,我们需要确定要修改数据的表名、列名和修改条件。然后,使用SET关键字指定要修改的列和修改值,并使用WHERE子句指定修改条件。例如,我们要将名为'John'的学生记录的年龄改为20,相应的代码如下所示:

SQL四种基本数据操作语句的基本使用

SQL四种基本数据操作语句的基本使⽤

SQL中含有四种基本的数据操作语句,分别是增(INSERT),删(DELETE),查(SELECT),改(UPDATE)。下⾯简单介绍这四种语句的⽤法。1:增(INSERT)

可分为两种查询情况,⼀是添加⼀条记录,⼆是添加⼦查询的结果(可以⼀次添加多条记录)。

格式 INSERT into 表名【(字段名1,字段名2,...)】 values(字段值1,字段值2,...)

注意:(1)字段名可以和表中的排列顺序不同,但是字段值所对应的位置必须按照其所对应的字段名排列; (2)字符型和⽇期型数据必须⽤‘’引起来。

eg: insert into IT (姓名,年级,专业) values(‘王湘懿’,2016,‘计算机系’)

2:删(DELATE)

格式 DELATE from 表名 【where 条件】

注意:如果省略了条件就是对所有记录执⾏删除操作。eg:delate from IT

delate from IT where 姓名=‘王湘懿’

3:改(UPDATE)

格式:UPDATE 表名 set 字段名=新值【,字段名=新值...】 【where 条件】

注意:如果省略了条件就是对所有记录执⾏操作eg:update IT set 专业=‘通信⼯程’

update IT set 专业=‘通信⼯程’ where 姓名=‘王湘懿’

4:查(SELECT)

格式:select 字段名列表 from 表名【where 条件】

注意:(1)*表⽰其中的所有列; (2)如果没有条件就是对所有记录执⾏操作;

eg:select *from IT where 姓名=‘王湘懿’

select 姓名,专业 from IT where 年级=2016

对于SELECT 语句,我们可以⽤⼀些其他的运算符和它⼀起使⽤从⽽是查找内容更精确。

运算符的优先等级:

括号();

乘,除,求模:*,/,%;

加减运算符:+,-;

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档