热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OracleTips

创建用户CREATEUSERyaohw--创建一个用户,IDENTIFIEDBYyaohw--密码为DEFAULTTABLESPACEspa--默认表空

创建用户

 

CREATE USER "yaohw" --创建一个用户,
IDENTIFIED BY "yaohw" --密码为DEFAULT TABLESPACE "spa" --默认表空间是 GTOA
TEMPORARY TABLESPACE "TEMP" --临时表空间是 TEMP
ACCOUNT UNLOCK; --帐号正常未锁定GRANT"CONNECT" TO "yaohw" WITH ADMIN OPTION;
--授予用户LNCKQ 创建连接的角色,并可再授权GRANT"DBA" TO "yaohw" WITH ADMIN OPTION;
--授予用户LNCKQ 数据库管理员的橘色,并可再授权

 

 

 

日期处理

 

to_date('2004-11-12 12-07-32','yyyy-mm-dd hh24-mi-ss')

 

 

分页查询(经验证在MySQL中同样好使???)

SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <&#61; 40
)
WHERE RN >&#61; 21

注&#xff1a;内层控制最大行数&#xff0c;外层控制最小行数&#xff0c;即展示第21行到第40行数据

还有第二种写法

SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
)
WHERE RN BETWEEN 21 AND 40

绝大多数的情况下&#xff0c;第一个查询的效率比第二个高得多。

分页查询时&#xff0c;当返回列没有添加别名&#xff0c;且字段值重复时&#xff0c;会提示错误&#xff1a;

SELECT *FROM (SELECT rownum r, records.*from (select role.id,admin.id from role , admin ) recordswhere rownum < 3)where r >&#61; 1

 

递归查询

变态的Oracle可以做递归

--如果只用connect by 而不加 prior 查找的将是 level 为1的一级。
select ... from tablename--据说可以在这放上where
where cond0start with cond1 connect by prior cond2

 元数据查询

元数据简介

  元数据 (metadata) 最常见的定义为"有关数据的结构数据"&#xff0c;或者再简单一点就是"关于数据的信息"&#xff0c;日常生活中的图例、图书馆目录卡和名片等都可以看作是元数据。在关系型数据库管理系统 (DBMS) 中&#xff0c;元数据描述了数据的结构和意义。比如在管理、维护 SQL Server 或者是开发数据库应用程序的时候&#xff0c;我们经常要获取一些涉及到数据库架构的信息&#xff1a;

  某个数据库中的表和视图的个数以及名称 &#xff1b;

  某个表或者视图中列的个数以及每一列的名称、数据类型、长度、精度、描述等&#xff1b;

  某个表上定义的约束&#xff1b;

  某个表上定义的索引以及主键/外键的信息。

  下面我们将介绍几种获取元数据的方法。

&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;获得元数据&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;

  • 创建表&#xff0c;并给表和字段加上描述 
    CREATE TABLE MANTIS_CODE(
        ID      VARCHAR2(32)     NOT NULL,
        NAME    VARCHAR2(255)    NOT NULL
    );

