• 表管理


    管理

    创建和维护

    表名和列的命名规则

    必须以字符开头

    长度不能超过30个字符

    不能使用Oracle的保留字

    只能使用如下字符A-Z,z-z,0-9,$,#

    数据类型

    字符型

    Char 定长 最大2000字符。 根据字段创建长度存储数据自动补齐空格,查询速度快

    Varchar(20) 变长 最大4000字符。 节省空间

    clob character large objiect) 字符型大对象 最大4G

    数字型

    Number 范围 -1038次方-1038次方 可以表示证书也可以表示小数

    Number(5,2)  5位数,两位小数 范围 -999.99-999.99

    日期类型

    Data 年月日和时分秒

    Timestamp Oracle date数据类型的扩展

    图片类型

    Blob 二进制数据 可以存放图片/声音 4G

    1、建表

    create table student

    (xh number(4),--学号

    Xm varchar(20)--姓名

    Sex char(2),

    Birthday date,

    Sal number(7,2)

    );

    表空间:

    2、修改表

    增加字段(且添加注释)

    alter table TSL_SES_Session add TARGET_TABLENAME varchar2(30) default null;

    comment on column TSL_SES_Session.TARGET_TABLENAME is '目标表名';

    修改字段长度

    alter table BO_HOSP_CERT modify (PRO_TYPE_CD varchar2(3) );

    修改表名

    方法一:

       alter table 旧表名 rename to 新表名

    方法二:

       rename 旧表名 to 新表名  ###只能修改自己Schema下的表

    删除字段

    alter table TSL_SES_Session drop (TargetTabName );

    3、添加数据

    oracle添加数据时只能是’31-12-2018

    orale默认的日期格式 ‘DD-MON-YY’ --

    可以修改Oracle 日期字段格式alter session set nls_date_format=’yyyy-mm-dd’

    4、删除数据

    Delete 删除记录,表结构还在,写日志,可以恢复的,速度慢

    Truncate 删除表中所有数据,表结构还在,不写日志,无法找回删除的记录,速度快

    savepoint aa;--删除前先保存还原点

    Delete from BO_HOSP_CERT;

    Rollback to aa;--回滚

    基本查询

    命令行 查看表的结构

    desc TSL_SES_Session;

    查看查询数据的时间

    Set timing on;

    Nvl处理null值

    Nvl(string,0)

    Date类型查询

    select *from bb_tsl_conf_info  where cre_date>'12-10月-2017' 

    查看表信息

    SELECT num_rows,table_name FROM TABS order by num_rows desc;//查询当前用户库中记录最大的表

    SELECT * FROM user_tab_cols WHERE table_name='BB_CONFIG_BUSINESS'

    复杂查询

    笛卡尔积:夺标查询的条件是至少不能少于表的个手术-1

    All操作符

    Select name,sal,dept, from emp where sal>all(select sal from emp where deptno=30)

    多列子查询

    Select *from emp where (deptno,job)=(select deptno,job from emp where ename=’SMITH’)

    分页查询

    Oracle分页一共有三种方式

    1、rownum方式

    用查询结果常见一张新表

    Create table mytable(id,name,sal) as select empno,ename,sal from emp;

    Oracle数据库的创建

    使用Oracle提供的向导工具创建,数据库配置助手

     

    自增列

    1声明一个序列

    create sequence SB_LOG_DATA_EXTR_rec_id

    minvalue 1

    maxvalue 999999999999

    start with 1

    increment by 1

    nocache;

    2、获取序列

    select SB_LOG_DATA_EXTR_rec_id.NEXTVAL as id from dual

     

    查看当前用户下所有的表

       select tname from tab where tabtype='TABLE'; 

    系统表和视图  

    select * from  user_tables                     --关系表

    select * from  user_all_tables                 --表(user_all_tables是user_tables与user_object_tables的集合)

    select * from user_tab_columns                --表列

    select * from user_tab_comments               --表的注释

    select * from user_col_comments               --表和视图的列的注释

  • 相关阅读:
    设计模式
    三——第二部分——第二篇论文 计划建设SQL Server镜像
    非正确使用浮点数据由项目产生BUG讨论的问题
    重写ViewPager实施单一交有关切换到这个问题,并没有缓存
    1159 Palindrome(最小插入回文串)
    CSDN-markdown编者LaTex数学公式
    找工作总结
    开展:随笔记录 OSGI的jar增加了一些小问题和注意事项
    js jquery版本号 金额千分之一转换功能(非规范,高效率)
    dom4j.jar有什么作用?
  • 原文地址:https://www.cnblogs.com/rongxiaoya/p/10306172.html
Copyright © 2020-2023  润新知