亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

實戰J2EE?開發購物網站(四)

2019-11-18 14:25:37
字體:
來源:轉載
供稿:網友

  GO ON 繼續進階!!

??SQL*PLUS基礎
??在上一貼中,我們把握了些基本的Oracle操作,如創建、授權用戶,創建數據庫等。在OEM(Oracle EnterPRise Manager)可視化的窗口環境中,雖然我們也可以很方便地做這些事,但是事實上,用SQL語言書寫在開發上更有效率?。racle提供的SQL*Plus就是個不錯的工具,假如大家喜歡窗口的開發環境,用SQLPlus Worksheet也行!下面說點基本的西西!

??SQL(StrUCture Query Language)語言是結構化查詢語言,是數據庫的核心語言,是面向集合的描述性非過程化語言。
??SQL語言共分為四大類:數據查詢語言DQL,數據操縱語言DML,數據定義語言DDL,數據庫控制語言DCL。

??1.數據查詢語言DQL的基本結構是由select子句,from子句,where子句組成的查詢塊:
??select <字段名表 designtimesp=4043> from <表或視圖名 designtimesp=4044> where <查詢條件 designtimesp=4045>

??2.數據操縱語言DML完成在數據庫中確定、修改、添加、刪除某一數據值的任務(以下是部分常用DML語句):
??insert 增加數據行到表
??delete 從表中刪除數據行
??Update 更改表中數據

??3.數據定義語言DDL完成定義數據庫的結構,包括數據庫本身、數據表、目錄、視圖等數據庫元素(以下是部分常用DDL語句)
??create table 創建表
??create index 創建索引
??create view 創建視圖
??alter table 增加表列,重定義表列,更改存儲分配
??drop table 刪除表
??drop index 刪除索引

??4.數據庫控制語言DCL用來授予或回收訪問數據庫的某種特權,并控制數據庫操縱事務發生的時間及效果,對數據庫實行監視等。如:
??grant 將權限或角色授予用戶或其它角色
??revoke 回收用戶權限
??roll 回滾,是當某個對話更改了數據庫中的數據后,由于某種原因用戶不想提交此更改時,oracle所采取的保護操作。這是一個把信息恢復到用戶使update、insert、delete前最后提交的狀態。
??commit 提交。在完成數據庫的插入,刪除和修改操作時,只有當事務提交到數據庫才算完成,有提交前只有操作數據庫的本人才能看到,別人只有在最后提交完成才可以看到。

??接下來,我們在SQL*Plus中實戰一下,為我們下面將要做的打好基礎。
??用system登陸到SQL*Plus后,我們做如下操作(這次沒有截圖,有具體的說明)
??SQL>create user maxuan identified by max; #創建口令為max的用戶maxuan
??SQL>grant connect,resource to maxuan; #為用戶maxuan授權
??SQL>conn maxuan/max; #以用戶maxuan進行連接
??L>create table test(a number); #建立一個名為test的表,只有字段名為A的一列,數據類型為數字
??SQL>insert into test values(1); #插入一條記錄
??SQL>select * from test; #查詢記錄,此時A列的第一行為1
??SQL>update test set a=2; #更改記錄,此時A列的第一行已改為2
??SQL>commit; #提交
??SQL>delete from test; #刪除test表中所有的記錄,此時test表中沒有記錄
??SQL>roll; #回滾到提交前,此時再查詢test表,A列第一行值又回復到2

??oracle的數據類型

??在數據庫中創建數據表的時候,我們需要定義表中所有字段的類型,數據類型大致分為:character,numberic,date,lob和raw等,這些是最基本的數據類型。當然在oracle中也答應自定義數據類型!

