




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、SQL Server 2012數(shù)據(jù)庫管理教程第第6章章第6 6章 表的創(chuàng)建與管理表的概述數(shù)據(jù)類型創(chuàng)建、修改和刪除表添加、修改和刪除表中數(shù)據(jù)分區(qū)表6.1 6.1 表的概述在關(guān)系數(shù)據(jù)庫中,每一個關(guān)系都體現(xiàn)為一張表。表是由定義的列數(shù)和可變行數(shù)組成的邏輯結(jié)構(gòu)。行稱為記錄,每一行都是實(shí)體的一個完整描述,行的順序無關(guān)緊要。列是一組具有相同數(shù)據(jù)類型的值,稱為字段或域。在每個列和行的相交處是一個稱為值的特定數(shù)據(jù)項(xiàng)。右圖所示為DepartmentDepartment表的詳細(xì)信息,該表存儲了所有系部編號和系部名稱。1 1標(biāo)準(zhǔn)表在數(shù)據(jù)庫中,用戶創(chuàng)建的表均為標(biāo)準(zhǔn)表,它為用戶數(shù)據(jù)提供了存儲空間。標(biāo)準(zhǔn)表簡稱表,是數(shù)據(jù)庫中
2、最基本的表。2 2系統(tǒng)表系統(tǒng)表中存儲了有關(guān)SQL ServerSQL Server的配置、用戶和表對象的描述等系統(tǒng)信息。用戶可以通過系統(tǒng)表查看當(dāng)前服務(wù)器或服務(wù)器中的數(shù)據(jù)庫及數(shù)據(jù)庫中包含的信息等。通常情況下,數(shù)據(jù)庫管理員使用系統(tǒng)表維護(hù)服務(wù)器。3 3臨時表臨時表是臨時創(chuàng)建、不能永久存在的表。它通常用來存儲查詢過程中出現(xiàn)的一些臨時數(shù)據(jù)或信息。臨時表的生存周期是一個SQL ServerSQL Server服務(wù)器實(shí)例開始與結(jié)束的周期,即臨時表被創(chuàng)建后,可以存儲到SQL ServerSQL Server實(shí)例,直到斷開服務(wù)器連接為止。臨時表分為本地臨時表和全局臨時表:本地臨時表只對創(chuàng)建者可見,而全局臨時表在
3、創(chuàng)建后對所有用戶和連接均可見。4 4分區(qū)表當(dāng)一個表中的數(shù)據(jù)量過于龐大時,可以使用分區(qū)表。分區(qū)表是將數(shù)據(jù)水平劃分成多個單元的表,這些單元可以分散到數(shù)據(jù)庫的多個文件組中,實(shí)現(xiàn)對單元中數(shù)據(jù)的并行訪問。使用分區(qū)表的優(yōu)點(diǎn)在于可以方便地管理大型表,提高對表中數(shù)據(jù)的使用效率。6.2 6.2 數(shù)據(jù)類型6.2.1 6.2.1 系統(tǒng)數(shù)據(jù)類型下表中描繪了SQL Server 2012SQL Server 2012中提供的系統(tǒng)數(shù)據(jù)類型。6.2.2 6.2.2 用戶自定義數(shù)據(jù)類型用戶自定義數(shù)據(jù)類型又稱別名數(shù)據(jù)類型,是基于系統(tǒng)提供的數(shù)據(jù)類型進(jìn)行自定義的數(shù)據(jù)類型。當(dāng)多個表必須在一個列中存儲相同類型的數(shù)據(jù),而用戶必須確保這些
4、列具有相同的數(shù)據(jù)類型、長度和為空性時,可以使用用戶自定義數(shù)據(jù)類型。創(chuàng)建用戶自定義數(shù)據(jù)類型時,必須提供下列參數(shù)。用戶自定義數(shù)據(jù)類型的名稱。新數(shù)據(jù)類型基于的系統(tǒng)數(shù)據(jù)類型。為空性(數(shù)據(jù)類型是否允許為空值)。用戶自定義數(shù)據(jù)類型可以通過SQL Server Management StudioSQL Server Management Studio和Transact-SQLTransact-SQL語句兩種方式創(chuàng)建?!纠?-16-1】通過SQL Server Management StudioSQL Server Management Studio在jwjw數(shù)據(jù)庫中創(chuàng)建用戶自定義數(shù)據(jù)類型StudentIDS
5、tudentID,要求基于charchar類型,長度為8 8,不允許為空。1 1)在“對象資源管理器”窗格中,展開“可編程性” “類型”節(jié)點(diǎn),右擊“類型”節(jié)點(diǎn),從彈出的快捷菜單中選擇“新建” “用戶數(shù)據(jù)類型”命令,如圖所示。2 2)在打開的“新建用戶定義數(shù)據(jù)類型”窗口的“常規(guī)”選項(xiàng)頁中,設(shè)置架構(gòu)為默認(rèn)值dbodbo,在名稱部分輸入用戶自定義數(shù)據(jù)類型的名稱:StudentIDStudentID;數(shù)據(jù)類型為:charchar;長度為8 8,如圖所示。單擊“確定”按鈕,完成創(chuàng)建?!纠?-26-2】 通過Transact-SQLTransact-SQL語句在jwjw數(shù)據(jù)庫中創(chuàng)建用戶自定義數(shù)據(jù)類型Stu
6、dentIDStudentID,要求基于charchar類型,長度為8 8,不允許為空。CREATE TYPE dbo.StudentID FROM char(8) NOT NULLCREATE TYPE dbo.StudentID FROM char(8) NOT NULL6.3 6.3 創(chuàng)建、修改和刪除表6.3.1 6.3.1 創(chuàng)建表1 1通過SQL Server Management StudioSQL Server Management Studio創(chuàng)建表在設(shè)計(jì)完數(shù)據(jù)庫和表結(jié)構(gòu)以后,通過SQL Server Management StudioSQL Server Management
7、Studio創(chuàng)建表是最便捷的方式。下面以jwjw數(shù)據(jù)庫中StudentStudent表為例,通過SQL SQL Server Management StudioServer Management Studio創(chuàng)建該表。1 1)登錄SQL Server Management StudioSQL Server Management Studio,在“對象資源管理器”窗格中,展開“數(shù)據(jù)庫” “jwjw”數(shù)據(jù)庫 “表”節(jié)點(diǎn)。右擊“表”節(jié)點(diǎn),從彈出的快捷菜單中選擇“新建表”命令,打開表設(shè)計(jì)器窗口。2 2)在表設(shè)計(jì)器窗口中,根據(jù)下表所示信息,輸入列名、數(shù)據(jù)類型及是否為空等信息。設(shè)計(jì)完成的表結(jié)構(gòu)如左圖所示。
8、3 3)單擊工具欄上的“保存”按鈕,在彈出的“選擇名稱”對話框的“輸入表名稱”文本框中,輸入表名“StudentStudent”,單擊“確定”按鈕,保存該表,如下圖所示。在有些表中,為了方便起見,可以設(shè)置某一字段自動編號,即當(dāng)插入一條記錄時,不必賦值,系統(tǒng)會自動給該字段排號。假設(shè)有銷售表,如果希望銷售編號為自動編號,則需將“銷售編號”字段設(shè)置為intint;選中該字段,在“列屬性”表設(shè)計(jì)器下方,展開“標(biāo)識規(guī)范”選項(xiàng),設(shè)置“(是標(biāo)識)”為“是”;根據(jù)需要設(shè)置“標(biāo)識增量”和“標(biāo)識種子”選項(xiàng)。其中,“標(biāo)識種子”為標(biāo)識的初始值,“標(biāo)識增量”為標(biāo)識的增長步調(diào)。如將銷售編號的“標(biāo)識種子”和“標(biāo)識增量”均設(shè)
9、置為1 1,則銷售編號會以1 1,2 2,3 3的步調(diào)向上增長,設(shè)置方式如右圖所示。2 2通過Transact-SQLTransact-SQL語句創(chuàng)建表創(chuàng)建表最基本的語法格式如下:CREATE TABLE database_name . schema_name . | schema_name . CREATE TABLE database_name . schema_name . | schema_name . table_nametable_name(column_name data_type NULL | NOT NULL IDENTITY ( seed , increment ) col
10、umn_name data_type NULL | NOT NULL IDENTITY ( seed , increment ) ) )database_namedatabase_name:要在其中創(chuàng)建表格的數(shù)據(jù)庫的名稱。database_namedatabase_name必須是現(xiàn)有數(shù)據(jù)庫的名稱,如果不指定數(shù)據(jù)庫,則默認(rèn)為當(dāng)前數(shù)據(jù)庫。其中:schema_nameschema_name:新表所屬架構(gòu)名稱。table_nametable_name:新表的名稱。表名必須遵循標(biāo)識符規(guī)則。column_namecolumn_name:表中列的名稱。列名必須遵循標(biāo)識符規(guī)則,并在表中唯一。data_type
11、data_type:指定字段的數(shù)據(jù)類型??梢允窍到y(tǒng)數(shù)據(jù)類型或用戶自定義數(shù)據(jù)類型。NULL|NOT NULLNULL|NOT NULL:指定字段是否可以為空值。IDENTITYIDENTITY:指示新列是標(biāo)識列??梢詫DENTITYIDENTITY屬性分配給tinyinttinyint,smallintsmallint,intint,bigintbigint,decimal(p,0)decimal(p,0)或numeric(p,0)numeric(p,0)列。每個表只能創(chuàng)建一個標(biāo)識列。在指定某列為標(biāo)識列的同時,必須同時指定標(biāo)識種子和標(biāo)識增量,或者兩者都不指定。如果二者都未指定,則取默認(rèn)值(1,
12、1)(1,1)。seedseed參數(shù)用于指定標(biāo)識種子,而incrementincrement參數(shù)用于指定標(biāo)識增量?!纠?-36-3】通過Transact-SQLTransact-SQL語句在jwjw數(shù)據(jù)庫中創(chuàng)建StudentStudent表。USE jwUSE jwCREATE TABLE StudentCREATE TABLE Student (StuNo StudentID NOT NULL, (StuNo StudentID NOT NULL, ClassNo char(8) NOT NULL, ClassNo char(8) NOT NULL, StuName char(20) NOT
13、 NULL) StuName char(20) NOT NULL)6.3.2 6.3.2 修改表1 1增加表字段當(dāng)需要為表格增加另一屬性時,可以對表格進(jìn)行增加字段操作?!纠?-46-4】 通過SQL Server Management StudioSQL Server Management Studio為StudentStudent表增加生日BirthdateBirthdate這一列,數(shù)據(jù)類型為datetimedatetime,可以為空。1 1)打開SQL Server Management StudioSQL Server Management Studio,展開“數(shù)據(jù)庫” “jwjw”數(shù)據(jù)
14、庫 “表”節(jié)點(diǎn),右擊要修改的StudentStudent表,從彈出的快捷菜單中選擇“設(shè)計(jì)”命令。2 2)在打開的表設(shè)計(jì)器窗口中,單擊表最后的空行格,輸入列名“BirthdateBirthdate”,數(shù)據(jù)類型為datetimedatetime,選中“允許NULLNULL值”復(fù)選框,如下圖所示。3 3)添加完成后,單擊工具欄上的“保存”按鈕即可。若要通過Transact-SQLTransact-SQL語句完成上述任務(wù),可以使用ALTER TABLEALTER TABLE語句來實(shí)現(xiàn),具體如下:USE jwUSE jwALTER TABLE StudentALTER TABLE Student ADD
15、 Birthdate datetime NULL ADD Birthdate datetime NULL2 2修改表字段在SQL Server Management StudioSQL Server Management Studio中右擊表,從彈出的快捷菜單中選擇“設(shè)計(jì)”命令,可以在打開的表設(shè)計(jì)器中對需要修改的字段的列名、數(shù)據(jù)類型、是否可以為空值等設(shè)置進(jìn)行修改。修改完成后,單擊“保存”按鈕保存表。使用ALTER TABLEALTER TABLE語句同樣可以對表進(jìn)行修改,如下列語句,可以將StudentStudent表中StuNameStuName列的數(shù)據(jù)類型改為varchar(30)varc
16、har(30)。USE jwUSE jwALTER TABLE StudentALTER TABLE StudentALTER COLUMN StuName varchar(30) NOT NULLALTER COLUMN StuName varchar(30) NOT NULL3 3刪除表字段在SQL Server Management StudioSQL Server Management Studio中,右擊表,在彈出的快捷菜單中選擇“設(shè)計(jì)”命令;在打開的表設(shè)計(jì)器中可以對不需要的列進(jìn)行刪除。右擊需要刪除的字段行,從彈出的快捷菜單中選擇“刪除列”命令,即可完成刪除表字段。刪除完成后,單擊“
17、保存”按鈕保存表。使用ALTER TABLEALTER TABLE語句同樣可以對表字段進(jìn)行刪除。如下列語句,可以將StudentStudent表中的BirthdateBirthdate列刪除。USE jwUSE jwALTER TABLE StudentALTER TABLE Student DROP COLUMN Birthdate DROP COLUMN Birthdate6.3.3 6.3.3 刪除表當(dāng)需要在數(shù)據(jù)庫中實(shí)現(xiàn)一個新的設(shè)計(jì)或需要釋放部分空間時,可以對表進(jìn)行刪除操作。刪除表后,該表的結(jié)構(gòu)定義、該表中存儲的數(shù)據(jù)等都會從數(shù)據(jù)庫中被永久刪除。表的刪除操作可以通過SQL SQL Serv
18、er Management StudioServer Management Studio或Transact-SQLTransact-SQL語句進(jìn)行?!纠?-56-5】通過SQL Server Management StudioSQL Server Management Studio刪除StudentStudent表。1 1)打開SQL Server Management StudioSQL Server Management Studio,展開“數(shù)據(jù)庫” “jwjw”數(shù)據(jù)庫 “表”節(jié)點(diǎn)。右擊要刪除的StudentStudent表,從彈出的快捷菜單中選擇“刪除”命令。2 2)在打開的“刪除對象”
19、窗口中,確認(rèn)刪除對象的信息后,單擊“確認(rèn)”按鈕即可,如下圖所示。刪除表也可以通過DROP TABLEDROP TABLE語句來實(shí)現(xiàn),如下列語句可以實(shí)現(xiàn)對StudentStudent表的刪除操作。USE jwUSE jwDROP TABLE Student DROP TABLE Student 6.4 6.4 添加、修改和刪除表中數(shù)據(jù)定義表的結(jié)構(gòu)是為了利用表來存儲和管理數(shù)據(jù)。而實(shí)現(xiàn)數(shù)據(jù)存儲的前提是向表中添加數(shù)據(jù);添加數(shù)據(jù)之后,用戶可以根據(jù)需要對數(shù)據(jù)進(jìn)行修改和刪除。在SQL Server 2012SQL Server 2012中可以使用Microsoft SQL Server Microsoft
20、SQL Server Management StudioManagement Studio或Transact-SQLTransact-SQL語句進(jìn)行操作。使用Transact-SQLTransact-SQL語句添加、修改和刪除表中的數(shù)據(jù)分別用INSERTINSERT,UPDATEUPDATE,DELETEDELETE語句操作,該部分已經(jīng)在第3 3章中講解過,這里主要介紹使用Microsoft Microsoft SQL Server Management StudioSQL Server Management Studio進(jìn)行數(shù)據(jù)操作。在“對象資源管理器”窗口中,依次展開指定的服務(wù)器、數(shù)據(jù)庫項(xiàng);展開要添加數(shù)據(jù)的表所在的數(shù)據(jù)庫(如“jw
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 制作膠板魚池合同范例
- 浙江新高考2024-2025學(xué)年高中政治第一單元文化與生活第一課周練過關(guān)一新人教版必修3
- 公路路牌采購合同范例
- 寧波品質(zhì)冷庫施工方案
- 屋面彩板施工方案
- 石拱涵施工方案
- 鄉(xiāng)鎮(zhèn)道路清掃合同范例
- 山坡管線施工方案
- 凈化車間改造合同范例
- 個人私有房屋購買合同范例
- (二模)長春市2025屆高三質(zhì)量監(jiān)測(二)地理試卷(含答案)
- 2025天津市建筑安全員-C證考試題庫
- 2025年河南省高職單招計(jì)算機(jī)類職業(yè)技能測試題(附答案)
- GB/T 18936-2025禽流感診斷技術(shù)
- 《主題四 雞蛋撞地球》教學(xué)設(shè)計(jì)-2023-2024學(xué)年六年級下冊綜合實(shí)踐活動遼師大版
- 2025年北京控股集團(tuán)招聘筆試參考題庫含答案
- 2025年國航機(jī)務(wù)系統(tǒng)AMECO工程師崗位校園招聘筆試參考題庫附帶答案詳解
- 巨量千川中級營銷師認(rèn)證考試題(附答案)
- 2025中智集團(tuán)招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《公路工程造價(jià)標(biāo)準(zhǔn)高海拔高寒地區(qū)補(bǔ)充規(guī)定》
- 金融公司早會內(nèi)容
評論
0/150
提交評論