明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

網(wǎng)絡(luò)數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)

[摘要](一)這一教程是對(duì)網(wǎng)絡(luò)數(shù)據(jù)庫設(shè)計(jì)的一個(gè)入門介紹,簡要地介紹了SQL語言的基礎(chǔ)以及如何使用MS ACCESS和MS SQL SEVER建立網(wǎng)絡(luò)數(shù)據(jù)庫。通過本教程的學(xué)習(xí),你可以建立、訪問和操作你的數(shù)據(jù)庫,可以學(xué)會(huì)如何使用SQL語句檢索、增加、更新、刪除數(shù)據(jù)庫表中的內(nèi)容。這對(duì)于任何有關(guān)數(shù)據(jù)庫的操作和開發(fā)...

(一)這一教程是對(duì)網(wǎng)絡(luò)數(shù)據(jù)庫設(shè)計(jì)的一個(gè)入門介紹,簡要地介紹了SQL語言的基礎(chǔ)以及如何使用MS ACCESS和MS SQL SEVER建立網(wǎng)絡(luò)數(shù)據(jù)庫。通過本教程的學(xué)習(xí),你可以建立、訪問和操作你的數(shù)據(jù)庫,可以學(xué)會(huì)如何使用SQL語句檢索、增加、更新、刪除數(shù)據(jù)庫表中的內(nèi)容。這對(duì)于任何有關(guān)數(shù)據(jù)庫的操作和開發(fā)都具有重要意義。



1.1 SQL語言簡介



1.1.1 SQL語言及其優(yōu)點(diǎn)



1.1.2 SQL語言的分類及語法



1.2 中小型關(guān)系型數(shù)據(jù)庫簡介



1.2.1 關(guān)系型數(shù)據(jù)庫簡介



1.2.2 Access數(shù)據(jù)庫及其基本操作



1.2.3 SQL Server數(shù)據(jù)庫及其基本操作



1.3 ODBC與ADO對(duì)象



1.3.1 ASP訪問數(shù)據(jù)庫的幾種方式



1.3.2 創(chuàng)建和配置ODBC數(shù)據(jù)源



1.3.3 用ADO實(shí)現(xiàn)訪問數(shù)據(jù)庫



1.1 SQL語言簡介



SQL是英文(Structured Query Language)的縮寫,意思為結(jié)構(gòu)化查詢語言。SQL語言的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進(jìn)行溝通。按照ANSI(美國國家標(biāo)準(zhǔn)協(xié)會(huì))的規(guī)定,SQL被作為關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL語言標(biāo)準(zhǔn)。

SQL語言及其優(yōu)點(diǎn)





1.1.1 SQL語言及其優(yōu)點(diǎn)



首先,讓我們來了解一下使用SQL語言的優(yōu)點(diǎn):



● 非過程化語言



● 統(tǒng)一的語言



● 是所有關(guān)系數(shù)據(jù)庫的公共語言



1.非過程化語言



SQL是一個(gè)非過程化的語言,因?yàn)樗淮翁幚硪粋(gè)記錄,對(duì)數(shù)據(jù)提供自動(dòng)導(dǎo)航。SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對(duì)單個(gè)記錄進(jìn)行操作,可操作記錄集,所有SQL 語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結(jié)果作為另一條SQL語句的輸入。



SQL不要求用戶指定對(duì)數(shù)據(jù)的存放方法, 這種特性使用戶更易集中精力于要得到的結(jié)果;所有SQL語句使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對(duì)指定數(shù)據(jù)存取的最快速度的手段,查詢優(yōu)化器知道存在什么索引,在哪兒使用索引合適,而用戶則從不需要知道表是否有索引、有什么類型的索引。



2.統(tǒng)一的語言



SQL可用于所有用戶的DB活動(dòng)模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、 應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶;镜腟QL 命令只需很少時(shí)間就能學(xué)會(huì),最高級(jí)的命令在幾天內(nèi)便可掌握。



SQL為許多任務(wù)提供了命令,其中包括:



● 查詢數(shù)據(jù)



● 在表中插入、修改和刪除記錄



● 建立、修改和刪除數(shù)據(jù)對(duì)象



● 控制對(duì)數(shù)據(jù)和數(shù)據(jù)對(duì)象的存取



● 保證數(shù)據(jù)庫一致性和完整性



以前的數(shù)據(jù)庫管理系統(tǒng)為上述各類操作提供單獨(dú)的語言,而SQL 將全部任務(wù)統(tǒng)一在一種語言中。



3.是所有關(guān)系數(shù)據(jù)庫的公共語言



由于所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言,用戶可將使用SQL的技能從一個(gè)RDBMS(關(guān)系數(shù)據(jù)庫管理系統(tǒng))轉(zhuǎn)到另一個(gè),所有用SQL編寫的程序都是可以移植的。

SQL語言的分類及語法



1.1.2 SQL語言的分類及語法



