Oracle10G关于表操作常用语句详解及随想Oracle认证考试
文章作者 100test 发表时间 2010:03:11 19:01:01
来源 100Test.Com百考试题网
最近利用业余时间一直在看Oracle 10g开发这方面资料, 由于以前企业级项目对数据库操作都是基于微软的SQL2000与2005 版本偏多. 所以这段时间也是一个转换过程.特意在网上订购一本Oracle Database 10G SQL Master SQL and PL/SQL 这本书重新完整的系统的进行梳理一遍.总体给我感觉是其实我就是在重新梳理结构化查询语言(Structured Query Language/SQL) SQL .虽然做了一遍重复性工作. 但体会也是不同的. 类似这本书并没有费了我很大精力 但给我感觉它就是一条细线. 把我以前遗留的片段全部关联起来. 视野上更加趋于开阔.我慢慢才体会到. 做程序开发的工作其实可粗可细. 我们常常感慨一个技术大牛所作的创造性思维(类似Robert C.Martin关于敏捷实践) 其实殊不知他们也是在逐渐积累过程中才有了创造. 就想一句话说的没有任何事情是凭空而来.那么对于一个做技术出生的人一个完善的知识体系结构是相当重要的. 所以我更愿意倾向于一个科班出生的技术人员. 目前情况是社会上关于软件开发培训的快餐打乱了行业内这种格局, 格局我们没法控制. 无论这种格局乱还是没乱但归咎到底还是一个技术人员在实际工作自我完善自己知识体系这种能力和意识. 对于他人的指导这种”外力的鞭子”抽的我们都有惰性. 自觉的意识才能真正力量. 这种并非一朝一夕的能够成就的. 它是一个长时间同时具有一定量积累才能沉淀出来的. 只有不断完善自己知识体系 不断学习.才是一个真正技术人员发展上要走长远子路. 这也是我考察一个技术人员非常重要的标准.
这也是很多经历了入门级别痛苦后程序员 最为迷茫一个问题. 以上最近这本书给我一点联想. 转入正题
Oracle Database 10G SQL Master SQL and PL/SQL :书样 随便推荐给各位. 内容虽然很简单但给我感觉细节上讲的很全面 完全可以做为一个日常工作中查询手册也是没有问题的.一方面它详细而通用讲述了SQL标准每个细节. 同时也有两章是Oracle公司自己扩展语法详细讲解.直接形成比对.及时将来遇到与SQL标准不同变更. 一眼就能看出来.
(A)SQL标准与三层.
又重新翻看这个结构化查询语言(简称SQL)的”来世于前生”后.期间不经让我联想到到以前项目中对于底层数据访问层三层架构思想 他们之间联系. 先来看看SQL标准来历:
1970年时有E.F.Cold博士提出关系型数据库这个概率. 听起来早就不新鲜了.但是SQL就是在E.F.Cold博士工作基础自上发展而来. 其第一个实现就是有IBM在20世纪70年代中期开发的.当时IBM开展了一个成为System R的研究项目.SQL 就是从这项目中诞生的. 到了1979年底.一家当时成为Relational Software INc.的公司(其实大家应该都知道就是现在Oracle公司)发布了第一个商业版本的SQL. 随着发展SQL已经被完全标准化了.而且获得美国国家标准组织(American Standards Institute ANSI)认证.SQL可以用来访问Oracle. SQL Server ,DB2.和MySQL 数据库.直至发展到现在.
SQL在发展的实现标准化.也为三层分工实现编码与数据库依赖关系解耦. 编程语言不在依赖数据库. 主要归功于SQL访问数据库的标准化. 目前架设一下主流的数据Oracle. SqlServer DB2.MySQL每个都有自己一套数据库访问方式规则. 那是多么可怕一件事.当切换一个数据库 我们就彻底扔掉了一个数据访问层. 那么编码应用程序就死死绑定数据库上.而从严格三层定义来说. 拿掉任何一层都是可以重用. 显示层. 业务逻辑层 与数据访问层是没有任何实际依赖的 层于层之间实现时一种独立关系. 如果没有SQL语言标准化.也就没有实际意义上三层分工实现. 现在项目中如果实现底层数据库切换可以做一个简单工厂模式 只需在修改简单配置. 代价极小. 如果没有SQL. 这一切就无从谈起了.
(B)附Oracle 10G中关于表操作
附Oracle 10G下编码: 内有详细说明..其中操作非常简单 不做赘述 对于其他一些关于Oracle 10G特有属性将在后续.后有详细说明.
代码
1 ———————-创建数据库表成功—————————–
2 ——–ChaRu数据操作详细SQL记录–
3 ——–Author:chenkai Date:2010年2月21日15:50:58–
4 –oracle中显示日期格式为:DD-MON-YY dd是代表日 mon是月份前三个字母大写.yy 年份最后两位实际上存储年是4位 显示的为2位
5
6 0select * from customers
7
8 insert into customers(customer_id,first_name,last_name,phone)
9 values(1,’chenkai’, ge’, 15895426521′).
10
11 insert into customers(customer_id,first_name,last_name,phone)
12 values(2,’marik’, 陈凯’, 13854642541′).
13
14 0update customers set first_name=’chenkaiunion’ where customer_id=1
15
16 0delete from customers where customer_id=2
17
18 –如果误删除了数据库记录 可以回滚数据
19 rollback.
20
21 insert into customers(customer_id, first_name, last_name,phone)
22 values(4,’再次ChaRu数据’, fuck Again’, 13654215875′)
23
24 –ChaRu数据进行单引号和双引号
25 insert into customers(customer_id, first_name,last_name)
26 values( 5,’测试单引号’, Bei”Jing-单引成功了’)
27
28
29 insert into customers(customer_id, first_name,last_name)
30 values( 6,’测试双引号’, The “Great Wall LED”‘)
31
32 0select * from customers
33
34 –从一个表向另一个表复制行 (快速的植入数据注意修改了主键为10) 能用0select union 测试不成功 可以使用 9i新增的merge语句来快速转移
35 insert into customers(customer_id,first_name,last_name)