??在oracle中提供的character數據類型:
??char():固定長度字符串,最大長度為2000字節,假如不指定長充,缺省為1個字節長。
??varchar2():可變長度的字符串,最大長度為4000字節,具體定義時指明最大長度,這咱類型可以放數字、字母以及ASCII碼字符集(或者EBCDIC等數據庫系統接受的字符集標準)中的所有符號。假如數據長度沒有達到最大值,oracle會根據數據大小自動調節字段長度。是最長用的數據類型。
??nchar():根據字符集而定的固定長度字符串,最大長度2000字節。
??nvarchar2():根據字符集而定的可變長度字符串,最大長度4000字節。
??long:可變長字符列,最大長度限制為2GB,用于不需要作字符串搜索的長串數據。此類型是一個遺留下來的而且將來不會被支持的數據類型,逐漸被BLOB,CLOB,NCLOB等大的數據類型所取代。
??numberic數據類型用來存儲負的和正的整數,分數和浮點型數據,在oracle中提供的numberic數據類型:
??number(,):可變長的數值列,答應0、正值及負值,m是所有的有效數字的位數,n是小數點以后的位數。
??在oracle中提供的date數據類型:
??date:缺省格式是dd-mon-yy(日-月-年)
??在oracle中提供的lob數據類型:
??blob、clob、nclob:三種大型對象(lob),用來保存較大的圖形文件或帶格式的文本文件,如Word文檔,以及音頻、視頻等非文本文件,最大長充是4GB。暈些數據存儲在數據庫內部保存。
??bfile:在數據庫外部保存的大型二進制對象文件,最大長度是4GB,這種外部的LOB類型,通過數據庫記錄變化情況,但是數據的具體保存是在數據庫外部進行的。
??在oracle中提供的raw數據類型:
??raw():可變長二進制數據,具體定義字段時必須指明最大長度,這種格式用來保存較小的圖形文件或帶格式的文本文件,它也是一種較老的數據類型,將被lob數據類型所取代。
??long raw:可變長二進制數據,最大長度是2GB,可以用來保存較大的圖形或帶格式的文本文件,以及音頻、視頻等非文本文件,這也是一種較老的數據類型,將被lob數據類型所取代。
??其它的數據類型:
??rowid:這是oracle數據表中的一個偽例,它是數據表中每行數據內在的唯一標識
integer:整數類型

??創建購物網站后臺數據庫

??現在我們回到用J2EE體系開發購物網站的主題,開始實戰建購物網站的后臺數據庫。
??為了實現購物網站的基本的功能,我們需要建立四個表:商品列表(products)、商品類型表(item)、訂單列表(orders)和治理員列表(admin)。表結構如下所示:

item表結構(商品類型表)
字段名稱 數據類型 答應空 主鍵/外鍵 備注
type_id INTEGER(自動編號) 否 主鍵 商品類別ID標記
type varchar2(30) 否 商品類別名稱

product表結構(商品列表)
字段名稱 數據類型 答應空 主鍵/外鍵 備注
product_id INTEGER(自動編號) 否 主鍵 商品ID標記
title varchar2(30) 否 商品名稱
type_id INTEGER 否 外鍵 商品類別標記
info varchar2(80) 是 商品簡介
price number(16,2) 否 商品價格

orders表結構(訂單列表)
字段名稱 數據類型 答應空 主鍵/外鍵 備注
order_id INTEGER(自動編號) 否 主鍵 訂單ID標記
name varchar2(20) 否 顧客姓名
address varchar2(100) 是 發貨地址
tel number(16) 是 聯系電話
email varchar2(30) 否 聯系email
BTime date 是 訂購日期
product_id INTEGER 否 外鍵 商品標記
uword varchar2(100) 是 顧客留言

admin表結構(治理員列表)
字段名稱 數據類型 答應空 主鍵/外鍵 備注
admin_id INTEGER(自動編號) 否 主鍵 治理員ID標記
adminname varchar2(20) 否 治理員名稱
password varchar2(20) 否 治理員密碼

??設計完表結構后,我們就要開始創建了。
??創建表我想已經不是什么難事了,那么我們要注重的是product、item、orders這三個表之間的關聯,還有自動編號。