CREATE TABLE MANTIS_CODE_ITEM(
    CODE_ID    VARCHAR2(32)     NOT NULL,
    VALUE      VARCHAR2(32)     NOT NULL,
    NAME       VARCHAR2(255)
)
;

  • .创建主键 
     alter TABLE MANTIS_CODE add constraint  PK_MANTIS_CODE primary key (ID)
  • 联合主键 
     alter TABLE MANTIS_CODE add constraint  PK_MANTIS_CODE primary key (ID&#xff0c;NAME)
  • 创建表描述 
    COMMENT ON TABLE mantis_code is &#39;代码表&#39;
  • 创建字段描述 
    COMMENT ON COLUMN mantis_code.ID is &#39;代码标识&#39;
  •  创建外键 
    alter table MANTIS_CODE_ITEM  add constraint   FK_MANTIS_CODE_ITEM foreign key(CODE_ID) references  MANTIS_CODE(ID)
  • 取得表的描述 
    select * from user_tab_comments where  comments  is  not  null
  • 取得字段 
    select   t.TABLE_NAME,t.COLUMN_NAME,t.DATA_TYPE,t.DATA_LENGTH,t.DATA_PRECISION,t.DATA_SCALE,

t.NULLABLE,t.DATA_DEFAULT  from   user_tab_columns t where t.TABLE_NAME&#61;&#39;USER_INFO&#39;

  • 取得字段的描述 
    select   *   from   user_col_comments   where   comments   is   not   null;
  •  取得表的主键 
    select *  from user_cons_columns cc,user_constraints c
     where c.constraint_name &#61; cc.constraint_name
       and c.constraint_type &#61; &#39;P&#39;
       and cc.table_name &#61; &#39;USER_INFO&#39;
  • 取得外键 
    select r.CONSTRAINT_NAME,
           r.TABLE_NAME,
           r.R_CONSTRAINT_NAME,
           rc.COLUMN_NAME,
           pc.COLUMN_NAME as PK_COLUMN_NAME,
           pc.TABLE_NAME as PK_TABLE_NAME
      from USER_CONSTRAINTS r,
           USER_CONS_COLUMNS rc,
           USER_CONSTRAINTS p,
           USER_CONS_COLUMNS pc
     where r.CONSTRAINT_TYPE &#61; &#39;R&#39;
       and r.CONSTRAINT_NAME &#61; rc.CONSTRAINT_NAME
       and pc.CONSTRAINT_NAME &#61; p.CONSTRAINT_NAME
       and p.CONSTRAINT_TYPE &#61; &#39;P&#39;
       and r.R_CONSTRAINT_NAME &#61; p.CONSTRAINT_NAME
       and r.TABLE_NAME &#61; &#39;USER_ROLE_MAP&#39;

如果取得数据库表则从ALL_CONSTRAINTS  ALL_CONS_COLUMNS中取得


 &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;另外一种组织方式来获得元数据&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;

--表信息


select * from all_tab_comments t
where owner&#61;&#39;DBO&#39;

--列信息


select * from all_col_comments t
where owner&#61;&#39;DBO&#39;

--主键、外键对照


select OWNER, CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME, R_OWNER, R_CONSTRAINT_NAME
from all_constraints
where owner&#61;&#39;DBO&#39; and (Constraint_Type&#61;&#39;P&#39; or Constraint_Type&#61;&#39;R&#39;)


--主键、外键信息


select * 
from all_cons_columns 
where owner&#61;&#39;DBO&#39;
order by Constraint_Name, Position

 TODO...

转:https://www.cnblogs.com/yaohonv/archive/2012/04/28/oracle-sql.html



推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • JAVA调用存储过程CallableStatement对象的方法及使用示例
    本文介绍了使用JAVA调用存储过程CallableStatement对象的方法,包括创建CallableStatement对象、传入IN参数、注册OUT参数、传入INOUT参数、检索结果和OUT参数、处理NULL值等。通过示例代码演示了具体的调用过程。 ... [详细]
  • MySQL锁--(深入浅出读书笔记)
    MySQL锁的概述1.针对不同的引擎,采用不同的锁机制;(表锁,页面锁,行锁)myisam和memory存储引擎:表级锁;BOB存储引擎:页面锁,表级 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • 本文介绍了解决mysql 5.1启动问题的方法,通过修改my.ini文件中的相关配置,包括innodb_data_home_dir和skip-innodb等,可以解决启动问题。同时还介绍了如何调整内存池来存储metadata信息。 ... [详细]
  • 感谢大家对IT十八掌大数据的支持,今天的作业如下:1.实践PreparedStament的CRUD操作。2.对比Statement和PreparedStatement的大批量操作耗时?(1 ... [详细]
  • Java中自动生成实体类
    Q1:实体层(vo)packagecom;importjava.io.File;importjava.io.FileWriter;importjava.io.IOExcep ... [详细]
  • 初始化_SQL Server 2017 AlwaysOn AG 自动初始化
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了SQLServer2017AlwaysOnAG自动初始化相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
大爱仅有的财产丶_468
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有