oracle+jdbc知识小总结
表
新建表(table)--多个字段的二维关系
01.CREATE TABLE table_name( 02. colomn1_name type 03. [,colomn1_name type] 04. [,colomn1_name type] 05. ) 06. eg: 07. CREATE TABLE emp( 08. empno number(4), 09. ename varchar2(10), 10. sal number(6,2), 11. deptno number(2)12. )
DDL(数据定义语言)修改表结构
01.ALTER TABLE table_name ADD|DROP|MODIFY(colomn...) 02. 03. eg: 04. ALTER TABLE emp MODIFY(empno number(6) NOT NULL)
DML(数据操纵语言)更新表
01.INSERT INTO|DELETE|UPDATE..SET 02. eg: 03. INSERT INTO emp(empno,ename,deptno)VALUES(1001,'JACK',10)DQL(数据查询语言)查询表(用的最多)
01.SELECT [查询字段] FROM table_name WHERE 查询条件 ORDER BY 排序字段 --不使用聚合函数的句子 02. SEECT [查询字段(含聚合函数)] FROM table_name GROUP BY [分组字段] HAVING 附加条件--使用聚合函数的句子 03. 04. eg: 05. ⑴SELECT * FROM emp WHERE deptno=10 ORDER BY empno 06. ⑵SELECT avg(sal),deptno FROM emp GROUP BY deptno HAVING avg(sal)>2000--查询每个部门的平均工资
视图(view)--局部表,一张表满足特定条件的一部分
新建视图
01.CREATE VIEW view_name 02. AS 03. (查询结果) 04. 05. eg(部门号为10的员工): 06. CREATE VIEW emp_deptno10 07. AS 08. SELECT * FROM emp WHERE deptno=10需要注意的是:
1).尾部加上WITH CHECK OPTION表示对视图表的更新要看得见效果的部分才能顺利进行,例如插入一条记录要在视图表中看得到插入的记录则能够成功,如果插入的记录输入视图表外则不能成功.
2).尾部加上WITH READ ONLY建立只读视图
插入记录
向视图插入记录和表类似,需要注意
1).使用上面建的视图进行以下的操作则不能成功,由于添加了WITH CHECK OPTION(检查选项)的限制
01.INSERT INTO emp_deptno10(empno,ename,sal,deptno)VALUES(1002,'JARRY',5000,20)--20与10的关系2).如果建视图使用了WITH READ ONLY则不能插入
序列,一个唯一的数字,用于给表设置主键
新建序列
CREATE SEQUENCE seq_name FROM dual--dual是伪表当前面的操作跟任何表无关的时候使用from 伪表 02. 03. START WITH 1--从哪个数字开始 04. 05. INCREMENT BY 1--步长(两个数字之间间隔)
使用序列
seq_name.CURRVAL 02. seq_name.NEXTVAL 03. 04. eg: 05. SELECT seq_emp_id.CURRVAL,seq_emp_id.NEXTVAL FROM dual
索引,相当于某个表中某个或多个字段值的快捷方式
新建索引:
01.CREATE INDEX index_name ON table_name(colomn_name1[,colomn_name2]) 02. 03. eg: 04. CREATE INDEX idx_emp_ename ON emp(ename)注意:
如果包含多个属性只有在同时用到这些属性时才会方位该索引.
小表不建索引
索引不是越多越好,尽管在一定程度上增加访问速度
索引不需手动调用,当用到索引指向的属性时会自动调用
约束:
非空约束:not null
主键约束:primary key
唯一性约束:UNIQUE
CHECK约束:transint CHECK(deptno in(10,20,30))
以上就是oracle数据库学习的一些浅显理解,很多内容没有写完整后面附上代码笔记
JDBC编程基本步骤(以oracle为例)
在所以步骤之前需要驱动包
①加载驱动
01.Class.forName("oracle.jdbc.driver.OracleDriver");②获得与数据库的连接,这里需要三个参数
url--数据库的主机
01.Connection conn=DriverManager.getConnection(url,user,password);或者 02. Connection conn1=dataSourse.getConnection();--运用apache的数据库连接池(dbcp)对象dataSource;③建立处理sql语句的命令及得到结果集
1)无参数的sql语句:
String sql="select * from emp"; 02. Statement stmt=conn.createStatement(); 03. ResultSet rs=stmt.executeQuery(sql);2)有参数的sql语句
01.String sel="select * from emp where deptno=?"; 02. PreparedStatement pst=conn.preparedStatement(sql); 03. pst.setInt(1,deptno); 04. ResultSet rs=pst.executeQuery();④关闭连接,释放资源
在拿到所需要的资源或者更新完成后一定要释放资源
以上是学习jdbc的一部分理解,只是个大概逻辑思路,不能作为具体实施方案,供参考
【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!
Java开发高端课程免费试学
大咖讲师+项目实战全面提升你的职场竞争力
- 海量实战教程
- 1V1答疑解惑
- 行业动态分析
- 大神学习路径图
相关推荐
更多达内就业喜报
更多>Java开班时间
-
北京 丨 11月27日
火速抢座 -
上海 丨 11月27日
火速抢座 -
广州 丨 11月27日
火速抢座 -
兰州 丨 11月27日
火速抢座 -
杭州 丨 11月27日
火速抢座 -
南京 丨 11月27日
火速抢座 -
沈阳 丨 11月27日
火速抢座 -
大连 丨 11月27日
火速抢座 -
长春 丨 11月27日
火速抢座 -
哈尔滨 丨 11月27日
火速抢座 -
济南 丨 11月27日
火速抢座 -
青岛 丨 11月27日
火速抢座 -
烟台 丨 11月27日
火速抢座 -
西安 丨 11月27日
火速抢座 -
天津 丨 11月27日
火速抢座 -
石家庄 丨 11月27日
火速抢座 -
保定 丨 11月27日
火速抢座 -
郑州 丨 11月27日
火速抢座 -
合肥 丨 11月27日
火速抢座 -
太原 丨 11月27日
火速抢座 -
苏州 丨 11月27日
火速抢座 -
武汉 丨 11月27日
火速抢座 -
成都 丨 11月27日
火速抢座 -
重庆 丨 11月27日
火速抢座 -
厦门 丨 11月27日
火速抢座 -
福州 丨 11月27日
火速抢座 -
珠海 丨 11月27日
火速抢座 -
南宁 丨 11月27日
火速抢座 -
东莞 丨 11月27日
火速抢座 -
贵阳 丨 11月27日
火速抢座 -
昆明 丨 11月27日
火速抢座 -
洛阳 丨 11月27日
火速抢座 -
临沂 丨 11月27日
火速抢座 -
潍坊 丨 11月27日
火速抢座 -
运城 丨 11月27日
火速抢座 -
呼和浩特丨11月27日
火速抢座 -
长沙 丨 11月27日
火速抢座 -
南昌 丨 11月27日
火速抢座 -
宁波 丨 11月27日
火速抢座 -
深圳 丨 11月27日
火速抢座 -
大庆 丨 11月27日
火速抢座