Oracle总结
Oracle
一、数据库语言:
DCL:数据库控制语言(如事务...)
DQL:数据库查询语言(select...)
DDL:数据库定义语言(create)
DML:数据库操作语言(更新....)
二、Oracle版本:
Oracle8I i:互联网
Oracle10g g:网格:把复杂的问题分布处理,最后把结果综合成最总结果
把复杂的问题分布处理,最后把结果综合成最总结果
三、什么叫多表查询?
一张以上的表进行查询。
4、什么是笛卡尔积?如何去除笛卡尔积。
多表查询再查询时回产生两表数据相乘的现象,
可以通过关联条件消除。
5、统计函数一共有哪些?
COUNT、MAX、MIN、SUM、AVG
Where语句中不可以使用统计函数
6、排序关键字、分组关键字、分组条件关键字
ORDER BY、GROUP BY、HAVING
7、什么叫子查询?
在一个查询语句中包含另一个查询语句
8、Oracle中复制表的语法是什么?
CREATE TABLE 表名 AS SELECT 语句(只限oracle)
9、事务处理的功能?
保证一个单元的所有语句,要么全成功,要么全失败。
10、事务处理中的关键字有哪些?
A、提交事务Commit
B、回滚事务Rollback
C、设置点SAVEPOINT
二、语法练习
1、查询出至少有一个员工的部门编号
Having Count(empno)>=1
Select deptno
from emp
Group by deptno
Having count(empno)>=1
分析:先将数据进行分组,然后计算员工总数形成条件。
A、需要分组,
B、需要用分组条件Having
动动脑:
Deptno total
10 8
20 3
30 3
40 0 格式的。
Select d.deptno,count(e.empno) total
from dept d,emp e
Where e.deptno(+) =d.deptno
Group by
d.deptno;
Oracle 中连接查询,左 右(只限Oracle)
SQL标准 左连接与右连接 语法:
Left JoIn on 条件
RIGHT JOIN on 条件:
Select d.deptno,count(e.empno) total
from dept d left join emp e
on e.deptno =d.deptno
Group by
d.deptno;
2、查询出至少有一个员工的部门全部信息,
相关文档:
1.建表
CREATE TABLE qq(
qq_num integer
);
2.插入数据
插入数据的方法有很多种,但是要插入3亿数据,必须要有高效的算法。在插入数据时我用了最笨的办法,采用PL/SQL利用流程控制的LOOP语句插入。同时我也看了网上的插入效率的优化,怎样利用较少的时间生成较多的测试数据。给 ......
在Net Manager工具中,
将监听程序的监听位置的主机名改为 新机名
将服务名中对应数据库的主机名改为 新机名
改了监听程序后,在MS-DOS中运行
lsnrctl stop
lsnr ......
自己觉得对Oracle还掌握得不错,不过昨天隔壁实验室的同学问了我一个问题让我郁闷了一把。她在一个数据库里把一个用户A的在表空间AA上的表
用exp导出到exp.dmp文件中,再把它导入到另一台机器上的数据库里,这时她用的是用户B,默认表空间是BB,但是用imp导入时我们发现表是导入
到了B用户下,但是还是存在了AA表空间里面 ......
Oracle解锁与加锁(hr用户为例)
SQL*Plus: Release 9.2.0.4.0 - Production on Tue Jul 14 18:12:38 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn sys/sys as sysdba
Connected.
SQL> show user
USER is "SYS"
SQL> desc dba_users
Name &nbs ......
在一个表中,其中几个字段的值是一样的,按照这几个字段进行分组并合并数据。
表A id name role
1 张三 &nb ......