Oracle数据库常见sql】的更多相关文章

-新建表:create table table_name( id varchar2(300) primary key, name varchar2(200) not null); --插入数据 insert into table_name (id,name) values ('aa','bb'); --更新数据 update table_name set id = 'bb' where id='cc'; --删除数据 delete from table_name where id ='cc';…
oracle数据库经典SQL查询 .查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name; .查看表空间物理文件的名称及大小 select tablespace_name, …
1.第一个SQL 背景:需要找到SQL Server数据库中,包含某个字符串的表,输出表和包含该字符串的列. )='=' --这里填要搜索的字符串 DECLARE @sql NVARCHAR(MAX) SET @sql=N'DECLARE @sql NVARCHAR(MAX),@ColNames NVARCHAR(MAX),@ColValues NVARCHAR(MAX);SET @ColNames=NULL;SET @ColValues=NULL; SELECT @ColNames=ISNUL…
一.说明 第一次使用Oracle,想做一些练习,熟悉一些oracle. 表:使用的是scott用户,默认的表 具体表讲解,可以参考该文档:https://www.cnblogs.com/xjcheng1/p/7220159.html 二.基础练习 第一.查询工资在0-1000,1000-2000,2000-3000,3000以上各个工资范围的员工数. SELECT SUM(CASE WHEN sal>0 AND sal<1000 THEN 1 ELSE 0 END) AS "0<…
Oracle数据库常见版本 在Oracle数据库的发展中,数据库一直处于不断升级状态,有以下几个版本: Oracle 8,Oracle 8i:Oracle 8i表示Oracle正式向Internet上开始发展,其中i表示就是internet Oracle 9i:Oracle 8i是一个过渡版本,Oracle 9i是一个更加完善的数据库版本 Oracle 10g:g表示网格,即:这种数据库采用网格计算的方式进行操作 Oracle 11g:是Oracle 10g的稳定版本,也是现在使用比较广泛的新版…
在应用系统开发初期,由于开发数据库数据比较少,对于查询sql语句,复杂试图的编写等体会不出sql语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要问题之一.系统优化中一个很重要的方面就是sql语句的优化.对于海量数据,劣质sql语句和优质sql语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就行,而是要写出高质量的sql语句,提高系统的可用性. Oracle的sql调优第一个复杂的主题,甚至需要长…
在系统开发过程中,需要对数据进行查询,大部分情况下从数据库中查询的数据量比较大,在系统页面无法全部显示,而且查询全部的数据会影响系统的反应速度,需要对所查询的数据进行分页的查询操作,以此减轻系统的压力. 在Oracle数据库中,如何完成分页SQL的编写,影响着系统开发的速度,特提供两个SQL的分页模板: (1).采用oracle的内置函数ROWNUM.(ROWNUM是结果的伪列,仅仅当聚集结果时产生,但早于排序或聚合) select <columns I actually want>,rown…
业务需求说明:由于之前公司后台APP端有一个document表,该表中包含了所有的信息,新的需求就是通过该表创建出一个新的用户表(usertable)和一个档案表(document,该表只保留原document的部分字段). ps:原document表的数据有25万条的数据,因此在处理的时候,需要考虑到性能的问题. 首先当然是对两个表进行字段的设计,然后是再将原document表中的数据导入到这两个表中. 方案1:第一次采用的是最简单,最直接的方法,但是忽视了效率的问题. 方法是通过查询原doc…
主要内容:用户与表空间:表与约束:查询语句. 一.概述 Oracle安装:访问官网,下载 二.用户与表空间 在安装Oracle时在开始菜单里可以用sql puls登录oracle. ★1.系统用户 sys.system (sys的权限要大于system,sys只能以系统管理员sysdba登录,system可以直接登录) sysman (用于企业管理,也是管理员级别的用户) scott (密码默认密码为tiger) 在sys,system,sysman,scott四个用户权限中,scott用户最低…
笔者日常工作中常用到的sql语句,现总结如下,留作日后查看. 1.按照两列中的最大值取 ,只取两列其中的一列 SELECT * FROM t_doc T ORDER BY GREATEST(T.Load_Count,T.Read_Count) desc 2.取两列之和 select t.*,(nvl(T.Load_Count,0)+nvl(T.Read_Count,0 )) as c FROM t_doc T order by c desc 3.取两列字符串连接 select T.Load_Co…
一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSERT INTO 表名(字段名1, 字段名2, ……)  SELECT (字段名1, 字段名2, ……) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’ 如果字段值里包含单引号’ 需要进行字符串转换, 我们把它替换成两个单引号''. 字符串类型的字段值超过…
一.oracle常用数据类型 一.  数据定义语言(ddl) 数据定义语言ddl(data definition language)用于改变数据库结构,包括创建.更改和删除数据库对象. 用于操纵表结构的数据定义语言命令有: create table alter table truncate table drop table eg. --创建tb_stu表数据结构 create table tb_stu( id number, name varchar2(20) );   --修改tb_stu表数…
Oracle基础练习题,采用Oracle数据库自带的表,适合初学者,其中包括了一些简单的查询,已经具有Oracle自身特点的单行函数的应用 本文使用的实例表结构与表的数据如下: emp员工表结构如下: Name     Type         Nullable Default Comments -------- ------------ -------- ------- -------- EMPNO    NUMBER(4)                       员工号 ENAME   …
在安装Oracle数据库的PL/SQL工具时候,电脑名称是重装系统后自动生成的用户名名称,作为程序员,有很强的强迫症,就想利用自己的英文名称作为自己电脑的名称,所以就修改了电脑的名称:结果PL/SQL数据库可视化工具就不能打开了:下面是修改电脑用户名后需要修改Oracle数据库相关数据的步骤: 修改过后出现这样的问题: Windows不能在本地计算机启动OracleDBConsoleorcl 解决的步骤: 1.开始->运行cmd 2.执行 emctl start dbconsole C:\Doc…
(转发)近期为公司的一个项目数据库进行了转换,将Oracle的Db转换为SqlServer(2000或2005均可),一开始在网上找了一些资料,发现有个工具叫SwisSql的,尝试了一下,没成功,继续查找.后来经同事提醒,使用SqlServer的导入和导出工具,尝试一下,确实可以转换.操作步骤如下所述. 所需要的环境比较简单,就是本机可以同时连接Oracle和SqlServer即就,注意:这里不必为Oracle数据库建立ODBC,采用直连方式即可,需要新建一个SqlServer数据库,用于加载O…
Oracle数据库的访问方式,和SqlServer数据库是有很大差别的,下面用图来说明: 1.Sql Server数据库 SqlServer数据库的访问方式,大致是:假设用户通过sa登录SqlServer数据,那么当前用户就可以操作,SqlServer中的所有数据库. 2.Oracle数据库,这里列举的是单实例数据库模式,并不是RAC集群…
Oracle基础练习题,采用Oracle数据库自带的表,适合初学者,其中包括了一些简单的查询,已经具有Oracle自身特点的单行函数的应用 本文使用的实例表结构与表的数据如下: emp员工表结构如下: Name     Type         Nullable Default Comments -------- ------------ -------- ------- -------- EMPNO    NUMBER(4)                       员工号 ENAME   …
1.解决问题: 开发文档中字段比较多的时候,建表sql(Oracle下划线命名规范)比较麻烦,容易出错~~ (主要是懒) 特意手写一个工具,根据excel字段,生成建表的sql语句. ~~~末尾附GitHub传送门~~~ 2.Java代码 Excel头: public class ExcelHead { private String excelName; //Excel名 private String entityName; //实体类属性名 private boolean required=f…
https://www.jb51.net/article/125160.htm?utm_medium=referral  Python使用cx_Oracle调用Oracle存储过程的方法示例 https://www.jb51.net/article/139627.htm  Python使用cx_Oracle模块操作Oracle数据库 https://www.jb51.net/article/116017.htm  Oracle存储过程及调用 1.创建存储 带输入.输出参数的存储过程语法: cre…
01.查询员工表所有数据,并说明使用*的缺点 select * from emp 02.查询职位(JOB)为'PRESIDENT'的员工的工资 select sal from emp where job='PRESIDENT' 03.查询佣金(COMM)为0或为NULL的员工信息 select * from emp where COMM=0 or comm=null 04.查询入职日期在1982-5-1到1981-12-31之间的所有员工信息 select * from emp where HI…
实验环境:Linux6.4 + Oracle 11g 面向读者:Oracle开发维护人员 概要: 1.误操作drop了emp表 2.误操作delete了emp表 3.误操作delete了emp表的部分记录 4.误操作truncate了emp表 5.误操作带有purge选项drop了表 本文以Oracle自带的scott用户进行演示: 首先逻辑备份导出scott的对象数据 $ exp scott/tiger file='/u01/app/backup/scott.dmp' log='/u01/ap…
一.约束 ❤ 1.约束概述 约束作用: (1)定义规则 (2)确保完整性:包括数据的精确性.可靠性.以确保数据不会出错,或者尽量减少出错. 约束的类型: (1)非空约束 (2)主键约束 (3)外键约束(右外键约束)(左外键约束) (4)唯一约束 (5)检查约束 ❤ 2.非空约束 (1)在创建表时设置非空约束 语法:CREATE TABLE table_name(column_name datatype NOT NULL,...);(2)在修改表时添加非空约束 语法:ALTER TABLE tab…
1.直接打开SQL Plus登录,需要用户名和密码 开始->程序->Oracle->应用程序开发->sqlplus 我的电脑是“开始”->“Oracle - OraDb11g_home1”->“应用程序开发”->“SQL Plus” 数据库安装完成后,有两个系统级的用户: system     默认密码:manager sys           默认密码:change_on_install 2.进入cmd命令窗口,不使用用户名和密码 (1)登录sqlplus/n…
1.SQL函数的概念: 函数一般是在数据上执行的,它给数据的转换和处理提供了方便.只是将取出的数据进行处理,不会改变数据库中的值.(类似于java中的方法但函数只是将数据库中的数据取出(复制)到函数中进行运算,并不会修改数据库中的数据) 2.Sql函数可以分为组函数和单行函数. –单行函数对单个数值进行操作,并返回一个值–组函数又被称作聚合函数,用于对多行数据进行操作,并返回一个单一的结果,组函数仅可用于选择列表或查询的having子句 3.单行函数的分类: 单行函数分为字符函数.数字函数.日期…
1.ClassNoFoundException 找不到注册驱动 可能原因:1>驱动名称不对 2>没有导入数据库驱动包 2.SQl 语句中可以使用任何有效的函数,函数操作的列,必须指定别名,否则会出现 java.sql.SQLException: 列名无效 3.java.sql.SQLException: 无效的列索引: sql串里面?号的数目和提供的变量数目不一致 4.java.sql.SQLException: 结果集已耗尽 操作结果集的时候结果集的指针指向了结果集之外 例如:rs.befo…
我们要做到不但会写SQL,还要做到写出性能优良的SQL语句. (1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表. (2)WHERE子句中…
它们两者之间的区别主要体现在六大方面: 一是开放性. 1.SQL Server 只可在windows上运行,缺乏开放性,操作系统的稳定对数据库是非常重要的. Windows9X系列产品比较偏重于桌面应用,NT server只是适合中.小型企业.而且windows平台的安全性.可靠性和伸缩性都是非常有限的.它不像unix那样久经考验,尤其是在处理大数据库. 2.Oracle 能在所有主流平台上运行:完全支持所有的工业标准:采用完全开放策略:可以使客户选择最适合的解决方案:对开发商全力支持. 二是可…
在Oracle中进行查询排序时,如果排序字段里面有空值的情况下,排序结果可能会达不到自己想要的结果.   如 select * from tableTest order by VISITS desc   上图可以看到表示服务访问次数的“VISITS”字段上的空值记录排序时放在前面,和实际逻辑不对   将原来的sql语句改写为:select * from tableTest order by VISITS desc nulls last,   "nulls last"控制将空值记录放在后…
数据库: 命名规范问题 依然是 _流.看来也确实应该抽空 来处理一下 今天吧,不行时间不能浪费.要更加专注.累了 就睡,醒来 就 好好 弄东西.白天 哪怕累一些,强度 大一些,晚上也可以抽空出去.溜溜弯儿. 雷哥 问了一个 问题: Char 跟 varchar 有什么区别.如果 char 里面 定了4位.存了 一个 汉字,就是 两位.但是 在数据库空间依然是 4位.后面用空格补齐.但是 varchar 里面 假设定了 4位的长,存了一个 汉字 占了两位,这时候 在数据库中就只占2两位.所以 在空…
1.存储过程建立的格式: create or replace procedure My_Procedure is begin --执行部分(函数内容); end; / 例子:(以hr表为例) create or replace procedure insert_procedure isbegininsert into JOBS values('MY_JOB','My Job',5000,10000);end;/ 2.存储过程调用 begininsert_procedure();end/ 3.函数…