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 下是 建库,在库下建表,建用户,设置用户访问库的权限
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();
%>
运行:(成功)
Oracle一些概念Linux中登录oracle的命令sqlplus用户名密码showuser显示当前登录的身份setpauseo…
Oracle知识点总结根据阎赫老师讲义整理Zealjiang1Oracle数据库的安装和配置OracleInternet级数据库S…
Oracle总结全攻略汇总setautotraceonsetautotracetraceonlyexplainsettimingo…
关于Oracle的性能调整一般包括两个方面一是指Oracle数据库本身的调整比如SGAPGA的优化设置二是连接Oracle的应用程…
Oracle实训总结系别:信管院班级:姓名:浦江峰学号:1132304112日期:20xx年x月x日实训总结:由于感到oracle…
Oracle实训总结系别:信管院班级:姓名:浦江峰学号:1132304112日期:20xx年x月x日实训总结:由于感到oracle…
OracleSQL执行计划基线总结(SQLPlanBaseline)一、基础概念Oracle11g开始,提供了一种新的固定执行计划…
说明:在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后的密码…
Oracle总结全攻略汇总setautotraceonsetautotracetraceonlyexplainsettimingo…
Oracle数据库实例启动不了怎么办文件主要分为参数文件跟踪文件警告文件数据文件临时文件控制文件重做日志文件密码文件修改跟踪文件闪…