SQL基础知识点

作者: SAP杰 | 来源:发表于2022-03-11 20:33 被阅读0次

    SELECT

    取出多条数据

    取出单一一条数据

    SELECT SINGLE (指定的主key, 能限定唯一一条数据 : 指定所有主键)

    up to 1 rows (指定的主key, 不能限定唯一一条数据)

    FOR ALL ENTRIES IN 函数MAX SUM等

    SELECT 字段1

                字段2..

                字段n

        FROM db

        INTO TABLE tbl

    WHERE 字段a = 条件值a

        AND字段b  = 条件值b

        OR  字段c  = 条件值c

      全字段抽出的时候,可以用*

      (适用条件:通常是表抽出字段 >20个,

        或者抽出字段个数 是全字段个数的2/3以上)

      2. 如果是向有数据的内部表中追加的话,可以使用APPENDING

      3. 可以使用ORDER BY  对取出的数据排序

      4. 可以使用 CORRESPONDING FIELDS OF (但是,需要注意字段id 必须完全一致才可以)

      5. 可以使用 UP TO n ROWS  来限定,只取出n条数据 (极少使用)

    表连接

    INNER JOIN(内连接)

    LEFT OUTER JOIN(右表的单独条件写在结合条件中,不可写在where条件中)

    CREATE:

    单一条

    通过内表多条一次处理 ACCEPTING DUPLICATE KEYS. 允许重复数据

    INSERT :

    新增单一一条数据到数据库中。

    一般情况下,程序处理会有多条数据。使用单条数据插入方式的话,

    优点:可以适用于部分提交 部分回滚的情况,且能将错误更清楚地表现出来

              (具体精确到是哪一条数据出错了)

      缺点:必须循环中更新数据库,效率会低下。

      语法:

        INSERT INTO target DB VALUES wa. 或

        INSERT target DB FROM wa.

    新增多条数据到数据库中。

    一般情况下,程序处理会有多条数据。使用单条数据插入方式的话,

      优点:  因为一次访问更新数据库 效率高

      缺点: 只能要么全部数据提交,要么全部数据回滚。

              且如若出错,无法精确到是哪一条数据出错了。

      语法:

        INSERT target DB FROM TABLE itab.  (ACCEPTING DUPLICATE KEYS )

        ACCEPTING DUPLICATE KEYS 的话,可以避免有key重复数据时候dump的发生

    UPDATE:

    按照where条件 多条更新

    单一一条

    通过内表 多条一次处理

    更新单一或多条数据到数据库中。

    一般情况下,程序处理会有多条数据。使用单条更新方式的话,

      优点:可以适用于部分提交 部分回滚的情况,且能将错误更清楚地表现出来

              (具体精确到是哪一条数据出错了)

      缺点:必须循环中更新数据库,效率会降低。

    缺点:必须循环中更新数据库,效率会降低。

      语法:

        1. UPDATE target DB                   

                  SET f1 = xxx

                        f2 = xxx

            WHERE  key1 = xxx

                  and  key2 = xxx.

        2.  UPDATE target DB FROM wa

    更新多条数据到数据库中。

    一般情况下,程序处理会有多条数据。使用多条数据插入方式的话,

      优点:  因为一次访问更新数据库 效率高

      缺点: 只能要么全部数据提交,要么全部数据回滚。

              且如若出错,无法精确到是哪一条数据出错了。

      语法:

        UPDATE target DB From TABLE itab

    DELETE:

    按照where条件 多条删除

    单一一条

    通过内表 多条删除

    删除单一或多条数据到数据库中。

    语法:

    1. 按条件删除

        DELETE target DB                   

          WHERE  key1 = xxx

                and  key2 = xxx.

      2.  DELETE target DB FROM wa

      3. DELETE target DB FROM itab.

    第二种和第三种写法,虽然SAP是支持的。但是在实际项目中,比较少地使用。

    绝大多数情况是按条件删除数据

    MODIFY

    创建+更新

    数据库中存在KEY相同的数据,则更新;不存在,则新增。

    语法:

    1. MODIFY target DB  FROM wa               

    2. MODIFY target DB  FROM TABLE itab .

    注:实际项目中极不推荐使用MODIFY语句

    数据提交和回滚

    DB锁

    逻辑锁

    修改表之前,先尝试加锁lock

    如果加锁成功(没有被其他人占用), LOCK住

    如果加锁失败 ERROR

    相关文章

      网友评论

        本文标题:SQL基础知识点

        本文链接:https://www.haomeiwen.com/subject/pishdrtx.html