Oracle自我总结

Oracle 作为数据仓库,里面主要管理的是表,因为没有可视化界面(没有安装),对Oracle的操作要用命令。

1. 查询数据库有哪些,

(1)Select instance_name from v$instance 查询实例数据库

select * from dba_users;

select * from all_users;

select * from user_users;

/database/201311/255101.html

DBA_*意为DBA拥有的或可以访问的所有的对象。

ALL_*意为某一用户拥有的或可以访问的所有的对象。

USER_*意为某一用户所拥有的所有的对象 (2)SqlPlus中查看一个用户所拥有权限

SQL>select * from dba_sys_privs where grantee='username';

查看当前登陆的用户名 select user from dual;

对数据库进行创建(略去,查看资料)

可以看看

/link?url=KpWOeHhwLJKDvLBCWdTZShY7OtqEAg7o_CviUzUKt-sl7DugOTNLiMhtTjnKe60nlGdMVUG8jA3ZbNy6InIRDu_N2uGkBZtPminXfEmd6YC

(3)数据库修改:

删除;查看数据库结构(这个尝试)

2. 对表进行操作

(1) 查询有哪些表,表结构,DDL(对表创建create,修改alter,删除drop) SELECT * FROM USER_TABLES 查询某用户下的表

查看当前用户下创建的表 select table_name from user_tables;

查看表结构(1)describe +表名

(2)(3)两种方法略去

Alter 修改表结构(关于能不能在表中有数据情况下更新表结构,测试一下)

▲ 编辑表的字段 alter table +表名+modify (列明,数据类型)

▲ 增加一列 alter table + 表名 add(列名,数据类型)

▲ 给列改名 ALTER TABLE 表名 RENAME COLUMN 当前列名 TO 新列名;

eg: ALTER TABLE skate_test RENAME COLUMN author TO authorer_new

▲ 改表名 alter table 当前表名 rename to 新表名;

alter table skate_test rename to test_sakte

▲ 给表加注释 comment column on 表名.列名 is '注释内容';

Drop 略去

(2) 知道表结构后,就要对内容就行操作DML(插入数据insert,这个是对每一行

数据操作,select选择查询的数据,update更新数据(逐行,整体?)删除?(delete)

NSERT向表中插入一个结果集

SQL> INSERT INTO INFOS2 SELECT * FROM INFOS;

Update 更新数据

UPDATE 表名 SET 列名1=值,列名2=值…… WHERE 条件

在数据库操作中, TRUNCATE命令(是一个DDL命令)可以把表中的所有数据

一次性全部删除,语法是:

语法结构:TRUNCATE

TRUNCATE TABLE 表名

TRUNCATE和DELETE都能把表中的数据全部删除,他们的区别是:

1. TRUNCATE是DDL命令,删除的数据不能恢复;DELETE命令是DML命令,删除后

的数据可以通过日志文件恢复。

2. 如果一个表中数据记录很多,TRUNCATE相对DELETE速度快。

(3) DQL,数据查询语言,Order by +字段,以“字段”排序;group by +字段,以“字

段”分组

(4) ?TCL,事务控制语言,commit(提交)、savepoint(保存点)rollback(回滚)

(5) DCL,grant,revoke(撤销)

3. 子查询中比较复杂的混合查询

(1)LIKE模糊查询

? %:表示零个或者多个任意字符。

? _:代表一个任意字符。

注意any和all

4. rowid和 rownum

rownum 在进行排序查询时,需要先对排序的结果作为子集,再依据条件进行查询。 如查询出工资最高的前5名员工的姓名、工作和工资。其中红色部分是先降序排列。 SQL> SELECT ROWNUM,T.* FROM

2 (SELECT ENAME,JOB,SAL

3 FROM EMP ORDER BY SAL DESC) T

4 WHERE ROWNUM<=5

5 / 有关rownum

数据库的导入和导出

Exp和imp

将scott用户下导出的expdat.dmp文件导入到tt用户下

imp tt/tt fromuser=scott touser=tt file=EXPDAT.DMP

oracle 的结构是 实例->用户->表,表是从属于某个用户的

sqlserver 的结构是 实例-〉库-〉表,用户与 库,表 独立

所以oracle下是 建表空间 ,建用户,设置用户的默认表空间,在用户下建表 sqlserver 下是 建库,在库下建表,建用户,设置用户访问库的权限

 

第二篇:jsp连接oracle详细的教程呢,自己总结

1,装oracle数据库,这个自己去网上搜,关键字:“oracle数据库安装”;

2,装jdk,jre,装完在cmd中测试是否装好,自己看网上的教程

3,装tomcat(一般装6.0的),这个网上也有超级详细的教程,也不多说;

4,在myeclipse配置oracle的连接。

按图走:

将myeclipse自带的服务器关闭(disable);

设置tomcat 6.x ,enable, tomcat home选自己tomcat的安装路径

Jdk选择自己安装的jdk路径

点选这个deploy myeclipse j2ee.....的小图标

选择好自己建的web项目名字(我的是myWeb),然后点右边的add,增加刚才设置的tomcat6.x服务器

这里很重要,将oracle的这个支持jdbc连接的jar包一定要复制到tomcat 里你的web项目的lib中,如图:

复制到下图这里(路径已经化黑,自己模仿着找)

做完这一切后,

(如果之前打开了oracle服务和tomcat,则关闭oracle服务,关闭tomcat)再关闭myeclipse;

然后再重新打开oracle服务,tomcat服务,最后myeclipse

在jsp页面的最顶部加上这句(覆盖原先的)

<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>

在body部分加入测试代码

代码如下:

   <%

   Connection conn=null;

   Statement stmt=null;

   ResultSet rs=null;

   try{

      Class.forName("oracle.jdbc.driver.OracleDriver");

      conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:oracle", "scott", "tiger");

      stmt = conn.createStatement();

      rs = stmt.executeQuery("select * from dual");

      rs.next();

      out.println(rs.getString(1));

      }catch(Exception e){

         out.println(e);

      }

      rs.close();

      conn.close();

      stmt.close();

   %>

运行:(成功)

相关推荐