国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SQL語句創(chuàng)建視圖:

這篇具有很好參考價(jià)值的文章主要介紹了SQL語句創(chuàng)建視圖:。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

SQL語句創(chuàng)建視圖:

前言

??個(gè)人主頁:?? :???初階牛???
??推薦專欄: ?????? c語言初階
??個(gè)人信條: ??知行合一
??本篇簡(jiǎn)介:>:介紹數(shù)據(jù)庫中有關(guān)視圖的知識(shí),參考學(xué)校作業(yè).
金句分享:
?找不到答案的時(shí)候,就找自己。?

視圖的定義:

定義:
根據(jù)用戶的各種需求重新構(gòu)造表的數(shù)據(jù)結(jié)構(gòu),這種數(shù)據(jù)結(jié)構(gòu)就是視圖.
視圖是從一張或多張表中導(dǎo)出來的表,它不是真實(shí)存在的基本表,而是一張虛表,并沒有像基本表一樣存儲(chǔ)在數(shù)據(jù)庫中,而是相當(dāng)于一個(gè)查詢結(jié)果集合保存一樣.

基本概念:
視圖同其它基本表一樣,也包含了帶有各種名稱和列的數(shù)據(jù)行,對(duì)表能進(jìn)行的查詢,插入修改對(duì)視圖同樣可以,并且視圖是動(dòng)態(tài)生成的,對(duì)依賴的基本表中的數(shù)據(jù)修改,視圖也會(huì)自動(dòng)更新.

視圖的優(yōu)缺點(diǎn):
優(yōu)點(diǎn):

1)安全性:
用戶通過視圖只能查看基本表中的部分?jǐn)?shù)據(jù),未符合要求的數(shù)據(jù)并沒有被篩選出來,對(duì)于其它數(shù)據(jù)用戶既看不到也操作不了.數(shù)據(jù)庫授權(quán)命令可以限制用戶對(duì)數(shù)據(jù)庫檢索到特定的數(shù)據(jù)庫對(duì)象中上,但不能細(xì)致到限制為數(shù)據(jù)庫中特定的行和列上.

例如:
基本表為:(1)班全體學(xué)生
視圖為:年齡大于18的男學(xué)生

當(dāng)我們?cè)O(shè)置號(hào)權(quán)限后,用戶就只能查看符合要求的男學(xué)生信息,對(duì)于不符合條件的男學(xué)生和女學(xué)生的信息則既看不到,也操作不了.

2)簡(jiǎn)單性:
可以根據(jù)不同的需求創(chuàng)建不同的視圖,簡(jiǎn)化用戶的操作.

3)邏輯數(shù)據(jù)獨(dú)立性:
視圖可以在應(yīng)用程序與數(shù)據(jù)表之間,起到讓雙方在一定程度上獨(dú)立的作用.
即程序可以建立在視圖上,當(dāng)數(shù)據(jù)表發(fā)生變化時(shí),可以在表上修改視圖,通過視圖屏蔽表的變化,從而使應(yīng)用程序可以不改變.反之,當(dāng)應(yīng)用程序發(fā)生變化時(shí),也可以在表上修改視圖,屏蔽應(yīng)用的變化.

缺點(diǎn)::

1)影響查詢效率:
由于數(shù)據(jù)庫,管理系統(tǒng)必須把對(duì)視圖的查詢轉(zhuǎn)化為對(duì)基本表的查詢,當(dāng)一個(gè)視圖是由復(fù)雜的多個(gè)表連接定義時(shí),即使對(duì)視圖進(jìn)行一個(gè)簡(jiǎn)單的數(shù)據(jù)查詢也需要轉(zhuǎn)變?yōu)橐粋€(gè)復(fù)雜的多表查詢,耗費(fèi)一定的時(shí)間.

2)修改受限制:
對(duì)于復(fù)雜的視圖,視圖中的部分來源表中有數(shù)據(jù)不能被修改將導(dǎo)致視圖也不能被修改.

