首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

Oracle数据库学习笔记1—SQL

2023-11-10 来源:椛椭教育网

  • SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言、面向对象的程序语言、甚至是函数语言。首先要在脑袋中有个"声明"的概念,SQL 语言是为计算机声明了一个你想从原始数据中获得什么样的结果的一个范例,而不是告诉计算机如何能够得到结果。
  • SQL语法不按套路出牌。
  • SQL有以下的几个分类:
  • 数据库查询语言(DQL) 负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。由SELECT语法组成。
  • 数据库定义语言(DDL) 负责数据结构定义与数据库对象定义的语言,由CREATE、ALTER与DROP三个语法所组成。
  • 数据库操纵语言(DML) 负责对数据库对象运行数据访问工作的指令集,以INSERTUPDATEDELETE三种指令为核心
  • 数据库控制语言(DCL) 负责数据库对象的授权和角色控制,由 GRANT 和 REVOKE 两个指令组成。
  • 资料整理来源

    维基百科:https://zh.wikipedia.org/wiki/SQL

    十步完全理解SQL:http://blog.jobbole.com/55086/

    Oracle数据库学习笔记1—SQL

    标签:

    小编还为您整理了以下内容,可能对您也有帮助:

    Oracle数据库的SQL语句

    oracle利用伪列rowid删除重复记录:
    delete from TableA a
    where rowid !=(select max(rowid) from TableA b
    where a.id=b.id and a.ca=b.ca and a.cb=b.cb)
    查询重复记录:
    select * from TableA a
    where rowid !=(select max(rowid) from TableA b
    where a.id=b.id and a.ca=b.ca and a.cb=b.cb)

    Oracle数据库的SQL语句

    oracle利用伪列rowid删除重复记录:
    delete from TableA a
    where rowid !=(select max(rowid) from TableA b
    where a.id=b.id and a.ca=b.ca and a.cb=b.cb)
    查询重复记录:
    select * from TableA a
    where rowid !=(select max(rowid) from TableA b
    where a.id=b.id and a.ca=b.ca and a.cb=b.cb)

    Oracle数据库sql语句

    DML操作(insert
    ,
    delete
    ,
    update)之后,一定要使用commit或rollback命令来结束该事务,否则直接关闭SQL
    Plus,数据库默认rollback之前未提交的事务,所以今天你在select的时候
    会显示未选定行。
    而手动输入commit,rollback
    这类的命令,是显示的提交事务(完成事务)。
    如果在DML操作之后未及时显示的提交,而是又进行了DDL操作(create
    alter...),则数据库会隐式的提交之前未完成的事务。
    所以
    下次一定要注意哦~~

    Oracle数据库sql语句

    DML操作(insert
    ,
    delete
    ,
    update)之后,一定要使用commit或rollback命令来结束该事务,否则直接关闭SQL
    Plus,数据库默认rollback之前未提交的事务,所以今天你在select的时候
    会显示未选定行。
    而手动输入commit,rollback
    这类的命令,是显示的提交事务(完成事务)。
    如果在DML操作之后未及时显示的提交,而是又进行了DDL操作(create
    alter...),则数据库会隐式的提交之前未完成的事务。
    所以
    下次一定要注意哦~~

    ORACLE 数据库SQL语句

    insert into A(ID,NAME,SFZH,SEX) select (ID,NAME,SFZH,SEX) from B;

    前提是相同字段的属性一致且A另外的字段没有非空约束。

    不知道这是不是你想要的

    oracle 数据库sql 查询语句。通过一个sql语句对多个表分别进行查询。

    用union,举例有S1表(a,b,c,d)和S2表(a,c,d,e)和S3表(f,g),里头的字段不同,但在逻辑上有关系

    (如有

    s1.b=s2.e

    s1.a=s3.f

    s1.b=s3.g)

    示例如下:

    ------------------------------------------------------------------------------

    select S1.a as x,S1.b as y,S1.c as z from S1

    union

    select S2.a as x,S2.e as y,S2.c as z from S2

    union

    select S3.f as x,S3.g as y,'' as z from S3

    ------------------------------------------------------------------------------

    最终结果会是三张表的和,如果S1有10条记录,S2有3条记录,S3有4条记录,则执行本SQL后会得到17条记录,其中来自S3表的数据,第三列一定为空的。

    显示全文