可執(zhí)行的SQL語句的種類數(shù)目之多是驚人的。使用SQL,你可以執(zhí)行任何功能:從一個(gè)簡單的表查詢,到創(chuàng)建表和存儲(chǔ)過程,到設(shè)定用戶權(quán)限。在這個(gè)章節(jié)中,我們將重點(diǎn)講述如何從數(shù)據(jù)庫中檢索、更新和報(bào)告數(shù)據(jù),也是基于這個(gè)目的,我們應(yīng)該了解的最重要的SQL語句是:



● SELCET



● INSERT



● UPDATE



● DELETE



● CREAT



● DROP



以上這些命令可簡要描述如表1.1所示,這些命令看起來并不困難,在下面的例子中,我們將在實(shí)例中應(yīng)用這些命令,了解其功能。



表1.1 重要的SQL語句


1.SELECT語句語法


表1.2 SELECT語句的組件


下面我們對(duì)這個(gè)重要的語句語法進(jìn)行示例講解,需要說明的是這一章節(jié)中所涉及到的例子都是基于圖1.1描述的表結(jié)構(gòu)。


圖1.1 在test數(shù)據(jù)庫中的authors表的結(jié)構(gòu)


● 一個(gè)簡單的SELECT語句:


SELECT id,name,phone,zip


From authors


這個(gè)簡單的查詢的結(jié)果得出的內(nèi)容為authors表中返回的選定列的數(shù)據(jù)。在同樣的檢索情況下,如果你想縮小范圍,比如只想知道住在福州鼓樓地區(qū)(郵編為350002)的作者的名字,你可以接著看后面的例子;


● 添加WHERE子句


SELECT id,name,phone,zip


From authors


WHERE zip = ‘350002’


在檢索表行時(shí),WHERE子句可以使用多個(gè)列作為約束內(nèi)容,當(dāng)然在檢索約束內(nèi)容中還可以加入通過AND、OR以實(shí)現(xiàn)多個(gè)約束。另外,在SELECT語句中我們還可以通過更改比較操作符來改變約束的條件,以達(dá)到我們需要的檢索目的。我們?cè)倏匆粋(gè)例子;


● 完整約束查詢


SELECT id,name,phone,zip


From authors


WHERE zip <> ‘350002’AND phone = ‘1234567’


這個(gè)例子查詢結(jié)果返回的是住在福州鼓樓地區(qū)以外(郵編號(hào)不為350002)的且電話號(hào)碼為1234567的作者的資料。


表1.3 SELECT語句中支持的比較操作符


● 添加ORDER BY子句


SELECT id,name,phone,zip


From authors


WHERE zip = ‘350002 ‘


ORDER BY id


這樣,這條SQL語句返回的結(jié)果將id列的升序排序。

2.INSERT語句語法


表1.4 INSERT語句的組件


● 一個(gè)簡單的INSERT語句:


INSERT INTO authors


valueS


(‘FZ1234’,’張三’,’1234567’,’深圳幸運(yùn)計(jì)算機(jī)公司’,’350002’,’本文作者’)


這樣,便向表中加入了一條記錄。


我們也可以指明用哪幾列來填充,看下面的例子;


● 一個(gè)簡單的INSERT語句:


INSERT INTO authors(id,name,phone)


valueS (‘FZ3456’,’李四’,’7654321’)


通過上面兩個(gè)例子的方法,我們就可以往數(shù)據(jù)庫中添加內(nèi)容了,需要注意的是,我們插入值(包含在valueS部分中的)要按照INSERT INTO 部分中指明的列的順序,或是在未指明的條件下按照數(shù)據(jù)庫原始各列的順序。


3.UPDATE語句語法


表1.3 UPDATE語句的組件


● 將列設(shè)定為確定值:


UPDATE authors


SET zip = ‘350003’


WHERE id = ‘FZ4567’


通過這個(gè)語句我們可以把數(shù)據(jù)庫中id為 FZ4567 的條記錄的zip列的值改為 350003。這時(shí)如果我們無法給出確定的值,比如我們要給 id 為 FZ1234 的那位作者加薪 100 元,則可以這樣改寫SQL語句語句;


● 基于已有的值來設(shè)置新的列值


UPDATE authors


SET salary = salary + 100


WHERE id = ‘FZ1234’


這樣,即使不知道authors表中的salary列值,也可以用一條簡單的UPDATE語句成功地把薪水增加 100。


1.DELETE語句語法


表1.4 DELETE語句的組件


● 刪除一個(gè)表中的所有值:


DELETE FROM authors


這條語句的執(zhí)行結(jié)果是刪除authors表中的所有行。


● 刪除一個(gè)表中的指定的行


DELETE FROM authors


WHERE id = ‘FZ1234’


這條語句的執(zhí)行結(jié)果是刪表authors中id為 FZ1234 的行。


在前面的一部分內(nèi)容中我們講述了最常用的SQL語句的基本方法,但這只是SQL語句的一部分,其它的SQL語句由于不常用就不一一講述了。各位讀者如果有興趣可以參考一些專門的SQL語法資料,這將能使你更好地操縱數(shù)據(jù)庫,更好地通過數(shù)據(jù)庫來幫助你完成你的工作。