一、創(chuàng)建視圖

范例中的數(shù)據(jù)庫在前幾篇文章有提到,想要獲取數(shù)據(jù)庫中的數(shù)據(jù)可以翻看前幾篇復(fù)制獲取數(shù)據(jù).
數(shù)據(jù)庫和數(shù)據(jù)表的創(chuàng)建
對(duì)表添加數(shù)據(jù)

			student表
SQL語句創(chuàng)建視圖:
			course表
SQL語句創(chuàng)建視圖:
			sc表
SQL語句創(chuàng)建視圖:

創(chuàng)建視圖的格式:

create view 視圖名
as
查詢語句

??栗子
(1)創(chuàng)建一個(gè)名為stuview2的水平視圖,從數(shù)據(jù)庫student infoStudent表中查詢出性別為“”的所有學(xué)生的資料。
并在創(chuàng)建視圖時(shí)使用with check option。(注:該子句用于強(qiáng)制視圖上執(zhí)行的所有修改語句必須符合由select語句where中的條件。)
解釋:
WITH CHECK OPTION的作用?

1.對(duì)于update,有with check option,要保證update后,數(shù)據(jù)要被視圖查詢出來;
2.對(duì)于delete,有無with check option都一樣;
4.對(duì)于insert,有with check option,要保證insert后,數(shù)據(jù)要被視圖查詢出來;
5.對(duì)于沒有where 子句的視圖,使用with check option是多余的。

語句:

create view stuview2--表示創(chuàng)建一個(gè)名為stuview2的視圖
as
select * from student where sex='男'
with check option

查看視圖:

語句:

select * from stuview2

執(zhí)行結(jié)果:

SQL語句創(chuàng)建視圖:

(2)創(chuàng)建一個(gè)名為stuview3的投影視圖,從數(shù)據(jù)庫student_info的Course表中查詢學(xué)分大于3的所有課程的課程號(hào)、課程名、總學(xué)時(shí)。并在創(chuàng)建時(shí)對(duì)該視圖加密。(提示:用with ENCRYPTION關(guān)鍵子句)
語句:

create view stuview3 with ENCRYPTION--創(chuàng)建視圖并加密
as
select Cno , Cname , Total_perior from course where credit>3

(3)創(chuàng)建一個(gè)名為stuview4的視圖,能檢索出“051”班所有女生的學(xué)號(hào)、課程號(hào)及相應(yīng)的成績(jī)。

create view stuview4
as
select * from sc 
where sno=(
select sno from student
where classno='051' and sex='女')

(4)創(chuàng)建一個(gè)名為stuview5的視圖,能檢索出每位選課學(xué)生的學(xué)號(hào)、姓名、總成績(jī)。

create view stuview5
as
select student.sno 學(xué)號(hào),sname 姓名 ,Grade 成績(jī) from student,sc
where student.Sno=sc.sno

二、查詢視圖的創(chuàng)建信息及視圖中的數(shù)據(jù)

(1)查看視圖stuview2的創(chuàng)建信息。

a.通過系統(tǒng)存儲(chǔ)過程sp_help查看

sp_help stuview2

執(zhí)行結(jié)果:

SQL語句創(chuàng)建視圖:

b.通過查詢表sysobjectsa、
–b

select so.name , sc.name , sc.colid, st.name
from sysobjects so , syscolumns sc, systypes st 
where so.id = sc.id
	and so.xtype = 'v'
	and so.status >= 0
	and sc.xtype = sT.xusertype
	and so.name = 'stuview2'
order by so.name,sc.colorder

執(zhí)行結(jié)果:

SQL語句創(chuàng)建視圖:

(2)通過查看視圖的定義腳本。

a.通過系統(tǒng)存儲(chǔ)過程sp_helptext

sp_helptext stuview2

執(zhí)行結(jié)果:

SQL語句創(chuàng)建視圖:

b.通過查詢表sysobjects和表syscomments
(提示:視圖的名稱保存在表sysobjects的name列,定義腳本保存在表syscomments的text列)

select so.name , sc.text
from sysobjects so, syscomments sc where so.id = sc.id
and so.xtype = 'v'and so.status >= 0
and so.name = 'stuview2'

執(zhí)行結(jié)果:

SQL語句創(chuàng)建視圖:

3)查看加密視圖stuview3的定義腳本。

sp_helptext stuview3

執(zhí)行結(jié)果:

SQL語句創(chuàng)建視圖:

三.修改視圖的定義

(1)修改視圖stuview3使其從數(shù)據(jù)庫Student_info的student表中查詢總學(xué)時(shí)大于60的所有課程的課程號(hào)、課程名、學(xué)分。(提示:若視圖原具有加密保護(hù),修改視圖時(shí)若未加with encryption子句,則修改后的視圖不再加密。)

alter view stuview3
with encryption
as
select Cno ,Cname , credit from course 
where Total_perior>60

查看視圖:

select * from stuview3

四.視圖的更名與刪除

1)用系統(tǒng)存儲(chǔ)過程sp_rename將視圖stuview4更名為stuv4。

sp_rename stuview4, stuv4

運(yùn)行結(jié)果:
SQL語句創(chuàng)建視圖:

五.管理視圖中的數(shù)據(jù)

1)從視圖stuview2查詢出班級(jí)為“051”、姓名為“張虹的資料。

select * from stuview2
where classno='051' and sname='張虹'

2)向視圖stuview2中插入一行數(shù)據(jù),內(nèi)容為:

學(xué)號(hào) 姓名 學(xué)號(hào) 性別 家庭住址 入學(xué)時(shí)間 出生年月
20110009 趙小林 054 南京 2011/09/01 1993/01/09

語句:

insert into stuview2
values ( '20110009','趙小林','男','1993/01/09', '054','2011/09/01',
		'南京','CH ','201111')
--查看視圖:
select * from stuview2

可以觀察到視圖中已經(jīng)有了趙小林的信息.
3)查詢student,查看表中的內(nèi)容有何變化。Student表中是否也已有“趙小林”的信息
語句:

select * from student--查詢student表

SQL語句創(chuàng)建視圖:

4)向視圖stuview2中插入一行數(shù)據(jù),內(nèi)容為:

學(xué)號(hào) 姓名 學(xué)號(hào) 性別 家庭住址 入學(xué)時(shí)間 出生年月
20110010 趙靜 054 南京 2011/09/01 1993/11/09

問題:能成功插入嗎?原因何在?
SQL語句創(chuàng)建視圖:

答案:
不能插入,原因是目標(biāo)視圖或者目標(biāo)視圖所跨越的某一視圖指定了WITH CHECK OPTION,而該操作的一個(gè)或多個(gè)結(jié)果行又不符合CHECK OPTION 約束。
SQL語句創(chuàng)建視圖:

5)修改視圖stuview2中的數(shù)據(jù)。

a.將stuview2中054班、姓名為“趙小林”同學(xué)的家庭地址改為“揚(yáng)州市”。

update stuview2
set Home_addr='揚(yáng)州市'
where Home_addr='南京' and sname='趙小林' and classno='054'

b.查詢student,查看表中的內(nèi)容有何變化student表中的趙小林的家庭住址已發(fā)生了改變

select * from student

運(yùn)行結(jié)果:

SQL語句創(chuàng)建視圖:

6)從視圖stuview1中將班級(jí)為054、姓名為“趙小林”同學(xué)刪除。

delete from stuview2
where sname=’趙小林’’