??下面是完整的SQL語句,在后面我會給出具體的說明,你可以在SQL*Plus里對照著輸入,也可以將它存為SQL腳本文件,在SQL*Plus或SQLPlus Worksheet里執行。當然也可以把代碼直接拷貝到SQL*Plus里執行!

rem ///BY MAXUAN 開始///
create table item(
type_id integer not null,
type varchar2(30),
constraint item_pk primary key(type_id)
);

create table product(
product_id integer not null,
title varchar2(30) not null,
type_id integer not null,
info varchar2(80),
price number(16,2) not null,
constraint product_pk primary key (product_id),
constraint product_fk foreign key(type_id) references item(type_id)
);

create table orders(
order_id integer not null,
name varchar2(20) not null,
address varchar2(100),
tel number(16),
email varchar2(30) not null,
btime date,
product_id integer not null,
uword varchar2(100),
constraint orders_pk primary key(order_id),
constraint orders_fk foreign key(product_id) references product(product_id)
);

create table admin(
admin_id integer not null,
adminname varchar2(20) not null,
password varchar2(20) not null,
constraint admin_pk primary key(admin_id)
);

create sequence type_id increment by 1 start with 1;
create sequence product_id increment by 1 start with 1;
create sequence order_id increment by 1 start with 1;
create sequence admin_id increment by 1 start with 1;

rem ///BY MAXUAN 結束///

說明一:建立表之間的關聯
  product、item、orders三個表通過公共域,通常稱為鍵域(Key Field)進行關聯,存在兩種類型的鍵:主鍵(Primary key)和外部鍵(Foreign key)。主鍵使表中的數據行保持唯一,在表product中,product_id為主鍵,表orders中也包含有product_id,此時的product_id就是外部鍵。一個表的外部鍵從其它表中獲取信息。看看上面的SQL語句,應該會了吧!

說明二:關于自動編號
  在access中有自動編號的數據類型,MSSQL和MySQL也都有自動增長的數據類型,插入記錄時不用操作此字段,會自動獲得數據值,而oracle沒有自動增長的數據類型,我們需要建立一個自動增長的序列號,插入記錄時要把序列號的下一個值賦于此字段,可以預見的是,有此功能,我們可以把數據從ACCESS、MSSQL或MYSQL遷移到oracle了!
