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

相关文章

  • Java学习

    Java 基础知识点 基础语法 多线程 并发 IO、NIO 集合框架 网络 RMI SQL 上图来自Java 征途...

  • 数据库基础和SQL基础总结

    本文会总结下数据库知识,SQL基础,常用SQL语句总结; 一、数据库基础相关概念 二、数据库重点知识点 三、数据库...

  • PL/SQL基础知识详解

    PL/SQL 这是对Oracle-SQL知识点详细介绍的文章系列,其他文章如下: Oracle-SQL系列知识点(...

  • SQL基础知识点

    SELECT 取出多条数据 取出单一一条数据 SELECT SINGLE (指定的主key, 能限定唯一一条数据 ...

  • sql

    sql-基础sql-基础查询-1sql-基础查询-2sql-更新 概览 数据库(Database,DB):将大量数...

  • Mysql 快速指南

    Mysql 快速指南 本文的示例在 Mysql 5.7 下都可以测试通过。 知识点 概念 SQL 基础 增删改查 ...

  • BUUCTF-Web-随便注(三种解题思路)

    知识点:SQL注入-堆叠注入,sql预处理语句,巧用contact()函数绕过 堆叠注入原理: 在SQL中,分号(...

  • SQL基础及元数据获取(数据类型,表的属性)

    1、SQL基础应用 ①.SQL的介绍SQL标准:SQL-92、SQL-99SQL_MODE:都是为了保证SQL语句...

  • MySql手动注入

    information_schema SQL基础 1.1 什么是sql? SQL(structured query...

  • Oracle-SQL系列知识点(一)

    Oracle-SQL 这是对Oracle-SQL知识点详细介绍的文章系列,其他文章如下: Oracle-SQL系列...

网友评论

    本文标题:SQL基础知识点

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