第一篇:視圖的定義刪除等的例題及SQL語句
實(shí)驗(yàn)四:視圖
一、實(shí)驗(yàn)?zāi)康?、掌握視圖的定義與維護(hù)操作
2、加深對(duì)視圖在關(guān)系數(shù)據(jù)庫中的作用的理解。
二、實(shí)驗(yàn)環(huán)境
已安裝SQL Server 2005 企業(yè)版的計(jì)算機(jī);
三、實(shí)驗(yàn)內(nèi)容
以數(shù)據(jù)庫原理實(shí)驗(yàn)1數(shù)據(jù)為基礎(chǔ),請(qǐng)使用T-SQL 語句實(shí)現(xiàn)進(jìn)行以下操作:
1、創(chuàng)建一個(gè)視圖,該視圖只含上海客戶信息,即客戶號(hào)、客戶姓名、住址。
create view kh
as select cust_id,cust_name,addr
from customer where addr='上海'
2、對(duì)視圖添加一條記錄數(shù)據(jù)。(注意:分別查看customer表和該視圖的結(jié)果。)
insert into kh
values('c0021','李陽','上海','0100888888')
3、刪除視圖中所有姓“王”的客戶數(shù)據(jù)。
delete from kh where cust_name like '王%'
4、通過視圖修改表內(nèi)某一客戶的姓名。
update kh set cust_name='萬華' where cust_name='李勇'
5、有兩個(gè)基本表employee和sales,創(chuàng)建一個(gè)視圖,該視圖包含相同業(yè)務(wù)員的編號(hào)、姓名、訂單號(hào)、銷售總金額。
1.create view ywy as select sale_id,emp_name,order_no,tot_amt from employee,sales where employee.emp_no=sales.sale_id6、將上述視圖中訂單號(hào)為10001的記錄的銷售總金額改為60000。
update ywy set tot_amt=6000 where order_no='10001'
7、給上述視圖添加一條記錄數(shù)據(jù)。
2.insert into ywy values('E0005','張三','1236',25000)
8、刪除上述視圖。
9、drop view ywy
第二篇:視圖的定義及優(yōu)點(diǎn)
1、視圖的定義及優(yōu)點(diǎn)
定義:是從一個(gè)或者幾個(gè)基本表導(dǎo)出的表,是用戶可以從一個(gè)特定的角度來查看數(shù)據(jù)庫中的數(shù)據(jù),它與基本表不同,是一個(gè)虛表,即視圖鎖對(duì)應(yīng)的數(shù)據(jù)不進(jìn)行實(shí)際存儲(chǔ)。
優(yōu)點(diǎn): 視圖能夠集中數(shù)據(jù),簡化用戶的數(shù)據(jù)查詢和處理。視圖便于用戶共享數(shù)據(jù)。視圖提高了數(shù)據(jù)的邏輯獨(dú)立性。視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù)。
2、三級(jí)模式二級(jí)映像的功能
通過三級(jí)模式提供的耳機(jī)映像保證了數(shù)據(jù)庫系統(tǒng)中能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。
3、數(shù)據(jù)模型的三要素:
數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)操作,完整性約束條件
4、數(shù)據(jù)庫安全性的控制方法
用戶標(biāo)識(shí)和鑒別,用戶存取權(quán)限控制,視圖機(jī)制,審計(jì)方法,數(shù)據(jù)加密
5、數(shù)據(jù)庫系統(tǒng)的特點(diǎn)
數(shù)據(jù)結(jié)構(gòu)化,數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充,數(shù)據(jù)獨(dú)立性高,數(shù)據(jù)由DBMS 同意管理和控制
6、基本封鎖類型及含義
排他鎖:若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上X鎖,則只允許T讀取和修改A,其他任何事務(wù)不能對(duì)A加任何類型鎖,知道T釋放A鎖,才能對(duì)A進(jìn)行封鎖和其他讀取操作,從而保證其他事務(wù)在T釋放A上的鎖前不能對(duì)A進(jìn)行讀取和修改。排他鎖實(shí)質(zhì)上是保證事務(wù)對(duì)數(shù)據(jù)的獨(dú)占性,排除其他事務(wù)對(duì)其知性過程的干擾
共享鎖:事務(wù)T對(duì)某數(shù)據(jù)A建立了共享鎖,則此時(shí)事務(wù)T都能對(duì)數(shù)據(jù)A進(jìn)行讀操作,但不能進(jìn)行修改和其他操作,而其他事務(wù)只能對(duì)數(shù)據(jù)A加S鎖不能加X鎖,即其他事務(wù)只能對(duì)數(shù)據(jù)A進(jìn)行讀操作。共享鎖實(shí)質(zhì)上是保證多個(gè)事務(wù)可以同時(shí)讀A,在A上的共享鎖被釋放前。都不能寫A7、兩段鎖協(xié)議的概念
兩段鎖協(xié)議就是在對(duì)任何數(shù)據(jù)進(jìn)行讀寫之前,事務(wù)首先要獲得對(duì)該數(shù)據(jù)的封鎖,在釋放一個(gè)封鎖之后,事務(wù)不再獲得任何其他封鎖,即一個(gè)事務(wù)被分為兩個(gè)階段
擴(kuò)展階段:事務(wù)可以申請(qǐng)封鎖,但是不能接觸任何已獲得的封鎖
收縮階段:事務(wù)可以釋放封鎖,但是不能申請(qǐng)新的封鎖
8、數(shù)據(jù)庫設(shè)計(jì)的步驟,任務(wù)
1應(yīng)用規(guī)劃進(jìn)行系統(tǒng)的必要性和可行性分析2 需求分析收集分析信息3 概念設(shè)計(jì)形成獨(dú)立于具體DBMS的概念模型4 邏輯設(shè)計(jì)將概念結(jié)構(gòu)轉(zhuǎn)化成某個(gè)DBMS所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化5 物理設(shè)計(jì)為邏輯數(shù)據(jù)模型選取一個(gè)最適合的應(yīng)用環(huán)境的物理結(jié)構(gòu) 6 數(shù)據(jù)庫實(shí)施:建立實(shí)際數(shù)據(jù)庫結(jié)構(gòu) 裝入實(shí)驗(yàn)數(shù)據(jù)對(duì)應(yīng)用程序進(jìn)行調(diào)試 轉(zhuǎn)入實(shí)際數(shù)據(jù)7運(yùn)行維護(hù):維護(hù)數(shù)據(jù)庫的安全性和完整性檢測(cè)并改善書庫庫運(yùn)行性能 根據(jù)用戶要求對(duì)數(shù)據(jù)庫現(xiàn)有功能運(yùn)行擴(kuò)充 集市改正運(yùn)行中發(fā)現(xiàn)的系統(tǒng)錯(cuò)誤
9、關(guān)系模型的三類完整性規(guī)則
實(shí)體完整性:若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。
參照完整性:若屬性F是基本關(guān)系R的外鍵,它與基本關(guān)系S的主鍵為Ks,相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中的每個(gè)元素在F的值必須為a或取空值b或等于S中某個(gè)元組的主碼值
用戶定義完整性:限定屬性的取值范圍,即對(duì)值域的約束,所以在用戶定義完整性中最常見的是域完整性約束
10、層次模式和網(wǎng)狀模型的優(yōu)缺點(diǎn)
層次模型優(yōu)點(diǎn):查詢效率高,結(jié)構(gòu)簡單,層次分明,便于在計(jì)算機(jī)內(nèi)實(shí)現(xiàn)的優(yōu)點(diǎn)
缺點(diǎn):現(xiàn)實(shí)世界中很多聯(lián)系是非層次的,其不能直接表示兩個(gè)以上實(shí)體型間的復(fù)雜的聯(lián)系和度偶i多聯(lián)系,只能通過冗余數(shù)據(jù)或創(chuàng)建虛擬節(jié)點(diǎn)的方法來結(jié)局,易產(chǎn)生不一致性,對(duì)數(shù)據(jù)的插入刪除操作限制較多,查詢子女節(jié)點(diǎn)必須通過雙親節(jié)點(diǎn),所以使得應(yīng)用程序的編寫比較復(fù)雜
網(wǎng)狀模型的優(yōu)點(diǎn):能夠直接描述現(xiàn)實(shí)世界,查詢方便,結(jié)構(gòu)對(duì)稱,查詢格式相同,炒作功能強(qiáng),速度快存取效率高
缺點(diǎn):數(shù)據(jù)結(jié)構(gòu)及其對(duì)應(yīng)的數(shù)據(jù)操作語言極其復(fù)雜,數(shù)據(jù)獨(dú)立性差,程序設(shè)計(jì)困難
11、數(shù)據(jù)庫物理結(jié)構(gòu)的含義及涉及步驟,評(píng)價(jià)指標(biāo)有哪些
含義:為給定的基本數(shù)據(jù)模型選取一個(gè)最適合的應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程
步驟:確定數(shù)據(jù)庫物的物理結(jié)構(gòu)評(píng)價(jià)數(shù)據(jù)庫的物理結(jié)構(gòu)
評(píng)價(jià)指標(biāo):時(shí)間空間 效率
12、數(shù)據(jù)獨(dú)立性的兩個(gè)級(jí)別:
物理數(shù)據(jù)獨(dú)立性 : 概念(或外)模式不會(huì)醉著內(nèi)模式的改變而改變
輯數(shù)據(jù)獨(dú)立性:外模式(或應(yīng)用程序)不會(huì)隨著概念模式的改變而改變
13、SQL的特點(diǎn):
1綜合統(tǒng)一 2高度非過程化 3面向幾個(gè)的操作方式 4以同一種語法結(jié)構(gòu)提供兩種使用方式 5語言簡潔 易學(xué)易用
14、關(guān)系模型和面向?qū)ο髷?shù)據(jù)模型的區(qū)別:
15、安全性控制的方法
用戶表示和鑒別 用戶存取權(quán)限控制 視圖機(jī)制 審計(jì)方法 數(shù)據(jù)加密
16、數(shù)據(jù)庫的功能
數(shù)據(jù)定義 數(shù)據(jù)操縱數(shù)據(jù)組織,存儲(chǔ)和管理數(shù)據(jù)庫事務(wù)管理和運(yùn)行管理 數(shù)據(jù)庫建立和維護(hù)功能
名詞解釋
1、SOL
是引種介于關(guān)系袋鼠和關(guān)系鹽酸之間的結(jié)構(gòu)化非過程查詢語言,是專用數(shù)據(jù)庫而建立的指令集,其功能包括數(shù)據(jù)的定義查詢更新和數(shù)據(jù)控制等多個(gè)方面
2、外碼
關(guān)系模式R1中的某一屬性F與關(guān)系模式R2的主鍵相對(duì)應(yīng),但不是R1的超鍵,則稱F是關(guān)系模式R1的外鍵
3、等值連接自然連接
自然連接:市一中特殊的等值連接,要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且要求在結(jié)果中把重復(fù)的屬性去掉。
4、數(shù)據(jù)庫的安全性
主要是指保護(hù)數(shù)據(jù)庫,防止不合法的使用,以免數(shù)據(jù)的泄漏更改和破壞
5、數(shù)據(jù)庫的完整性
是指數(shù)據(jù)庫中數(shù)據(jù)的正確性和相容性,防止錯(cuò)誤的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫造成無效操作
6、模式外模式內(nèi)模式
模式:也稱邏輯模式或者概念模式,是三級(jí)模式結(jié)構(gòu)中的中間層,是數(shù)據(jù)庫中全體數(shù)據(jù)邏輯結(jié)構(gòu)和特征的描述,描述現(xiàn)實(shí)世界中的實(shí)體及其性質(zhì)與聯(lián)系,是所有用戶的公共數(shù)據(jù)視圖
外模式:是數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示
內(nèi)模式:存貯記錄的類型,存儲(chǔ)域的表示,存儲(chǔ)記錄的物理順序,指引元,索引和存儲(chǔ)路徑等數(shù)據(jù)的存儲(chǔ)組織
7、二級(jí)三級(jí)封鎖協(xié)議
一級(jí)封鎖協(xié)議:事務(wù)T在修改數(shù)據(jù)前必須先對(duì)其加X鎖,知道事物結(jié)束才釋放
二級(jí)封鎖協(xié)議:在一級(jí)封鎖協(xié)議中加上事務(wù)T在讀取數(shù)據(jù)之前必須先對(duì)其加上S鎖,讀取后即可釋放S鎖
三級(jí)封鎖協(xié)議:在一級(jí)封鎖協(xié)議中加上事務(wù)T在讀取之前必須先對(duì)其加上S鎖,直到事務(wù)結(jié)束后才能釋放S鎖
8、數(shù)據(jù)流圖 數(shù)據(jù)字典
數(shù)據(jù)流圖:是SA中使用的工具,以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程,描繪信息流和數(shù)據(jù)流和數(shù)據(jù)從輸入移動(dòng)到輸出的過程中鎖經(jīng)受的變換,由外部實(shí)體,處理過程。數(shù)據(jù)流。數(shù)據(jù)存儲(chǔ),組成數(shù)據(jù)字典:是關(guān)于數(shù)據(jù)的信息集合,產(chǎn)生于數(shù)據(jù)流圖,是對(duì)數(shù)據(jù)流圖中各個(gè)成分的纖細(xì)描述,是數(shù)據(jù)流圖的補(bǔ)充。由數(shù)據(jù)項(xiàng),數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)流。數(shù)據(jù)存儲(chǔ),處理過程組成。
9、物理獨(dú)立性邏輯獨(dú)立性
物理數(shù)據(jù)獨(dú)立性 : 概念(或外)模式不會(huì)醉著內(nèi)模式的改變而改變
輯數(shù)據(jù)獨(dú)立性:外模式(或應(yīng)用程序)不會(huì)隨著概念模式的改變而改變
1、簡述數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)
數(shù)據(jù)庫設(shè)計(jì)是硬件軟件和桿件的結(jié)合數(shù)據(jù)庫設(shè)計(jì)應(yīng)該是應(yīng)用系統(tǒng)設(shè)計(jì)相結(jié)合2、一般用戶的需求有哪些方面
1信息需求 2 處理需求3 性能需求
3、簡述用戶需求的方法與步驟
1跟班作業(yè) 2開會(huì)調(diào)查 3問卷調(diào)查 4訪談詢問 5查詢記錄
4、抽象有哪些類型,局部試圖設(shè)計(jì)的步驟是什么
1分類 2聚集 3概括
5、簡述全局視圖設(shè)計(jì)的方法與步驟
方法:一次集成逐步集成合并重構(gòu)
步驟: 1 合并局部E-R圖,消除沖突初步生成E-R圖2消除冗余,生成基本E-R圖
6、E-R圖如何向關(guān)系模型轉(zhuǎn)換,簡述轉(zhuǎn)換的步驟和原則
概念模型向關(guān)系數(shù)據(jù)模型的轉(zhuǎn)化就是將用E-R圖表示的實(shí)體。實(shí)體屬性和實(shí)體聯(lián)系轉(zhuǎn)化為關(guān)系模式
原則: 一個(gè)實(shí)體型轉(zhuǎn)換成一個(gè)關(guān)系模式實(shí)體間的聯(lián)系跟圖聯(lián)系的類型轉(zhuǎn)換
7、如何優(yōu)化關(guān)系模型
1確定數(shù)據(jù)依賴 2對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行及消化處理 3按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式逐一進(jìn)行分析,確定各關(guān)系模式分別屬于第幾范式 4按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否對(duì)它們進(jìn)行合并和分解以提高數(shù)據(jù)操作的小龍和存儲(chǔ)空間的利用率。
8、試述數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容和步驟
內(nèi)容:為關(guān)系模式選擇存取方法設(shè)計(jì)關(guān)系索引等數(shù)據(jù)庫文件的物理存儲(chǔ)結(jié)構(gòu)
步驟:確定數(shù)據(jù)庫的物理結(jié)構(gòu)對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià)
9、簡述數(shù)據(jù)庫實(shí)施的步驟及運(yùn)行包含的內(nèi)容
步驟 :1 用DDL定義數(shù)據(jù)庫結(jié)構(gòu)2組織數(shù)據(jù)入庫 3編制與調(diào)制應(yīng)用程序
內(nèi)容:功能測(cè)試,性能測(cè)試
12、簡述概念結(jié)構(gòu)設(shè)計(jì)的方法和步驟
自頂向下:首先定義全局的概念結(jié)構(gòu)框架,再逐步分解細(xì)化
自底向上:首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu) 逐步擴(kuò)張:首先定義核心的概念結(jié)構(gòu),然后以滾雪球方式向外部逐步擴(kuò)張
混合策略:把自頂向下自底向上結(jié)合,用自頂向下設(shè)計(jì)一個(gè)全局概念結(jié)構(gòu)框架,以自底向上設(shè)計(jì)各局部概念結(jié)構(gòu)
第三篇:分享高性能批量插入和批量刪除sql語句寫法
分享高性能批量插入和批量刪除sql語句寫法
一,技術(shù)水平總能在扯皮和吹毛求疵中得到提高。如果從來不“求疵”,可能就不會(huì)知道if(str!= “")不如if(str!= string.Empty)高效、批量插入和刪除的sql語句是要那樣寫才執(zhí)行最快、接口和抽象類的區(qū)別不僅是語言層面、原來權(quán)限管理是要這樣設(shè)計(jì)的、某個(gè)類那樣設(shè)計(jì)職責(zé)才更單一更易于擴(kuò)展……
本來前兩篇文章是學(xué)習(xí)cnblogs編輯控件用的,看到跟貼的朋友詢問批量插入和批量刪除的問題,決定整理成文和大家分享。
我們這里討論的只是普通sql語句如何寫更高效,不考慮特殊的用文件中轉(zhuǎn)等導(dǎo)入方式,畢竟在代碼中調(diào)用sql語句或存儲(chǔ)過程才更方便。
批量刪除很簡單,大家可能都用過:
DELETE FROM TestTable WHERE ID IN(1, 3, 54, 68)--sql2005下運(yùn)行通過當(dāng)用戶在界面上不連續(xù)的選擇多項(xiàng)進(jìn)行刪除時(shí),該語句比循環(huán)調(diào)用多次刪除或多條delete語句中間加分號(hào)一次調(diào)用等方法都高效的多。
本文重點(diǎn)講述的是批量插入的寫法:
sql寫法:
INSERT INTO TestTable SELECT 1, 'abc' UNION SELECT2, 'bcd'UNION SELECT 3, 'cde'--TestTable表沒有主鍵,ID不是主鍵
oracle寫法:
INSERT INTO TestTable SELECT 1, 'abc' From daul UNION SELECT2, 'bcd' From daul--TestTable表沒有主鍵,ID不是主鍵
曾經(jīng)測(cè)試過,這種寫法插入1000條數(shù)據(jù)比循環(huán)調(diào)用1000次insert或1000條insert語句簡單疊加一次調(diào)用要高效得多,大概快20多倍(調(diào)試狀態(tài)不是太準(zhǔn))。其實(shí)很簡單,就用了個(gè)union(union all 也可以),但當(dāng)時(shí)得出測(cè)試結(jié)果時(shí)還是很驚喜的。
要得出這個(gè)結(jié)果需要兩個(gè)條件:
1、表不能有主鍵或者主鍵是數(shù)據(jù)庫默認(rèn)的(sql用自動(dòng)遞增列,oracle用序列)
2、組合sql語句時(shí)只能直接用字符串連接,不能用參數(shù)化sql語句的寫法(就是在組合的sql中用@parm做占位符,再給Command對(duì)象添加Parameter)
以上兩條任意一條不滿足,效率的提高都不明顯。
另外,sql語句的最大長度有限制,組合幾千條數(shù)據(jù)寫成一條insert語句,可能會(huì)超過上限,所以如果有5000條數(shù)據(jù),可以一次insert 1000條,分5次寫完(不一定一次1000條最合適,有興趣的朋友可以研究)。
聲明:看了幾位朋友的評(píng)論后發(fā)現(xiàn)自己沒有敘述清楚
上面的兩個(gè)條件并不是說這樣做就好,而是說當(dāng)應(yīng)用場(chǎng)景滿足這兩個(gè)條件時(shí)才適合用union的寫法
當(dāng)時(shí)用這種寫法時(shí),是為了解決一個(gè)WinForm程序批量導(dǎo)入手機(jī)號(hào)碼的問題,程序給自己人用,excel文件也是可靠的,不需要考慮sql攻擊。還有一些場(chǎng)景是大量數(shù)據(jù)來源于通過Gprs網(wǎng)絡(luò)連接的專用終端,總之?dāng)?shù)據(jù)來源是可靠的,還有就是數(shù)據(jù)量很大但不可能巨大。
PS:常常遇到一些小技巧或者值得注意的小細(xì)節(jié),沒有記下來,要等下次再遇到時(shí)才想起來。現(xiàn)在下決心要養(yǎng)成好的工作習(xí)慣,留此文為證。
能夠整理成文的要寫在項(xiàng)目組開發(fā)規(guī)范中,其它的至少要記錄下來。
二,使用mybatis將數(shù)據(jù)批量插入到oracle中,在映射文件中怎么寫啊?
1.mybaits版本,3.1.0
2.1.2.3.4.5.6.7.
.office},#{item.remark})
8.9.
這個(gè)是參考網(wǎng)上的寫法寫的不過不支持向oracle中批量插入!
不知道有誰遇到過嗎?或者給出解決方法,該怎么解決?
?
找到 一種 寫法 分享 :
insert into
xxxxtable(hkgs,hkgsjsda,office,asdf,ddd,ffff,supfullName,classtype,agent_type,remark)
?
可以考慮用union all來實(shí)現(xiàn)批量插入。
例如:
insert into XX_TABLE(XX,XX,XX)select 'xx','xx','xx' union all select 'xx','xx','xx' union all select 'xx','xx','xx'...先拼裝好語句再動(dòng)態(tài)傳入insert into XX_TABLE(XX,XX,XX)后面部分,不知道能不能幫你解決問題
第四篇:數(shù)據(jù)庫SQL 視圖的創(chuàng)建及使用實(shí)驗(yàn)報(bào)告
《數(shù)據(jù)庫基礎(chǔ)》實(shí)驗(yàn)報(bào)告
班級(jí)__計(jì)算機(jī)111__學(xué)號(hào)__xxxxxxxx__姓名__xxx___完成日期____6.20___
實(shí)驗(yàn)室 __理工樓310_ 指導(dǎo)老師xxx成績____100______
實(shí)驗(yàn)
四、視圖的創(chuàng)建及使用
(一)實(shí)驗(yàn)?zāi)康模?)加深對(duì)視圖的理解。
(2)掌握使用管理工具創(chuàng)建和使用視圖的方法。
(3)掌握使用SQL創(chuàng)建和使用視圖的方法。
(二)實(shí)驗(yàn)內(nèi)容
(1)使用“圖書借閱”數(shù)據(jù)庫,在管理工具中創(chuàng)建視圖“借閱_計(jì)算機(jī)圖書”,包含借閱類別為“計(jì)算機(jī)”的圖書的信息:(讀者編號(hào),姓名,書號(hào),書名,借閱日期)。
(2)直接使用SQL定義(1)中要求的視圖并對(duì)其進(jìn)行查詢。
(3)在管理工具中建立各類視圖(如單表視圖、多表視圖、分組視圖、基于視圖的視圖等)。
(4)嘗試使用insert、update、delete更新視圖。
(三)實(shí)驗(yàn)具體步驟
(1)使用“圖書借閱”數(shù)據(jù)庫,在管理工具中創(chuàng)建視圖“借閱_計(jì)算機(jī)圖書”,包含借閱類別為“計(jì)算機(jī)”的圖書的信息(讀者編號(hào),姓名,書號(hào),書名,借閱日期)。create view 借閱_計(jì)算機(jī)圖書(Duno,Duname,Shuno,Shuname,JYtime)
as
select Duzhe.Duno,Duname,Tushu.Shuno,Shuname, JYtime from Tushu,Duzhe,Jieyue where Duzhe.Duno=Jieyue.Duno and Tushu.Shuno,=Jieyue.Shuno and Liebie='計(jì)算機(jī)'
(2)直接使用SQL定義(1)中要求的視圖并對(duì)其進(jìn)行查詢。
select * from 借閱_計(jì)算機(jī)圖書
(3)在管理工具中建立各類視圖
用管理工具建立:在管理工具中,打開圖書借閱數(shù)據(jù)庫,右擊視圖,新建視圖,然后依照要求建立各種視圖。
《數(shù)據(jù)庫基礎(chǔ)》實(shí)驗(yàn)報(bào)告
SQL語句:
create view 單表視圖
as
select Shuname,Shuno,Zuozhe from Tushu
create view 多表視圖
as
select Shuname,Shuno,Zuozhefrom Tushu,Jieyue
where Tushu.Shuno,=Jieyue.Shuno
create view 分組視圖(Shuno,Duno)
as
select Shuno,Duno from Jieyue group by Shuno
create view 基于視圖的視圖
as
select Duno,Duname,Danwei from 單表視圖 where Sex = '男'
(4)嘗試使用insert、update、delete更新視圖。
insert into 單表視圖 values(002,'三星','紹興文理','男',***)
update 單表視圖 set sex='男' where Duname='華為'
delete from 單表視圖 where Shuno=1002
(四)實(shí)驗(yàn)心得
通過這次實(shí)驗(yàn),對(duì)視圖有了更深的認(rèn)識(shí),從視圖的創(chuàng)建,插入,修改,查詢以及刪除都有了詳細(xì)的認(rèn)識(shí)。視圖能夠簡化用戶的操作,好好的學(xué)習(xí)課程,為以后的課程打下好基礎(chǔ)!在實(shí)驗(yàn)的過程中也遇到一些問題,但是經(jīng)過自己的理解以及請(qǐng)教同學(xué)把實(shí)驗(yàn)完成。
第五篇:sql語句中數(shù)據(jù)操縱及定義格式[小編推薦]
sql語句中數(shù)據(jù)操縱及定義格式大全
sql語句中數(shù)據(jù)操縱及定義格式大全
數(shù)據(jù)操縱:
一.插入字段
1.全字段插入
insert into 表名 values(字段值1,字段值2,...)
2.從指定數(shù)組插入記錄
insert into 表名 from array 數(shù)組名
3.選擇性字段插入
inser into 表名(字段名1,字段名2,....)values(字段值1,字段值2,...)
二.批量修改表中的字段值
update 表名 set 要求值的字段名=由提供值的字段名(或常量值)構(gòu)成的表達(dá)式where 篩選條件
三,邏輯刪除記錄
delete from 表名 where 篩選條件
數(shù)據(jù)定義
一.定義表結(jié)構(gòu)
creat table 表名(字段名1 類型(寬度)[primary key |check 表達(dá)式 error “信息” default 默認(rèn)值] ,字段名2 類型(寬度)primary key |check 表達(dá)式 error “信息” default 默認(rèn)值,......)
二.刪除表
drop table 表名
三修改表結(jié)構(gòu)
1.增加字段列的alter table 表名 add 新字段名 類型(寬度)primarykey |check 表達(dá)式 error“信息”default 默認(rèn)值
2.修改字段的類型和寬度的alter table 表名 alter 字段名 新類型(新寬度)
3.修改已存在字段的有效性規(guī)則和默認(rèn)值的修改有效性規(guī)則: altertable 表名 alter 字段名 set check 表達(dá)式 error “信息”修改默認(rèn)值: altertable 表名 alter 字段名 set default 默認(rèn)值
刪除規(guī)則: altertable 表名 alter 字段名 drop check
刪除默認(rèn)值: altertable 表名 alter 字段名 drop default
4.修改字段名
alter table 表名 rename 原名 to 新字段名
5.刪除字段名列
alter table 表名 drop 要?jiǎng)h除的字段名
6.增加索引項(xiàng)
alter table 表名 add primary key|unique 索引表達(dá)式 tag 索引文件名
7.刪除索引項(xiàng)
刪除候選索引: altertable 表名 drop uniquetag 索引文件名
刪除主索引: altertable 表名 dropprimary key