create sequence type_id increment by 1 start with 1;
這句中,type_id為序列號的名稱,每次增長為1,起始序號為1。

  好了,咱們的數據庫已經建好了,而且從中也了解到一些基本的相關知識,關于本人的用J2EE開發購物網站之二oracle篇到此結束,如有什么疑問請留言!!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人h视频在线观看播放| 日韩成人激情视频| 久久精品电影网站| 亚洲成人免费在线视频| 日韩在线一区二区三区免费视频| 在线电影av不卡网址| 亚洲美女www午夜| 91av在线不卡| 亚洲美女www午夜| 日韩中文综合网| 久久久999成人| 久久亚洲精品中文字幕冲田杏梨| 国产视频观看一区| 久久这里有精品视频| 26uuu日韩精品一区二区| 久久久久久久国产精品| 日韩av电影在线播放| 国产一区二区三区欧美| 国产精品福利久久久| 狠狠躁夜夜躁人人爽超碰91| 91精品啪在线观看麻豆免费| 欧美老女人性生活| 亚洲区一区二区| 国产免费成人av| 亚洲国产日韩一区| 久久精品久久久久久国产 免费| 91成人在线视频| 国产精品啪视频| 成人在线小视频| 久久精品99无色码中文字幕| 亚洲人成欧美中文字幕| 久久久国产在线视频| 福利视频第一区| 91色视频在线导航| 欧美日韩国产在线看| 国产精品扒开腿做| 亚洲资源在线看| 成人免费看黄网站| 在线电影欧美日韩一区二区私密| 久久精品国产欧美亚洲人人爽| 欧美成人激情在线| 国产欧美日韩亚洲精品| 欧美日韩亚洲精品一区二区三区| 亚洲精品国产精品国产自| 国产色婷婷国产综合在线理论片a| 日韩中文字幕在线视频播放| **欧美日韩vr在线| 国产手机视频精品| 激情成人在线视频| 欧美在线视频播放| 精品免费在线观看| 精品综合久久久久久97| 欧美二区在线播放| 日韩美女福利视频| 国产亚洲精品久久久久动| 精品少妇一区二区30p| 欧洲成人在线观看| 欧美精品一区二区免费| 国产丝袜一区二区| 黑人巨大精品欧美一区二区免费| 综合欧美国产视频二区| 国产在线精品播放| 亚洲高清在线观看| 欧美成人精品xxx| 国产精品自产拍高潮在线观看| 91精品啪aⅴ在线观看国产| 日本精品一区二区三区在线播放视频| 欧美日韩免费一区| 深夜福利91大全| 欧美一区二区三区免费观看| 亚洲毛茸茸少妇高潮呻吟| 日韩在线中文视频| 欧美日韩亚洲国产一区| 91深夜福利视频| 日韩av中文在线| 欧美裸体视频网站| 国产精品白嫩美女在线观看| 欧美午夜精品久久久久久久| 日韩中文在线中文网三级| 青青草原成人在线视频| 日韩的一区二区| 日韩电影中文字幕av| 欧美日韩裸体免费视频| 亚洲午夜性刺激影院| 亚洲老头老太hd| 亚洲综合中文字幕在线观看| 亚洲日本中文字幕免费在线不卡| 国语自产精品视频在线看抢先版图片| 国产极品精品在线观看| 91丝袜美腿美女视频网站| 日韩av在线直播| 日韩最新av在线| 欧美亚洲成人xxx| 欧美大秀在线观看| 中文字幕视频在线免费欧美日韩综合在线看| 久久精品国产99国产精品澳门| 91av网站在线播放| 亚洲美女免费精品视频在线观看| 最近2019年手机中文字幕| 中文字幕精品—区二区| 久久久久久久一| 国产主播欧美精品| 国产精品福利片| 欧美激情免费视频| 欧美日韩国产精品一区二区三区四区| 日韩av一区二区在线| 久久久久国产精品一区| 亚洲色图欧美制服丝袜另类第一页| 欧美制服第一页| 欧美综合一区第一页| 色综合色综合久久综合频道88| 伊人久久精品视频| 91午夜在线播放| 性欧美视频videos6一9| 亚洲欧洲中文天堂| 97视频在线播放| 欧美一级免费看| 国外成人在线视频| 国产一区私人高清影院| 精品人伦一区二区三区蜜桃免费| 欧美日韩成人在线观看| 日韩三级成人av网| 久久综合久久美利坚合众国| 国产精品高潮粉嫩av| 97超碰色婷婷| 日韩激情片免费| 国产日韩欧美在线观看| 日韩av在线电影网| 亚洲国产日韩欧美在线图片| 精品中文字幕在线观看| 欧美性受xxxx白人性爽| 日韩黄色高清视频| 久久人人爽国产| 日韩有码在线视频| 国产欧美精品一区二区三区-老狼| 欧美大尺度激情区在线播放| 岛国av一区二区| 欧美精品在线免费播放| 亚洲女人天堂成人av在线| 91影视免费在线观看| 国产精品无码专区在线观看| 欧美激情亚洲国产| 国产成一区二区| 成人福利在线视频| 欧美激情日韩图片| 国产盗摄xxxx视频xxx69| 成人h猎奇视频网站| 97久久精品在线| 久久久久国产精品免费网站| 亚洲国产日韩欧美在线动漫| 国产精品老女人精品视频| 午夜伦理精品一区| 精品国产乱码久久久久酒店| 久久中文久久字幕| 热99精品里视频精品| 91大神在线播放精品| 久久久精品视频成人| 日本成人精品在线| 国产精品视频免费在线| 亚洲va欧美va国产综合剧情| 亚洲国产精品人久久电影| 国产97人人超碰caoprom| 69av在线视频| 欧美国产日韩免费|