|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。j2eeGOON持续进阶!!(本贴团体以为对初学者很有匡助,请人人仔细看。因工夫仓皇,若有毛病请斧正)SQL*PLUS基本
在上一贴中,我们把握了些基础的oracle操纵,如创立、受权用户,创立数据库等。在OEM(OracleEnterpriseManager)可视化的窗口情况中,固然我们也能够很便利地做这些事,可是现实上,用SQL言语誊写在开辟上更无效率!!oracle供应的SQL*Plus就是个不错的工具,假如人人喜好窗口的开辟情况,用SQLPlusWorksheet也行!上面说点基础的西西!
SQL(StructureQueryLanguage)言语是布局化查询言语,是数据库的中心言语,是面向汇合的形貌性非历程化言语。
SQL言语共分为四年夜类:数据查询言语DQL,数据利用言语DML,数据界说言语DDL,数据库把持言语DCL。
1.数据查询言语DQL的基础布局是由select子句,from子句,where子句构成的查询块:
select<字段名表>from<表或视图名>where<查询前提>
2.数据利用言语DML完成在数据库中断定、修正、增加、删除某一数据值的义务(以下是部分经常使用DML语句):
insert增添数据行到表
delete从表中删除数据行
Update变动表中数据
3.数据界说言语DDL完成界说数据库的布局,包含数据库自己、数据表、目次、视图等数据库元素(以下是部分经常使用DDL语句)
createtable创立表
createindex创立索引
createview创立视图
altertable增添表列,重界说表列,变动存储分派
droptable删除表
dropindex删除索引
4.数据库把持言语DCL用来授与或接纳会见数据库的某种特权,并把持数据库利用事件产生的工夫及效果,对数据库实施监督等。如:
grant将权限或脚色授与用户或别的脚色
revoke接纳用户权限
roll回滚,是当某个对话变动了数据库中的数据后,因为某种缘故原由用户不想提交此变动时,oracle所接纳的回护操纵。这是一个把信息恢复到用户使update、insert、delete前最初提交的形态。
commit提交。在完成数据库的拔出,删除和修正操纵时,只要当事件提交到数据库才算完成,有提交前只要操纵数据库的自己才干看到,他人只要在最初提交完成才能够看到。
接上去,我们在SQL*Plus中实战一下,为我们上面将要做的打好基本。
用system上岸到SQL*Plus后,我们做以下操纵(此次没有截图,有具体的申明)
SQL>createusermaxuanidentifiedbymax;#创立口令为max的用户maxuan
SQL>grantconnect,resourcetomaxuan;#为用户maxuan受权
SQL>connmaxuan/max;#以用户maxuan举行毗连
L>createtabletest(anumber);#创建一个名为test的表,只要字段名为A的一列,数据范例为数字
SQL>insertintotestvalues(1);#拔出一笔记录
SQL>select*fromtest;#查询纪录,此时A列的第一举动1
SQL>updatetestseta=2;#变动纪录,此时A列的第一行已改成2
SQL>commit;#提交
SQL>deletefromtest;#删除test表中一切的纪录,此时test表中没有纪录
SQL>roll;#回滚到提交前,此时再查询test表,A列第一行值又复兴到2
oracle的数据范例
在数据库中创立数据表的时分,我们必要界说表中一切字段的范例,数据范例大抵分为:character,numberic,date,lob和raw等,这些是最基础的数据范例。固然在oracle中也同意自界说数据范例!
在oracle中供应的character数据范例:
char(<size>):流动长度字符串,最年夜长度为2000字节,假如不指定长充,缺省为1个字节长。
varchar2(<size>):可变长度的字符串,最年夜长度为4000字节,详细界说时指明最年夜长度,这咱范例能够放数字、字母和ASCII码字符集(大概EBCDIC等数据库体系承受的字符集尺度)中的一切标记。假如数据长度没有到达最年夜值,oracle会依据数据巨细主动调治字段长度。是最长用的数据范例。
nchar(<size>):依据字符集而定的流动长度字符串,最年夜长度2000字节。
nvarchar2(<size>):依据字符集而定的可变长度字符串,最年夜长度4000字节。
long:可变长字符列,最年夜长度限定为2GB,用于不必要作字符串搜刮的长串数据。此范例是一个遗留上去的并且未来不会被撑持的数据范例,渐渐被BLOB,CLOB,NCLOB等年夜的数据范例所代替。
numberic数据范例用来存储负的和正的整数,分数和浮点型数据,在oracle中供应的numberic数据范例:
number(<m>,<n>):可变长的数值列,同意0、正值及负值,m是一切的无效数字的位数,n是小数点今后的位数。
在oracle中供应的date数据范例:
date:缺省格局是dd-mon-yy(日-月-年)
在oracle中供应的lob数据范例:
blob、clob、nclob:三种年夜型对象(lob),用来保留较年夜的图形文件或带格局的文本文件,如word文档,和音频、视频等非文本文件,最年夜长充是4GB。晕些数据存储在数据库外部保留。
bfile:在数据库内部保留的年夜型二进制对象文件,最年夜长度是4GB,这类内部的LOB范例,经由过程数据库纪录变更情形,可是数据的详细保留是在数据库内部举行的。
在oracle中供应的raw数据范例:
raw(<size>):可变长二进制数据,详细界说字段时必需指明最年夜长度,这类格局用来保留较小的图形文件或带格局的文本文件,它也是一种较老的数据范例,将被lob数据范例所代替。
longraw:可变长二进制数据,最年夜长度是2GB,能够用来保留较年夜的图形或带格局的文本文件,和音频、视频等非文本文件,这也是一种较老的数据范例,将被lob数据范例所代替。
别的的数据范例:
rowid:这是oracle数据表中的一个伪例,它是数据表中每行数据内涵的独一标识
integer:整数范例
创立购物网站背景数据库
如今我们回到用J2EE系统开辟购物网站的主题,入手下手实战建购物网站的背景数据库。
为了完成购物网站的基础的功效,我们必要创建四个表:商品列表(products)、商品范例表(item)、定单列表(orders)和办理员列表(admin)。表布局以下所示:
item表布局(商品范例表)
字段称号数据范例同意空主键/外键备注
type_idINTEGER(主动编号)否主键商品种别ID标志
typevarchar2(30)否商品种别称号
product表布局(商品列表)
字段称号数据范例同意空主键/外键备注
product_idINTEGER(主动编号)否主键商品ID标志
titlevarchar2(30)否商品称号
type_idINTEGER否外键商品种别标志
infovarchar2(80)是商品简介
pricenumber(16,2)否商品代价
orders表布局(定单列表)
字段称号数据范例同意空主键/外键备注
order_idINTEGER(主动编号)否主键定单ID标志
namevarchar2(20)否主顾姓名
addressvarchar2(100)是发货地点
telnumber(16)是接洽德律风
emailvarchar2(30)否接洽email
btimedate是订购日期
product_idINTEGER否外键商品标志
uwordvarchar2(100)是主顾留言
admin表布局(办理员列表)
字段称号数据范例同意空主键/外键备注
admin_idINTEGER(主动编号)否主键办理员ID标志
adminnamevarchar2(20)否办理员称号
passwordvarchar2(20)否办理员暗码
计划完表布局后,我们就要入手下手创立了。
创立表我想已不是甚么难事了,那末我们要注重的是product、item、orders这三个表之间的联系关系,另有主动编号。
上面是完全的SQL语句,在前面我会给出具体的申明,你能够在SQL*Plus里对比着输出,也能够将它存为SQL剧本文件,在SQL*Plus或SQLPlusWorksheet里实行。固然也能够把代码间接拷贝到SQL*Plus里实行!- rem///BYMAXUAN入手下手///createtableitem(type_idintegernotnull,typevarchar2(30),constraintitem_pkprimarykey(type_id));createtableproduct(product_idintegernotnull,titlevarchar2(30)notnull,type_idintegernotnull,infovarchar2(80),pricenumber(16,2)notnull,constraintproduct_pkprimarykey(product_id),constraintproduct_fkforeignkey(type_id)referencesitem(type_id));createtableorders(order_idintegernotnull,namevarchar2(20)notnull,addressvarchar2(100),telnumber(16),emailvarchar2(30)notnull,btimedate,product_idintegernotnull,uwordvarchar2(100),constraintorders_pkprimarykey(order_id),constraintorders_fkforeignkey(product_id)referencesproduct(product_id));createtableadmin(admin_idintegernotnull,adminnamevarchar2(20)notnull,passwordvarchar2(20)notnull,constraintadmin_pkprimarykey(admin_id));createsequencetype_idincrementby1startwith1;createsequenceproduct_idincrementby1startwith1;createsequenceorder_idincrementby1startwith1;createsequenceadmin_idincrementby1startwith1;rem///BYMAXUAN停止///
复制代码 申明一:创建表之间的联系关系
product、item、orders三个表经由过程大众域,一般称为键域(KeyField)举行联系关系,存在两品种型的键:主键(Primarykey)和内部键(Foreignkey)。主键使表中的数据行坚持独一,在表product中,product_id为主键,表orders中也包括有product_id,此时的product_id就是内部键。一个表的内部键从别的表中猎取信息。看看下面的SQL语句,应当会了吧!
申明二:关于主动编号
在access中有主动编号的数据范例,MSSQL和MYSQL也都有主动增加的数据范例,拔出纪录时不必操纵此字段,会主动取得数据值,而oracle没有主动增加的数据范例,我们必要创建一个主动增加的序列号,拔出纪录时要把序列号的下一个值赋于此字段,能够预感的是,有此功效,我们能够把数据从ACCESS、MSSQL或MYSQL迁徙到oracle了!
createsequencetype_idincrementby1startwith1;
这句中,type_id为序列号的称号,每次增加为1,肇端序号为1。
好了,我们的数据库已建好了,并且从中也懂得到一些基础的相干常识,关于自己的用J2EE开辟购物网站之二oracle篇到此停止,若有甚么疑问请留言!!
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak, |
|