• Oracle学习笔记(二)


    创建表

    create table tablename(
        id number(2) primary key,
        name varchar(10) not null, 
        sex char(5) check(sex='man' or sex='women'),
        tel number(11) unique,
        address varchar(30) default 'beijing'
    );
    
    增加注释
    comment on table tablename is '这是测试表'
    comment on column tablename.id is '主键id'

    删除表

    删除数据
    delete from tablename
    删除表
    drop from tablename

    修改表

    1.增加字段
    alter table 表名 add(字段名 字段类型 默认值 是否为空);
    2.修改字段
    alter table 表名 modify (字段名 字段类型 默认值 是否为空);
    3.删除字段
    alter table 表名 drop column 字段名;

      单行添加

    insert into  表名(
            字段1,字段2,日期)
        values(
            添加1,添加2,(to_date('2012/10/22','yyyy/mm/dd'))
    );    

      多行添加

    INSERT ALL
        INTO mytable (字段1, 字段2, 字段3) VALUES (添加1, 添加2, 添加3)
        INTO mytable (字段1, 字段2, 字段3) VALUES (添加1, 添加2, 添加3)
        INTO mytable (字段1, 字段2, 字段3) VALUES (添加1, 添加2, 添加3)
    SELECT * FROM dual;

      清空表

    delete from 表名 where 条件

     

    Update 表名
            Set 字段名=修改的值,字段名=修改的值,
    Where 条件;        

      多字段优先排序

    select
            *
    from
            表名
    where
            条件 order 字段1 desc,字段2 desc;

    查询字符转数字最大值,若为空则显示0

    SELECT
        nvl(max(to_number(id)),0) as id
    from
        table_name

    时间区间内查询

    sql语句
    select
            *
    from 
            message 
    where 
            to_char(结束时间,'yyyymmdd') >= to_char(sysdate,'yyyymmdd') 
            and 
            to_char(开始时间,'yyyymmdd')  <= to_char(sysdate,'yyyymmdd');
    
    Mybatis写法
    select
            *
    from 
            message 
    where 
            to_char(结束时间,'yyyymmdd') >= to_char(sysdate,'yyyymmdd') 
            and 
            to_char(开始时间,'yyyymmdd')  &lt;= to_char(sysdate,'yyyymmdd');
    

     定义转义符--escape

    select * from  where name='/_lisi/_' escape'/'

     

    select * from dual

      在Oracle数据库内有一种特殊的表Dual。Dual表是Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select中。Dual表由Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2(1)类型,有一行值X。从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。
    用途
      1、select计算常量表达式、伪列等值
      oracle内部处理使它只返回一行数据,而使用其它表时可能返回多个数据行。
      2、查看当前用户
      select user from dual;
      select count(*) from dual;
      3、用做计算器
      select 7*9*10-10 from dual;
      4、调用系统函数
      (1)获得当前系统时间
       select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
      (2)获得主机名
       select sys_context('userenv','terminal') from dual;
      (3)获得当前locale
       select sys_context('userenv','language') from dual;
      (4)获得一个随机数
       select DBMS_RANDOM.random from dual;
      5、查看序列值
      (1)创建序列aaa 以1开始,每次加1
       create sequence aaa increment by 1 start with 1;
      (2)获得序列aaa 的下一个序列值
       select aaa.nextval from dual;
      (3)获得序列aaa 的当前序列值
       select aaa.currval from dual;

  • 相关阅读:
    winform 利用属性在父、子窗体间传值
    .netweb页面间传值的整理
    微软原版sqlhelper
    oracle 实现 split 函数
    sql server通过exec sp_executesql @pagecountsql,N'@RecodeNum int output',@RecodeNum output 传参执行自定义@sql
    .net 对XML实例
    三级联动DropDownList
    Quickly and partly build&debug OOo on ubuntu
    反思
    完整的学习C++的读书路线图
  • 原文地址:https://www.cnblogs.com/zhang20190701/p/11940848.html
Copyright © 2020-2023  润新知