-- DBA/ALL/USER/V_$/GV_$/SESSION/INDEX开头的绝大部分都是视图-- DBA_TABLES意为DBA拥有的或可以访问的所有的关系表。-- ALL_TABLES意为某一用户拥有的或可以访问的所有的关系表。-- USER_TABLES意为某一用户所拥有的所有的关系表。-- 当某一用户本身就为数据库DBA时,DBA_TABLES与ALL_TABLES等价。-- DBA_TABLES >= ALL_TABLES >= USER_TABLES-- 需要注意的是在ORACLE数据库中大小写是敏感的,而此三表中数据默认都是大写的,所...
代码如下:--1、查看表空间的名称及大小 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; --2、查看表空间物理文件的名称及大小 SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space FROM dba_data_files ORDER BY tablespace_name; --3、查看...
DDL:数据定义语言(Data Definition Language)DML:数据操纵语言(Data Manipulation Language)TCL:事务控制语言(Transaction Control Language)DQL:数据查询语言(Data Query Language)DCL:数据控制语言(Data Control Language) 1. DDL 用于建立,修改,删除数据库对象 CREAE:创建表或其它对象结构 ALTER:修改表或其它对象的结构 DROP:删除表或其它对象的结构 TRUNCATE:删除...
/*修改用户密码:1.输入cmd打开dos窗口2.sqlplus/nolog3.conn/as sysdba4.alter user system identified by orcl;*/ /**数据完整性指存储在数据库中的所有数据值均正确的状态。如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性*/ CREATE TABLE tb_student(NAME VARCHAR2(18),sex CHAR(3),age INT,address VARCHAR2(100),phone VARCHAR2(30)) SELECT * FROM tb_student; --不正确状态数据INSERT INTO tb_clazz(sex...
1.查询指定表的全部列 select * from 表名 [where 条件] [group by 分组列名] [having?聚合函数] [order by 排序列名?ASC| DESC] 在表名地方,能够写多个表 ? 2.查询指定表的部分列: select {[distinct]列名。列名,…}from 表名 [where 条件] [group by 分组列名] [having?聚合函数] [order by 排序列名?ASC| DESC] 当中keyworddistinct表示去除部分列中反复数据, 仅仅是在查询的时候去除,而该表内部数据纹丝不动 ? 二、查询指...
1、from字段中的优化: Oracle安照从右到左的顺序载入表数据,应该把能够排除数据最多的表放到后面(基础表)。 比方。在关联查询中。把课程表放到后面。成绩表放到前面。由于课程表数据一般比較少,关联的时候能够高速的过滤掉一些成绩数据。 2、where中的优化: 对能够过滤数据最多的,放到后面,原理也是Oracle运行从下到上(从右到左)的顺序。 3、使用列名替代*: 省去从字典表中解析的过程 : Orac...
<<label_name>>] LOOPstatement... END LOOP [label_name]【语法说明】 <<label_name>>:LOOP结构的标签,是可选项。 LOOP:LOOP循环开始标志。 statement:LOOP语句中循环执行的语句序列。 END LOOP:LOOP循环结束标志,可以添加LOOP结构的标签。1.基本的LOOP语句 实例:要求声明变量,每次循环都需要为变量增加数字1,并输出结果。当变量值大于3时,退出循环操作。 a、利用EXIT...WHEN结束循环操作。SQL> set serveroutpu...
等价改写:select id,name from scott.a exists (select 1 from scott.b where a.id=b.aid);以上查询使用了exists语句,exists()会执行A.length次,它并不缓存exists()结果集,因为exists()结果集的内容并不重要,重要的是结果集中是否有记录,如果有则返回true,没有则返回false.结论:exists()适合B表比A表数据大的情况当A表数据与B表数据一样大时,in与exists效率差不多,可任选一个使用.Oracle in与exists语句标签:大于 tab releas...
都跟alias1进行 ON (join condition)的比较,如果匹配,就进行更新的操作(Update),如果不匹配,就进行插入操作(Insert)。 因此,严格意义上讲,”在一个同时存在Insert和Update语法的Merge语句中,总共Insert/Update的记录数,就是Using语句中alias2的记录数。” 以上这句话也就很好的解释了在上面写的语句为何只能进行Update,而不能进行Insert了,因为都Select不到数据,如何能进行Insert呢:) 接下来要改成正确的语句就容易多了,...
作为oracle的刚開始学习的人相信大家一定会遇到这个问题。如图: 明明就是navicat可视化创建了表,但是就是不能查到!这个为什么呢? select * from user; 可是,我们假设给user加上双引號就不一样了! select * from "user"; 却能够等到以下的结果。如图: 到这里我想大家肯定会说:难道oracle跟mysql等不同,查询时候一定要加双引號?那这样不是非常麻烦!于是经过查找资料得出例如以下结...
PL输出语句 set serverout on; -- 开启PL的输出语句功能declare n number:=1; -- 声明一个number型的变量n,并赋值为1 v varchar2(20):=‘world‘; -- 声明一个varchar2类型的变量v 赋值为“world”begin -- 控制语句书写在 begin -- end 之间 dbms_output.put_line(‘hello‘||n||v); -- 输出语句,数据连接使用‘||’end; if条件语句set serverout on;declare emp_count number;begin select count(*) into ...
oracle 实现多字段匹配一个关键字查询语句:有两种方法(经测试,10g中不能用,11g才行):第一种. select * from table where (‘字段名1‘ ||‘字段名2‘ ||...) like "%keyValue%";第二种:(1)如果是两个字段的话:select * from table where concat(字段名1,字段名2) like "%keyValue%";(2)如果是多个字段的话:select * from table where concat(concat(concat(concat(字段名1,字段名2),字段名3)字段名4)...) like "%keyVa...
1、根据删除的时间查询出被删除的数据 select * from szdj_work_plan AS OF TIMESTAMP TO_TIMESTAMP(‘2018-1-19 16:51:37‘, ‘yyyy-mm-dd hh24:mi:ss‘) where subject=‘测试一下删除0119‘ 1、表中唯一的最大的值 select hibernate_sequence.nextval from dual1、创建数据库create database databasename2、删除数据库drop database dbname3、备份数据库完全备份exp demo/demo@orcl buffer=1024 file=d:\back.dmp full=yde...
问题: 在有sqlserver数据库迁移至Oracle数据库时,遇到将VARCHAR2付给NVARCHAR2问题 原sql CASE A .kindCodeWHEN ‘2321034‘ THEN ‘02049‘ WHEN ‘2321035‘ THEN ‘11067‘ WHEN ‘2321022‘ THEN ‘11067‘ WHEN ‘2321039‘ THEN ‘02049‘WHEN ‘2321041‘ THEN ‘10064‘ WHEN ‘2321030‘ THEN ‘10047‘ WHEN ‘2321031‘ THEN ‘10048‘ WHEN ‘2321032‘ THEN ‘02049‘WHEN ‘2321033‘ THEN ‘02049‘ WHEN ‘23210...
database test; //创建test数据库 create table student(name char(20),sex char ,age int ,info varchar(100)); //创建表ALTER:修改表或其它对象的结构ALTER TABLE student ADD (addr char(30)); //为表student 添加列 ALTER TABLE student DROP (addr); //为表student 删除列 ALTER TABLE student MODIFY(name varchar2(30)); //修改列DROP:删除表或其它对象drop table student; //删表drop database test; //删库TR...