ABAP之SQL操作(select、insert、update、delete、modify)
ABAP之SQL操作(select、insert、update、delete、modify)
⼀、SELECT 语句
SELECT
INTO|APPEND [CORRESPONDING FIELDS OF]
FROM
[INNER]JOIN
WHERE
GROUP BY
HIVING
ORDER BY PRIMARY KEY.
lines:single
读取⼀条数据:.
SELECT SINGLE
注意:限制好where条件,否则返回任意⼀条数据,与预期结果不同.
DISTINCT :删除重复值。
SELECT [DISTINCT]
当INTO 为字段或者结构体时,结尾必须加上ENDSELECT;如果是内表则不需要。
AS
SELECT
INTO语句:
1. [CORRESPONDING FIELDS OF]
SELECT ...INTO [CORRESPONDING FIELDS OF]
2.内表
查询多条数据是使⽤内表,须使⽤APPENDING,不能使⽤INTO,INTO是删除内表数据后插⼊时使⽤的。
SELECT ...INTO|APPEND [CORRESPONDING FIELDS OF]
PACKAGE SIZE:表⽰每次追加到内表的条数,此时须使⽤ENDSELECT.
SELECT INTO CORRESPONDING FIELDS OF TABLE itab
PACKAGE SIZE 5
FROM SPFLI.
ENDSELECT.
FROM语句:
1.选择静态表:
SELECT ...FROM
2.JOIN语句
SELECT ...FROM
3.限制查询个数
SELECT ...FROM
WHERE语句:
1.where条件语句
SELECT ...WHERE
2.常⽤语句
SELECT ...WHERE [NOT]BETWEEN
SELECT ...WHERE COL2 LIKE '_ABC%'.
SELECT ...WHERE [NOT]IN ( [NOT]IN
3.FOR ALL ENTRIES 语句.
SELECT ... FOR ALL ENTRIES IN
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
⼆、INSERT
⼀条数据
INSERT INTO
INSERT
多条数据.
INSERT
插⼊数据时,避免有相同主键引起dump error错误,使⽤ACCEPTING DUPLICATE。此时sy-subrc返回4.三、UPDATE
⼀条数据
UPDATE
多条数据.
UPDATE
UPDATE
四、DELETE
⼀条数据
DELETE
多条数据.
DELETE FROM
五、MODIFY.
⼀条数据
MODIFY
多条数据.
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)
⼀、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是一种面向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数据库操作
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增删改查语句
- 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内表
什么是内表:内表是内存中建立的一个临时表,你可以在程序运行时对表中的数据进行,插入,修改,删除等操作,程序跑完了,就会被释放。
--内表定义
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 语句,我们可以⽤⼀些其他的运算符和它⼀起使⽤从⽽是查找内容更精确。
运算符的优先等级:
括号();
乘,除,求模:*,/,%;
加减运算符:+,-;