好了,今天的SQL Server知識(shí)就分享到這里了.下一篇將會(huì)是SQL server中存儲(chǔ)過程的介紹,
希望這篇文章對(duì)大家有幫助。歡迎小伙伴們私信提意見和提問哦!
最后,小伙伴們的點(diǎn)贊就是給牛牛最大的支持,能不能給牛牛來一個(gè)一鍵三連呢?謝謝支持。
SQL語句創(chuàng)建視圖:
文章來源地址http://www.zghlxwxcb.cn/news/detail-404087.html

到了這里,關(guān)于SQL語句創(chuàng)建視圖:的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SQL進(jìn)階(2)——SQL語句類型 & 增刪改查CRUD & 事務(wù)初步 & 表關(guān)聯(lián)關(guān)系 & 視圖 +索引

    SQL進(jìn)階(2)——SQL語句類型 & 增刪改查CRUD & 事務(wù)初步 & 表關(guān)聯(lián)關(guān)系 & 視圖 +索引

    1.SQL語句的類型,數(shù)據(jù)操作語句,數(shù)據(jù)查詢語句; 2.MySQL的運(yùn)算符,常用函數(shù),增刪改查CRUD語法; 3.數(shù)據(jù)操作的事務(wù):原子性,一致性,隔離性,持久性; 4.數(shù)據(jù)庫表關(guān)聯(lián)關(guān)系,一對(duì)一,一對(duì)多,多對(duì)多; 5.視圖,索引; SQL程序語言有四種類型,對(duì)數(shù)據(jù)庫的基本操作都屬于這

    2024年02月16日
    瀏覽(21)
  • Flink sql 創(chuàng)建 視圖-view

    Flink sql 創(chuàng)建 視圖-view

    例子不是很恰當(dāng)主要是 我們?cè)趧?chuàng)建數(shù)倉表時(shí),通過先將一個(gè)函數(shù)的結(jié)果集放到一個(gè)視圖中, 在通過一個(gè)函數(shù) 將上一個(gè)視圖 結(jié)果放入到視圖中 然后在通過視圖 的結(jié)果放入到 數(shù)倉新表中。 比如 對(duì)一張表中的一列進(jìn)行函數(shù)的結(jié)果放入到一個(gè)視圖中 在對(duì)視圖進(jìn)行一個(gè)函數(shù) 結(jié)果

    2024年02月11日
    瀏覽(12)
  • 【SQL server】視圖和索引的創(chuàng)建與管理

    【SQL server】視圖和索引的創(chuàng)建與管理

    本實(shí)驗(yàn)數(shù)據(jù)來源課參照一下本專欄文章: 【SQL server】進(jìn)行簡(jiǎn)單查詢分組、連接查詢子查詢和匯總(含teaching數(shù)據(jù)庫創(chuàng)建及實(shí)驗(yàn)拓展)_Deep-sea shark的博客-CSDN博客_sql 分組匯總 視圖是一張?zhí)摫?,?shù)據(jù)庫中只存儲(chǔ)視圖的定義,而不存儲(chǔ)視圖對(duì)應(yīng)的數(shù)據(jù)(除非是索引視圖)。 視圖可

    2024年02月04日
    瀏覽(22)
  • SQL 日期處理和視圖創(chuàng)建:常見數(shù)據(jù)類型、示例查詢和防范 SQL 注入方法

    在數(shù)據(jù)庫操作中,處理日期是一個(gè)關(guān)鍵的方面。確保插入的日期格式與數(shù)據(jù)庫中日期列的格式匹配至關(guān)重要。以下是一些常見的SQL日期數(shù)據(jù)類型和處理方法。 DATE - 格式為YYYY-MM-DD DATETIME - 格式為YYYY-MM-DD HH:MI:SS TIMESTAMP - 格式為YYYY-MM-DD HH:MI:SS YEAR - 格式為YYYY或YY DATE - 格式為YY

    2024年02月05日
    瀏覽(29)
  • 索引創(chuàng)建、刪除的sql語句

    索引創(chuàng)建、刪除的sql語句

    目錄 常用的索引類型 創(chuàng)建索引 使用ALTER TABLE 語句創(chuàng)建索引??? 使用CREATE TABLE 語句創(chuàng)建索引 刪除索引 使用ALTER TABLE 語句刪除索引 使用DROP INDEX 語句刪除索引 1,普通索引:普通索引是最基本的索引,它沒有任何限制,值可以為空;僅加速查詢。 2,唯一索引:唯一索引與普

    2023年04月27日
    瀏覽(24)
  • SQL語句創(chuàng)建數(shù)據(jù)庫

    SQL語句如下: (1) name: 數(shù)據(jù)文件名稱一般為 ( name ) _Data ,日志文件名稱一般為( name )_Log 。 (2) filename: 數(shù)據(jù)文件名后綴為 .mdf ,日志文件名后綴為 .ldf 。 (3) maxsize: 設(shè)置為 unlimited 時(shí),表示文件最大大小無限制。 (4) filegrowth: 可以設(shè)置為具體值(—M)或者百分比

    2024年02月13日
    瀏覽(40)
  • SQL Server語句創(chuàng)建表

    SQL Server語句創(chuàng)建表

    今天介紹一下如何使用SQL Server語句創(chuàng)建表并添加數(shù)據(jù) 首先先了解一下表的模式,在數(shù)據(jù)庫中根據(jù)模式進(jìn)行分組避免表名稱的沖突 在SQL Server 2014中直接新建表是默認(rèn)的前綴dbo 而命名其他的模式需要使用SQL Server語句進(jìn)行創(chuàng)建 下面將一步一步的進(jìn)行演示,首先是創(chuàng)建一個(gè)數(shù)據(jù)庫

    2023年04月09日
    瀏覽(17)
  • 使用SQL語句創(chuàng)建存儲(chǔ)過程

    使用SQL語句創(chuàng)建存儲(chǔ)過程

    本篇文章是記錄學(xué)校學(xué)習(xí) SQL server 中知識(shí),可用于復(fù)習(xí)資料. 定義: 存儲(chǔ)過程 是為了完成特定功能的SQL語句集合,存儲(chǔ)在數(shù)據(jù)庫中,用戶通過指定 存儲(chǔ)過程 的名稱并給出參數(shù)來執(zhí)行。 優(yōu)點(diǎn): 1、方便修改。 ??因?yàn)?存儲(chǔ)過程 是存儲(chǔ)在數(shù)據(jù)庫中的,如果需要涉及到修改SQL語句

    2024年02月08日
    瀏覽(18)
  • sql sever使用SQL語句創(chuàng)建學(xué)生表

    創(chuàng)建數(shù)據(jù)庫sql語句 創(chuàng)建學(xué)生表 創(chuàng)建成績(jī)表,成績(jī)表和學(xué)生表有主鍵約束 向score表中添加一條數(shù)據(jù) 修改表的一整列 (將表的一整列修改為數(shù)據(jù)庫) 修改某一行的某一列 (修改scid為13 所在行的scname列為數(shù)據(jù)庫)

    2024年02月09日
    瀏覽(22)
  • 使用SQL語句創(chuàng)建數(shù)據(jù)庫與創(chuàng)建表

    使用SQL語句創(chuàng)建數(shù)據(jù)庫與創(chuàng)建表

    ??個(gè)人主頁:?? :???初階牛??? ??推薦專欄: ?????? c語言初階 ??個(gè)人信條: ??知行合一 ??本篇簡(jiǎn)介:: 本篇記錄一下牛牛在學(xué)校學(xué)習(xí)的sql serve數(shù)據(jù)庫知識(shí),內(nèi)容比較基礎(chǔ)適合,適合數(shù)據(jù)庫初學(xué)者學(xué)習(xí),希望對(duì)大家有些幫助,一起加油吧! 創(chuàng)建數(shù)據(jù)庫模板: 還是范例看的更

    2024年02月03日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包