orcal数据库

作者: rilakkumaboy | 来源:发表于2018-09-13 14:58 被阅读204次

    orcal必背的知识点

    /*

    多表查询的思路:

    1.分析题目涉及哪些表

    2.如果数据来自多张表,就要使用多表查询:找到表与表之间相同的字段用 = 连接(并放到where字句后面)

    3.如果需要对单条记录做过滤,就把过滤条件追加到where字句后面,用and连接

    4.如果需要对多组数据做统计,就要使用group by

    5.如果需要对分组之后的数据做过滤,就要使用having

    6.如果需要对数据进行排序,就要用到order by

    */

    ---- delete   truncate     drop的区别

    delete from 表名

    where 过滤条件;(可以撤销)(删除单行或多行,不加where条件删除表的所数据)


    truncate table 表名(不能撤销)(删除表里的所有数据)


    drop table 表名(删除整个表,不能撤销)

     

     

    模糊查询:

    ---模糊查询关键字:like

    匹配符:

    %:表示匹配任意长度的字符

    _:下划线,表示匹配一个长度的任意字符

    */

    /*

    右连接:

    select 字段

    from 1 1别名,表2 2别名

    where 1别名.字段(+) = 2别名.字段

    左连接:select 字段 from 1 1别名,表2 2别名 where 1别名.字段 = 2别名.字段(+)

    */

    去重:

    /* 去重:distinct 字段 */

    增,删,改,查的语法:

    /*添加数据

    insert into 表(字段1,字段2...字段n)

    values(值1,值2,...值n)

    commit;永久保存在数据库

    rollback;撤销输入的数据

    */

    /*---删除数据库表中的数据

    delete from 表名

    where 过滤条件;(可以撤销)

    truncate table 表名(不能撤销)

    drop table 表名(删除整个表,不能撤销)

    */

    /*修改数据

    update 表名

    set 字段 = 修改后的值

    where 过滤条件;

    */ 

    /*查询数据

    select 字段/表达式

    from

    where 过滤条件

    group by 字段

    having 分组条件

    order by 字段/表达式asc/desc;

    */


    orcal数据库知识点

    --创建表格--

    /*

    create table 表名(

           字段1 数据类型,

           字段2 数据类型,

           字段3 数据类型,

           ....

           字段n 数据类型

    ); */

     

    /* 数据类型

    唯一约束(unique)

    非空约束(not null)

    主键(primary key)

    检查约束(check)

    外键(references)

    默认值(default)

    */

     

    --------修改表:增加列 --------

    /*

    alter table 表名add(增加)(

          字段名1 数据类型,字段名2 数据类型...字段名n 数据类型

    );

    alter table 表名modify(修改)(

          字段名1 数据类型,字段名2 数据类型...字段名n 数据类型

    );

    alter table 表名 drop(删除) column字段名;

    */

    /* 去重:distinct 字段*/


    /*----精确查询 模糊查询

    ---模糊查询关键字:like

    匹配符:

    %:表示匹配任意长度的字符

    _:下划线,表示匹配一个长度的任意字符

    */

     

    -----查询空值  is null非空is not null

     

    ---排序   order by asc(升序)/desc(降序)

     

    /*添加数据

    insert into 表(字段1,字段2...字段n)

    values(值1,值2,...值n)

    commit;永久保存在数据库

    rollback;撤销输入的数据

    */

     

    ---插入指定的时间  to_date('字符串','格式')

    to_date('1997-11-25','yyyy-mm-dd')

    ------修改数据库的数据

    /*修改数据

    update 表名

    set 字段 = 修改后的值

    where 过滤条件;

    */

    /*---删除数据库表中的数据

    1.delete from 表名

    where 过滤条件;(可以撤销)

    delete from 表名(不加wehere条件,删除表所有数据)

    2.truncate table 表名(不能撤销)

    3.drop table 表名(删除整个表,不能撤销)

    */

     

    /*

    ---count(*)统计整个表的所有行数

    ---count(字段)统计整个表的非空行数

    ---avg(字段)--统计平均数据

    ---min(字段)--统计最小值

    ---max(字段)--统计最大值

    ---sum(字段)--统计总和

    */

    ---group by 分组查询

    /*

    select 字段/表达式

    from

    where 过滤条件

    group by 字段

    having 分组条件;

    */

    ---多表查询

    /*

    思路:

    1.分析题目涉及哪些表

    2.如果数据来自多张表,就要使用多表查询:找到表与表之间相同的字段用 = 连接(并放到where字句后面)

    3.如果需要对单条记录做过滤,就把过滤条件追加到where字句后面,用and连接

    4.如果需要对多组数据做统计,就要使用group by

    5.如果需要对分组之后的数据做过滤,就要使用having

    6.如果需要对数据进行排序,就要用到order by

    */

    ---外连接:左连接/右连接

    /*

    右连接:

    select 字段

    from 1 1别名,表2 2别名

    where 1别名.字段(+) = 2别名.字段

    左连接:select 字段 from 1 1别名,表2 2别名 where 1别名.字段 = 2别名.字段(+)

    */

     

    ----子查询

    /*

    select 字段

    from

    where 字段= (select 字段 from where 条件)

    */

    ----子查询,必须要用()括起来。

    多行值子查询

        多行子查询,是指子查询会返回多个值,此时,需要用到多值比较运算符:[not]in

       in运算符表示属于的关系,即是否在所选数据的集合之中。"not in"表示不属于集合或不是集合的成员


    rownum 隐藏排序

    相关文章

      网友评论

      • 鸥晓栢:我就说看起来怪怪的,单词拼错了...oracle

      本文标题:orcal数据库

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