版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2講數(shù)據(jù)表的創(chuàng)建與管理一.基礎(chǔ)知識(shí)表是數(shù)據(jù)庫(kù)中存儲(chǔ)數(shù)據(jù)的基本對(duì)象。在設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)時(shí),一個(gè)重要的工作就是設(shè)計(jì)表結(jié)構(gòu)。表結(jié)構(gòu)的設(shè)計(jì)通常需要考慮下面的因素:數(shù)據(jù)庫(kù)中包含哪些表;每個(gè)表中包含哪些字段;表中字段的屬性,包括字段的數(shù)據(jù)類型、寬度、默認(rèn)值等1、SQLServer的基本數(shù)據(jù)類型
(1)二進(jìn)制數(shù)據(jù)Binary:固定長(zhǎng)度的二進(jìn)制數(shù)據(jù)Varbinary:變長(zhǎng)的二進(jìn)制數(shù)據(jù)類型Image:可以用來(lái)存儲(chǔ)超過(guò)8KB的可變長(zhǎng)度的二進(jìn)制數(shù)據(jù)。存儲(chǔ)MicrosoftWord文檔、MicrosoftExcel電子表格、包含位圖的圖像、GIF文件和JPEG文件等多種格式的數(shù)據(jù)。(2)字符數(shù)據(jù):由字母、符號(hào)和數(shù)字組成。Char:固定長(zhǎng)度的字符數(shù)據(jù)類型。Char[(n)]表示長(zhǎng)度為n個(gè)字節(jié)的固定長(zhǎng)度且非Unicode的字符數(shù)據(jù)。Varchar:非固定長(zhǎng)度的字符數(shù)據(jù)類型。Varchar[(n)]表示長(zhǎng)度最多為n個(gè)字節(jié)的可變長(zhǎng)度且非Unicode的字符數(shù)據(jù)。Text:存儲(chǔ)可變長(zhǎng)度的非Unicode數(shù)據(jù),可用于存儲(chǔ)大于8KB的ASCII字符。最大長(zhǎng)度為231-1(2,147,483,647)個(gè)字符在設(shè)計(jì)表結(jié)構(gòu)時(shí),如果需要存儲(chǔ)的字符數(shù)據(jù)長(zhǎng)度小于8KB,則使用Char或Varchar。使用Varchar數(shù)據(jù)類型可以按照數(shù)據(jù)的實(shí)際長(zhǎng)度進(jìn)行存儲(chǔ),從而節(jié)省存儲(chǔ)空間。當(dāng)數(shù)據(jù)長(zhǎng)度超過(guò)8KB時(shí),使用Text數(shù)據(jù)類型進(jìn)行存儲(chǔ)。例如,由于HTML文檔均由ASCII字符組成,而且一般長(zhǎng)于8KB,所以在SQLServer中通常把HTML文檔存儲(chǔ)在Text列中。(3)Unicode數(shù)據(jù)
Unicode字符集就是為了解決字符集不兼容的問(wèn)題而產(chǎn)生的,它所有的字符都用兩個(gè)字節(jié)表示,即英文字符也是用兩個(gè)字節(jié)表示
Nchar,
Nvarchar,Ntext:(4)日期和時(shí)間數(shù)據(jù)日期和時(shí)間數(shù)據(jù)使用Datetime和Smalldatetime數(shù)據(jù)類型存儲(chǔ)。Datetime:從1753年1月1日到9999年12月31日的日期和時(shí)間數(shù)據(jù)Smalldatetime:從1900年1月1日到2079年6月6日的日期和時(shí)間數(shù)據(jù),精確到分鐘。(5)數(shù)字?jǐn)?shù)據(jù)SQLServer的數(shù)字?jǐn)?shù)據(jù)包括正數(shù)、負(fù)數(shù)、小數(shù)、分?jǐn)?shù)和整數(shù)。Bigint:-263~263-1之間的所有整型數(shù)據(jù)。l
Int:-231~231-1之間的所有整型數(shù)據(jù)。Smallint:-215(-32768)~215-1(32767)之間的整型數(shù)據(jù)。Tinyint:0~255之間的整型數(shù)據(jù)。Decimal和Numeric:帶定點(diǎn)精度和小數(shù)位數(shù)的數(shù)字?jǐn)?shù)據(jù)類型。Decimal[(p[,s])]和Numeric[(p[,s])]表示定點(diǎn)精度和小數(shù)位數(shù)。p表示精度Float[(n)]:-1.79E+308~1.79E+308之間的浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)。Real:-3.40E+38~3.40E+38之間的浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)。(6)貨幣數(shù)據(jù)貨幣數(shù)據(jù)表示正的或負(fù)的貨幣值。在MicrosoftSQLServer中使用Money和Smallmoney數(shù)據(jù)類型存儲(chǔ)貨幣數(shù)據(jù)。Money:貨幣數(shù)據(jù)值介于-263~263-1。Smallmoney:貨幣數(shù)據(jù)值介于-214748.3648~+214748.3647之間。(7)特殊數(shù)據(jù)特殊數(shù)據(jù)包括不能用前面所述的二進(jìn)制、字符、Unicode、日期和時(shí)間、數(shù)字和貨幣數(shù)據(jù)類型表示的數(shù)據(jù)。SQLServer包含四種特殊數(shù)據(jù)類型:timestamp
bit:bit數(shù)據(jù)類型只能包括0或1。uniqueidentifiertableSQLServer數(shù)據(jù)庫(kù)中,數(shù)據(jù)表的基本操作有:表的創(chuàng)建、修改、刪除記錄的插入、修改、刪除實(shí)現(xiàn)這些操作主要有二種途徑:使用企業(yè)管理器通過(guò)T-SQL語(yǔ)句創(chuàng)建表
二.
SQLServer數(shù)據(jù)表的基本操作(1)創(chuàng)建表:展開(kāi)企業(yè)管理器上的數(shù)據(jù)庫(kù)節(jié)點(diǎn),從中選擇一個(gè)要建立表的數(shù)據(jù)庫(kù),在鼠標(biāo)右鍵單擊出來(lái)的快捷菜單中選擇“新建”,子菜單,選擇“表”命令。第一列中輸入列名,第二列選擇數(shù)據(jù)類型,第三列輸入長(zhǎng)度,第四列選擇是否為空(2)修改表:從樹(shù)形結(jié)構(gòu)展開(kāi)要修改定義的表所在數(shù)據(jù)庫(kù),并選中該數(shù)據(jù)庫(kù)節(jié)點(diǎn)下面的表節(jié)點(diǎn),在企業(yè)管理器右側(cè)顯示出該數(shù)據(jù)庫(kù)下全部表格。選擇要修改的表,單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇“設(shè)計(jì)表”命令,其余操作和最初建立表格時(shí)一樣
1、使用企業(yè)管理器(3)刪除表:若要?jiǎng)h除表,則基本表的定義、表中的數(shù)據(jù)、索引,以及由此表導(dǎo)出的視圖定義都被刪除,而且所有的內(nèi)容被刪除后無(wú)法恢復(fù)。只有有權(quán)限的人員才能刪除表。刪除操作不能刪除正在用于外鍵碼約束引用的表,要?jiǎng)h除此類表,必須先刪除引用的外鍵碼約束或刪除引用的表
從樹(shù)形結(jié)構(gòu)展開(kāi)要修改定義的表所在數(shù)據(jù)庫(kù),并選中該數(shù)據(jù)庫(kù)節(jié)點(diǎn)下面的表節(jié)點(diǎn),在企業(yè)管理器右側(cè)顯示出該數(shù)據(jù)庫(kù)下全部表格。選擇要修改的表,單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇“刪除”—“全部除去”命令,即可(4)插入記錄:
展開(kāi)“數(shù)據(jù)庫(kù)”節(jié)點(diǎn),展開(kāi)所選擇的具體數(shù)據(jù)庫(kù)節(jié)點(diǎn),展開(kāi)“表”節(jié)點(diǎn),右鍵要插入紀(jì)錄的表,選擇“打開(kāi)表”命令,選擇“返回所有行”,即可輸入紀(jì)錄值(5)修改記錄:如同插入記錄的方法,利用“打開(kāi)表”命令,選擇“返回所有行”打開(kāi)數(shù)據(jù)表,在對(duì)應(yīng)位置直接進(jìn)行修改(6)刪除記錄:如同插入記錄的方法,利用“打開(kāi)表”命令,選擇“返回所有行”打開(kāi)數(shù)據(jù)表,右擊要?jiǎng)h除的行,選擇“刪除”命令即可。(1)創(chuàng)建數(shù)據(jù)表格式:CREATETABLE表名(列名1數(shù)據(jù)類型約束,列名2數(shù)據(jù)類型約束,
…
列名n數(shù)據(jù)類型約束)2、使用T-SQL語(yǔ)言約束:實(shí)現(xiàn)表的完整性DEFAULT常量表達(dá)式:默認(rèn)值約束。NULL/NOTNULL:空值(默認(rèn))/非空值約束。PRIMARYKEY:主鍵約束。例1:在數(shù)據(jù)庫(kù)Manager中建立一個(gè)表student。要求:Student_id列為非空列且為主鍵;sex列中1表示男性,0表示女性,默認(rèn)值為1;其他列可以為空textCreatetablestudent(student_idchar(6)notnullPRIMARYKEY,namevarchar(20),sexbitdefault1,birthdaysmalldatetime,entrancescoresmallint,department_idchar(4),photoimage,notetext)例2:在數(shù)據(jù)庫(kù)Manager中建立一個(gè)表scoreCreatetablescore(student_idchar(6),subject_idchar(4),scoresmallint,examination_datesmalldatetime)(2)修改數(shù)據(jù)表格式:ALTERtable表名[ALTERCOLUMN列名列定義]|[ADD列名
類型約束]|[DROPCOLUMN列名1,列名2,…]注意:ALTERTABLE只允許添加可包含空值或指定了DEFAULT定義的列除DROP外,ALTERTABLE命令一次只允許更改表的一個(gè)屬性或修改一列
例3:修改數(shù)據(jù)庫(kù)manager中的表score,添加列名為pre_subject(表示先修課程)的一列,要求數(shù)據(jù)類型為varchar(20);再添加列名為suc_subject(表示后繼課程)的一列,要求數(shù)據(jù)類型為varchar(20),可空AltertablescoreAddpre_subjectvarchar(20)AltertablescoreAddsuc_subjectvarchar(20)例4:刪除剛才對(duì)表score添加的列AltertablescoreDropcolumnpre_subject,sub_subject(3)刪除數(shù)據(jù)表
DROPTABLE
表名
例5:刪除數(shù)據(jù)表droptablescore(4)插入記錄INSERT
[INTO]
表名[(列名1,列名2,…)]
VALUES(值1,值2,…)注:通常INSERT命令一次只能插入一行數(shù)據(jù)插入一行所有列的值時(shí),列名可省略不寫例6:在表student中插入下列數(shù)據(jù),其中photo數(shù)據(jù)暫時(shí)不輸入insertstudent(student_id,name,sex,birthday,entrancescore,department_id,note)values(‘031001’,’張平’,1,’85/12/1’,600,’jx10’,’機(jī)械’)insertstudent(student_id,name,sex,birthday,entrancescore,department_id,note)values(‘031002’,’王麗’,0,’86/2/24’,590,’jx10’,’機(jī)械’)(5)修改記錄格式UPDATE
表名SET列名1=表達(dá)式,…列名n=表達(dá)式[where邏輯表達(dá)式]例6:修改student表中的entrancescore列,使所有小于600的值改為nullupdate
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 職工浴室維修報(bào)告范文
- 2025年伊春貨運(yùn)從業(yè)資格考試題目
- 2025年平?jīng)龅缆坟涍\(yùn)從業(yè)資格證模擬考試官方題下載
- 上海戲劇學(xué)院《智能控制技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海思博職業(yè)技術(shù)學(xué)院《自動(dòng)駕駛概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025長(zhǎng)春市公司職工勞動(dòng)合同書(shū)
- 2025軟件系統(tǒng)安裝與實(shí)施合同書(shū)
- 上海視覺(jué)藝術(shù)學(xué)院《中國(guó)音樂(lè)史與名作欣賞2》2023-2024學(xué)年第一學(xué)期期末試卷
- 科學(xué)實(shí)驗(yàn)報(bào)告范文
- 暑假工辭職報(bào)告范文
- 2025年1月“八省聯(lián)考”考前猜想卷化學(xué)試題(15 4) 含解析
- 腫瘤晚期常見(jiàn)癥狀護(hù)理
- 高性能SVG渲染算法
- 2024年公務(wù)員考試時(shí)事政治考試題(綜合題)
- 2024-2030年中國(guó)呼叫中心行業(yè)發(fā)展展望及投資管理模式分析報(bào)告權(quán)威版
- 2025屆浙江省高二物理第一學(xué)期期末學(xué)業(yè)水平測(cè)試試題含解析
- 危急值的考試題及答案
- 法務(wù)崗位招聘面試題及回答建議(某大型央企)2024年
- 職業(yè)生涯規(guī)劃-體驗(yàn)式學(xué)習(xí)智慧樹(shù)知到期末考試答案章節(jié)答案2024年華僑大學(xué)
- 2024年華潤(rùn)電力投資有限公司招聘筆試參考題庫(kù)含答案解析
- 湘少版六年級(jí)英語(yǔ)上冊(cè)《Unit 12 第二課時(shí)(Part CPart D)》課堂教學(xué)課件公開(kāi)課
評(píng)論
0/150
提交評(píng)論