




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
創建數據庫和表第一頁,共89頁。目錄單元1SQLSERVER2008基礎單元2創建數據庫和表單元3數據庫的查詢和視圖單元4數據庫的索引、默認值和規則單元5數據庫的存儲過程和觸發器單元6數據庫的日常管理與維護單元7數據庫的安全管理單元8SQLServer數據庫應用程序開發單元9數據庫在電子商務中的應用第二頁,共89頁。單元2創建數據庫和表初步了解SQLServer2008的基本知識后,本單元將以“圖書信息管理”數據庫為實例,分別介紹使用對象資源管理器和使用T-SQL命令來創建、修改、刪除數據庫和表的方法,以及為表設置約束和操作表數據的方法。單元說明第三頁,共89頁。單元2創建數據庫和表會使用對象資源管理器和T-SQL命令創建、修改和刪除數據庫。掌握分離和附加數據庫的方法。會使用對象資源管理器和T-SQL命令創建、修改和刪除表。會使用對象資源管理器和T-SQL命令創建及刪除表的各種約束。會對數據庫的表進行插入、修改及刪除表數據的操作。技能目標認識數據庫。了解數據類型。掌握數據庫和表的創建及管理的方法。掌握保持數據完整性的各種約束的設置方法。會操作數據庫表中的數據。知識目標第四頁,共89頁。單元2創建數據庫和表任務2.1創建及管理“圖書信息管理”數據庫任務2.2創建數據庫表任務2.4表數據的操作任務2.3設置表約束第五頁,共89頁。任務2.1創建及管理“圖書信息管理”數據庫創建數據庫,并學習如何管理數據庫,以及分離和附加數據庫的方法。任務說明學會使用對象資源管理器和CREATEDATABASE語句兩種方法創建數據庫。學會查看、修改和刪除數據庫。掌握分離與附加數據庫的方法。任務目標第六頁,共89頁。任務2.1創建及管理“圖書信息管理”數據庫活動2.1.1創建“圖書信息管理”數據庫活動2.1.2管理“圖書信息管理”數據庫活動2.1.3“圖書信息管理”數據庫的分離與附加第七頁,共89頁。活動2.1.1創建“圖書信息管理”數據庫當使用數據庫存儲數據時,必須先創建一個數據庫。在SQLServer2008中創建數據庫的方法主要有兩種,一是在對象資源管理器中通過方便的圖形化向導創建,二是通過編寫CREATEDATABASE語句創建。案例1使用對象資源管理器創建一個名為“圖書信息管理”的數據庫,數據文件和日志文件都保存在“D:\圖書信息管理”文件夾中。『小貼士』①在數據庫名稱文本框中輸入的數據庫名稱不能與其他現存數據庫的名稱相同。②在創建數據庫時,默認情況下,數據文件的邏輯名和文件名跟數據庫名稱是相同的,日志文件的邏輯名和文件名是在數據庫名后添加“_log”。如本例中數據庫創建成功后,在“D:\圖書信息管理”文件夾下會有兩個文件,分別是數據文件“圖書信息管理.mdf”和日志文件“圖書信息管理_log.ldf”。【技能拓展】思考:如何在創建數據庫時根據需要設置數據文件和日志文件的初始大小和增長方式?第八頁,共89頁。活動2.1.1創建“圖書信息管理”數據庫案例2使用CREATEDATABASE語句創建一個名為“圖書信息管理”的數據庫,數據文件的邏輯名和文件名都為“圖書信息管理”,初始大小為4MB,最大為50MB,自動增長方式是按10%的比例增長;日志文件的邏輯名和文件名都為“圖書信息管理_log”,初始大小為2MB,最大值為20MB,自動增長方式是按1MB增長;數據文件和日志文件都保存在“D:\圖書信息管理”文件夾中。CREATE
DATABASE
圖書信息管理ON
PRIMARY
(NAME='圖書信息管理',='D:\圖書信息管理\圖書信息管理.mdf',SIZE=4MB,MAXSIZE=50MB,=10%)LOG
ON(NAME='圖書信息管理_LOG',='D:\圖書信息管理\圖書信息管理_log.ldf',SIZE=2MB,MAXSIZE=20MB,=1MB)『小貼士』重新創建“圖書信息管理”數據庫時,必須先刪除之前創建的“圖書信息管理”數據庫。方法是:在對象資源管理器窗口右鍵單擊要刪除的數據庫,選擇“刪除”命令,單擊“確定”按鈕即可。第九頁,共89頁。活動2.1.1創建“圖書信息管理”數據庫數據庫類型。在SQLServer2008中有兩類數據庫:系統數據庫和用戶數據庫。系統數據庫是在安裝SQLServer2008時由系統自動創建的,用于協助系統完成對數據的相關操作。而用戶數據庫是用戶自定義的數據庫。例如,本單元創建的圖書信息管理數據庫。系統數據庫包括master數據庫、model數據庫、msdb數據庫和Tempdb數據庫。⑴master數據庫master數據庫是SQLServer中最重要的數據庫,它是SQLServer的核心數據庫,如果該數據庫被損壞,SQLServer將無法正常工作。知識寶庫第十頁,共89頁。活動2.1.1創建“圖書信息管理”數據庫(2)model數據庫創建數據庫時,總是以一套預定義的標準為模型。例如,若希望所有的數據庫都有確定的初始大小,或者都有特定的信息集,那么可以把這些信息放在model數據庫中,以model數據庫作為其他數據庫的模板數據庫。(3)msdb數據庫msdb數據庫給SQLServer代理提供必要的信息來運行作業,它是SQLServer中另一個十分重要的數據庫。(4)Tempdb數據庫Tempdb數據庫是一個臨時數據庫,其主要作用是存儲用戶建立的臨時表和臨時存儲過程,為數據排序創建臨時表等。每次重新打開SQLServer時,將會建立一個全新的、空的tempdb數據庫。知識寶庫第十一頁,共89頁。活動2.1.1創建“圖書信息管理”數據庫2.數據文件的類型SQLServer數據庫的數據文件包括以下三種類型的文件:①主要數據文件:包含數據庫的啟動信息,并用于存儲數據。每一個數據庫都有且僅有一個主要數據文件,默認的文件擴展名是.mdf。②次要數據文件:這些文件含有不能置于主要文件中的所有數據。如果主要文件可以包含數據庫中的所有數據,那么數據庫就不需要次要數據文件。有些數據庫可能很大,故需要多個次要數據文件,或使用位于不同磁盤驅動器上的輔助文件將數據擴展到多個磁盤。默認的文件擴展名是.ndf。③事務日志文件:主要用于恢復數據庫事務日志信息,每個數據庫必須至少有一個事務日志文件,但可以不止一個。默認的文件擴展名是.ldf。在SQLServer2008的一個數據庫中至少應該有一個主要數據文件和一個事務日志文件。數據庫中的數據和事務日志信息不能放在同一文件中,并且每個數據庫都有自己的主要數據文件和事務日志文件。SQLServer數據庫系統使用數據庫中事務日志信息來進行事務的恢復。知識寶庫第十二頁,共89頁。活動2.1.1創建“圖書信息管理”數據庫3.CREATEDATABASE語句格式CREATEDATABASE數據庫名--用于設置數據庫名ON[PRIMARY]--主要文件組開始標志,第一個定義的文件作為主要數據文件(NAME=邏輯名,路徑及文件名,--注意路徑要加上單引號并且文件名要寫上后綴SIZE=初始大小,MAXSIZE=最大值,增長值,)LOGON--日志文件開始標志(NAME=邏輯名,路徑及文件名,--注意路徑要加上單引號并且文件名要寫上后綴SIZE=初始大小,MAXSIZE=最大值,增長值)知識寶庫第十三頁,共89頁。活動2.1.1創建“圖書信息管理”數據庫以下語句是最簡單的創建數據庫的語句CREATEDATABASE數據庫名這樣創建的數據庫所有的文件都將使用默認的文件名,所有選項都將使用默認的設置,并把數據庫文件保存在默認的位置。知識寶庫第十四頁,共89頁。活動2.1.1創建“圖書信息管理”數據庫【體驗活動】1.使用對象資源管理器創建一個名為“學生成績管理”的數據庫。2.使用CREATEDATABASE語句創建一個名為“學生成績管理”的數據庫,數據文件的邏輯名和文件名都為“學生成績管理”,初始大小為2MB,最大值為60MB,自動增長方式是按10%的比例增長;日志文件的邏輯名和文件名都為“學生成績管理_log”,初始大小為1MB,最大值為30MB,自動增長方式是按2MB增長。數據文件和日志文件都保存在“D:\學生成績管理”文件夾中,并把代碼保存為“創建學生成績管理數據庫.sql”。把課本這里的初始大小改為3MB,因為主文件必須至少是3MB才能容納model數據庫的副本第十五頁,共89頁。活動2.1.2管理“圖書信息管理”數據庫案例3查看“圖書信息管理”數據庫信息在對象資源管理器窗口查看“圖書信息管理”數據庫文件的存儲位置、初始大小和自動增長方式等信息。數據文件和日志文件的存儲位置選擇“文件”選項卡數據文件和日志文件的初始大小數據文件和日志文件的自動增長方式第十六頁,共89頁。活動2.1.2管理“圖書信息管理”數據庫案例4修改“圖書信息管理”數據庫大小。把“圖書信息管理”數據庫的數據文件修改為初始大小5MB,不限制增長,自動增長方式是按2MB增長;日志文件初始大小為3MB,最大值為30MB,自動增長方式是按10%增長。案例5刪除“圖書信息管理”數據庫。方法一使用對象資源管理器刪除“圖書信息管理”數據庫『提示』①刪除數據庫的操作必須慎重,因為一旦刪除數據庫,數據庫及其所包含的對象將會全部被刪除,數據庫的數據文件和日志文件也會從磁盤上刪除。②不能刪除正在使用的數據庫,否則系統將會出現錯誤。③如果數據庫有正在使用的連接,刪除時要在左下角勾選“關閉現有連接”復選框。第十七頁,共89頁。活動2.1.2管理“圖書信息管理”數據庫方法二
使用DROPDATABASE語句刪除“圖書信息管理”數據庫。『提示』①使用DROPDATABASE命令刪除數據庫不會出現確認信息,使用這種方法時一定要小心謹慎。②刪除數據庫后,對象資源管理器窗口的顯示可能沒有即時更新,可以右鍵單擊“數據庫”,選擇“刷新”命令。③使用DROPDATABASE命令刪除數據庫時,系統中必須存在要刪除的數據庫,否則會出現錯誤提示。④DROPDATABASE語句格式DROPDATABASE數據庫名[1,…N]可以同時刪除多個數據庫,注意多個數據庫中間要用逗號隔開。第十八頁,共89頁。活動2.1.2管理“圖書信息管理”數據庫【體驗活動】1.查看已創建的“學生成績管理”數據庫的保存位置,初始大小及自動增長方式等信息。2.將“學生成績管理”數據文件修改為初始大小為4MB,不限制增長,自動增長方式是按2MB增長。數據庫的日志文件修改為初始大小2MB,最大值為50MB,自動增長方式是按1MB增長。3.使用對象資源管理器刪除“學生成績管理”數據庫。4.使用之前保存的“創建學生成績管理數據庫.sql”重新創建“學生成績管理”數據庫,然后使用DROPDATABASE命令刪除該數據庫。第十九頁,共89頁。活動2.1.3“圖書信息管理”數據庫的分離與附加分離數據庫是指將數據庫從SQLServer系統中刪除,但數據庫的數據文件和日志文件保持不變,分離后的數據庫可以移動。附加是把分離后的數據庫附加到任何SQLServer系統中,使數據庫的使用狀態與分離時的狀態完全相同。分離和附加數據庫的操作可以將數據庫從一個SQLServer系統移到另一個SQLServer系統,也可以把數據庫文件從一個磁盤移到另一個磁盤。案例6分離“圖書信息管理”數據庫。『小貼士』①如果要移動數據庫文件的位置,就要先分離該數據庫。比如把數據庫文件從D盤移動到E盤;在學生要向老師提交作業的時候,也要先分離數據庫,再提交。②分離數據庫只是從SQLServer系統中刪除該數據庫,而組成該數據庫的數據文件和日志文件仍然保存在原磁盤路徑上。如果想要再次使用該數據庫,只要進行附加就可以了。案例7
附加“圖書信息管理”數據庫。第二十頁,共89頁。活動2.1.3“圖書信息管理”數據庫的分離與附加【體驗活動】1.使用前面保存的“創建學生成績管理數據庫.sql”重新創建學生成績管理數據庫,然后使用對象資源管理器分離該數據庫。再把該數據庫從“D:\學生成績管理”文件夾移動到“E:\學生成績管理”文件夾中。2.把已移動到“E:\學生成績管理”文件夾中的學生成績管理數據庫附加到SQLServer系統中。第二十一頁,共89頁。任務2.2創建數據庫表創建數據庫表,并學習如何修改表結構及刪除不再使用的表。任務說明學會使用對象資源管理器創建表。學會使用CREATETABLE語句創建表。學會使用對象資源管理器修改表結構。學會使用ALTERTABLE語句修改表結構。學會使用對象資源管理器和DROPTABLE語句兩種方法刪除表。任務目標第二十二頁,共89頁。任務2.2創建數據庫表活動2.2.1創建“圖書信息”和“出版社”表活動2.2.2修改“圖書信息”和“出版社”表結構活動2.2.3刪除“圖書信息”和“出版社”表第二十三頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表表是SQLServer數據庫中最重要、最基本的數據庫對象,數據庫中的所有數據都存儲在表中。在SQLServer2008中創建表的方法主要有兩種,一是在對象資源管理器中通過方便的圖形化向導創建,二是通過編寫CREATETABLE語句創建。案例1使用對象資源管理器在“圖書信息管理”數據庫中創建“圖書信息”表,并輸入數據。『小貼士』在輸入數據的過程中,如果要取消正在輸入的數據,可以直接按ESC鍵,或者在更改某個數據的過程中要取消更改,也可以直接按ESC鍵。第二十四頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表案例2使用CREATETABLE語句在“圖書信息管理”數據庫中創建“出版社”表,表結構如圖2.2.8所示,并輸入如圖2.2.9所示的數據。USE
圖書信息管理GOCREATE
TABLE
出版社(出版社號
INTIDENTITY(101,1)
NOT
NULL,出版社名
VARCHAR(50)
NOT
NULL,聯系電話
VARCHAR(13)
NULL,所在地
VARCHAR(10)
NULL)第二十五頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表『小貼士』USE語句表示打開數據庫,本案例是打開“圖書信息管理”數據庫來創建表,即把創建的表保存到“圖書信息管理”數據庫中。GO表示一批T-SQL語句的結束。CREATETABLE語句里的NULL或者NOTNULL表示該列內容是否允許為空。“出版社號”列的數據設置了標識列,“IDENTITY(101,1)”表示標識種子為101,標識增量為1。在后面輸入記錄時該列的數據會由系統自動生成,不允許用戶進行輸入及更改。使用CREATETABLE創建表后,對象資源管理器中的顯示可能沒有即時更新,可以右鍵單擊“數據庫”或“圖書信息管理”數據庫或“表”,選擇“刷新”命令即可。第二十六頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表【技能拓展】
“圖書信息管理”數據庫中共有“圖書信息”、“出版社”和“圖書庫存”三張表,通過案例1和案例2已經創建了“圖書信息”和“出版社”表,至于“圖書庫存”表的創建,方法可自選,既可以用對象資源管理器或CREATETABLE語句創建,也可以使用單元6任務6.2介紹的“數據的導入”的方法直接生成“圖書庫存”表。“圖書庫存”表的表結構如圖2.2.10所示,表記錄如圖2.2.11所示。注:“圖書序號”列為標識列,標識種子為1001,標識增量為1,標識列不能為空。標識列的設置方法可以參考【知識寶庫】部分。注:如果要進行數據導入的話,先不能建立標識列,等數據導入后再建立標識列。第二十七頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表1.數據庫中的表表是存放數據庫中所有數據的數據庫對象。如同EXCEL電子表格,數據在表中是按行和列的格式進行組織的,其中每行代表一條記錄,每列代表記錄中的域(也稱字段)。例如,在包含圖書信息的圖書信息表中每一行代表一本書,每一列分別表示這本書的某一方面的屬性,如圖書的“ISBN”、“書名”、“定價”、“類別”等。在一個數據庫中需要包含各個方面的數據,如在圖書信息管理數據庫中,包含圖書信息、出版社信息和圖書庫存信息等。所以在設計數據庫時,就應先確定需要什么樣的表,各表中都應該包括哪些數據以及各個表之間的關系等,這個過程稱為設計表。在設計表時需要確定如下事項:(1)表的名稱;(2)表中每一列的名稱;(3)表中每一列的數據類型和長度;知識寶庫第二十八頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表(4)表中的列是否允許空值、是否唯一、是否要進行默認設置或添加約束;(5)表中需要的索引的類型和需要建立索引的列;(6)表間的關系,即確定哪些列是主鍵,哪些列是外鍵。在創建數據表時通常要做兩項工作:建立表結構和輸入記錄。建立表結構包括定義表中各列的名稱、數據類型、長度和屬性等;輸入記錄是在表結構的基礎上在對應列輸入數據。知識寶庫第二十九頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表2.SQLServer2008的數據類型在SQLServer2008中,每個列、局部變量、表達式和參數都有其各自的數據類型。指定對象的數據類型相當于定義了該對象的以下4種屬性:①對象所含的數據類型,如字符、整數或二進制數。②存儲值的長度或它的大小。③ 數字精度(僅用于數字數據類型)。④ 小數位數(僅用于數字數據類型)。在創建表時,必須為表中的每個列指派一種數據類型。下面僅對常用的數字、字符、日期時間等數據類型進行介紹。知識寶庫第三十頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表(1)精確數字類型使用數字數據的數據類型稱為數字數據類型,根據精度可以將數字數據類型分為精確數字類型和近似數字類型。精確數字類型如下表所示。知識寶庫數據類型字節數描述bit1其值只能是0或1,這種數據類型用于存儲只有兩種可能值的數據,如Yes或No、True或False、On或Offbigint8存儲從-263到263-1之間的整數int4存儲從-231到231-1之間的整數smallint2存儲從-32768到32767之間的整數tinyint1存儲從0到255之間的整數money8存儲從-9220億到9220億之間的數據,精確到貨幣單位的萬分之一smallmoney4存儲從-214748.3648到214748.3647之間的數據,精確到貨幣單位的萬分之一decimal5~17存儲從-1038-1到1038-1的固定精度和范圍的數值型數據。使用這種數據類型時,必須指定范圍和精度。范圍是小數點左右所能存儲的數字的總位數。精度是小數點右邊存儲的數字的位數numeric5~17numeric數據類型與decimal型相同第三十一頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表(2)近似數字類型系統對數據類型定義精確到哪一位,這種數據類型稱為近似數字類型。SQLServer2008系統中提供了多種近似數字類型,如下表所示。知識寶庫數據類型字節數描述float4或8存儲從-1.79E+308到1.79E+308之間的任意數,最大精度是15位real4存儲從-3.40E+38到3.40E+38之間的浮點數,最大精度是7位第三十二頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表(3)日期和時間數據類型在SQLServer2008中,日期和時間數據類型除了datetime和smalldatetime類型以外,還增加了date、time、datetime2和datetimeoffset類型,下面對于常用的datetime、smalldatetime、date和time進行簡單介紹,如下表所示。知識寶庫第三十三頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表(4)字符數據類型字符數據類型是SQLServer2008中最常用的數據類型之一,它可以分為UNICODE字符數據類型和非UNICODE字符數據類型,下面簡單介紹常用的非UNICODE字符數據類型,如下表所示。說明:在定義字符型常量為字符數據類型賦值或定義日期時間型常量為日期時間數據類型賦值時,必須使用單引號將字符型或日期時間型常量括起來。知識寶庫數據類型字節數描述char1~8000使用char數據類型存儲數據時,每個字符占用一個字節的存儲空間,最長可以容納8000個字符。使用它定義表中列的數據類型時,要給定數據的最大長度。如果實際數據的字符長度小于給定的最大長度時,則多余的字節會被空格填充;如果實際數據的字符長度大于給定的最大長度時,則超過的字符將會被截斷。varchar1~8000該數據類型的使用方式與char數據類型的使用方法基本相同。與char不同的是,varchar數據類型的存儲空間隨存儲在表列中的每一個數據的字符的不同能自動調整。Text1~231-1該數據類型主要用來存儲預計超過8000字符的變長字符數據,最大長度可以達到231-1個字符。vartchar(MAX)1~231-1同上第三十四頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表3.CREATETABLE語句格式CREATETABLE表名--用于設置表名
(列名數據類型[NOTNULL|NULL],列名數據類型[NOTNULL|NULL],……列名數據類型[NOTNULL|NULL])①方括號([])中的內容可以省略的選項或參數,豎線(|)表示如果要輸入括號里的內容,則只能選其中一個。②NOTNULL|NULL用來指定此列是否為空,如果省略,則默認為NULL,即可以為空。③使用CREATETABLE語句創建表時,各個列之間要用逗號(,)隔開,否則會出錯。知識寶庫第三十五頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表4.標識列⑴SQLServer中的標識列,又稱標識字段或自增列(自動編號列)。這種字段具有以下三個特點:①列的數據類型為不帶小數的數值類型,如:decimal、int、numeric、smallint、bigint、tinyint。其中要注意的是,當選擇decimal和numeric時,小數位數必須為零。若使用tinyint型數據,則只能向表中添加255條記錄。②在進行插入數據的操作時,該列的值是由系統按設定的規律生成,不允許空值;③列值不重復,具有標識表中每一行的作用,每個表只能有一個標識列。⑵創建一個標識列,通常要指定以下三個內容:①標識列類型必須是數值類型。②標識種子是指派給表中第一行的值,默認為1。③標識增量是相鄰兩個標識值之間的增量,默認為1。知識寶庫第三十六頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表⑶設置標識列有兩種方法:
方法一:在表設計器中定義標識列 方法二:使用IDENTITY來定義標識列如果是在創建表時定義標識列,語句格式如下:CREATETABLE表名(列名數據類型IDENTITY(標識種子,標識增量),列名……--定義其他列)如果是對已經創建好的表添加一個新列作為標識列,則語句格式如下:ALTERTABLE表名ADD新列名數據類型IDENTITY(標識種子,標識增量)知識寶庫第三十七頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表【體驗活動】1.使用對象資源管理器,在“學生成績管理”數據庫中創建“學生信息”表,表結構如圖2.2.13所示,并輸入如圖2.2.14所示的數據。第三十八頁,共89頁。活動2.2.1創建“圖書信息”和“出版社”表2.使用CREATETABLE語句,在“學生成績管理”數據庫中創建“課程信息”表,表結構如圖2.2.15所示,并輸入如圖2.2.16所示的數據。注:“課程號”列為標識列,標識種子為101,標識增量為1.3.使用CREATETABLE語句,在“學生成績管理”數據庫中創建“學生成績”表,表結構如圖2.2.17所示,并輸入如圖2.2.18所示的數據。第三十九頁,共89頁。活動2.2.2修改“圖書信息”和“出版社”表結構案例3使用對象資源管理器修改“圖書信息管理”數據庫中的“圖書信息”表,要求如下:(1)添加一個“備注”列,該列的數據類型為char(5)。(2)把“備注”列的數據類型更改為varchar(MAX)。(3)刪除“備注”列。案例4使用ALTERTABLE語句修改“圖書信息管理”數據庫中的“出版社”表,要求如下:(1)添加一個“Email”列,該列的數據類型為char(30)。(2)把“Email”列的數據類型更改為varchar(50)。(3)刪除“Email”列。『小貼士』如果表中已經存在數據,在修改列的數據類型以及字符串類型的長度時不能與已有的數據產生矛盾。在修改char和varchar類型的列長度時,每個數字或英文字母占一個字節,一個漢字占兩個字節。第四十頁,共89頁。活動2.2.2修改“圖書信息”和“出版社”表結構ALTERTABLE語句用于更改表的結構,通過在該語句中使用各種子句可以添加、修改、刪除列和約束。下面我們來簡單介紹通過ALTERTABLE語句添加、修改和刪除列的方法。1.用ADD子句添加列的語句格式:ALTERTABLE表名ADD列名數據類型[NOTNULL|NULL][,列名數據類型[NOTNULL|NULL],……}一次可以添加一個或多個列,如果有多個列,則列之間用逗號(,)隔開。2.用ALTERCOLUMN子句修改列的語句格式:ALTERTABLE表名ALTERCOLUMN列名新數據類型[NOTNULL|NULL]知識寶庫第四十一頁,共89頁。活動2.2.2修改“圖書信息”和“出版社”表結構3.用DROPCOLUMN子句刪除列的語句格式:ALTERTABLE表名DROPCOLUMN列名[,列名,……]一次可以刪除一個或多個列,如果有多個列,則列之間用逗號(,)隔開。知識寶庫第四十二頁,共89頁。活動2.2.2修改“圖書信息”和“出版社”表結構【體驗活動】1.使用對象資源管理器修改“學生成績管理”數據庫中的“學生信息”表,要求如下:⑴添加一個“家庭地址”列,該列的數據類型為char(30)。⑵把“家庭地址”列的數據類型更改為varchar(50)。⑶刪除“家庭地址”列。2.使用ALTERTABLE語句修改“學生成績管理”數據庫中的“課程信息”表,要求如下:⑴添加一個“備注”列,該列的數據類型為varchar(30)。⑵把“備注”列的數據類型更改為char(20)。⑶刪除“備注”列。第四十三頁,共89頁。活動2.2.3刪除“圖書信息”和“出版社”表刪除表的操作與刪除數據庫的操作相似,只需指定要刪除的表名即可。本活動將介紹兩種刪除表的方法,一是通過對象資源管理器來刪除表,二是通過DROPTABLE語句刪除表。案例5
使用對象資源管理器刪除“圖書信息管理”數據庫中的“圖書信息”表。『小貼士』①在圖2.2.22中,可以看到右鍵單擊“圖書信息”表后彈出的快捷菜單中有“重命名”命令,選擇該項可以更改表名。②刪除“圖書信息”表之后,該表在當前數據庫中不再存在,如果該表中有數據,自然也隨之被刪除,所以刪除操作一定要小心謹慎。(本案例要刪除的“圖書信息”表及案例6要刪除的“出版社”表在后面的案例中都要用到,可以另外新建表來練習刪除操作)第四十四頁,共89頁。活動2.2.3刪除“圖書信息”和“出版社”表案例6
使用DROPTABLE語句,在“圖書信息管理”數據庫中刪除“出版社”表。【代碼如下】USE
圖書信息管理GODROP
TABLE
出版社『提示』① 使用DROPTABLE命令刪除表時不會出現確認信息,所以使用這種方法時一定要慎重。②使用DROPTABLE命令刪除表時,所在數據庫中必須存在要刪除的表,否則會出現錯誤提示。第四十五頁,共89頁。活動2.2.3刪除“圖書信息”和“出版社”表【體驗活動】1.使用對象資源管理器,在“學生成績管理”數據庫中刪除“課程信息”表。2.使用DROPTABLE語句,在“學生成績管理”數據庫中刪除“學生成績”表。第四十六頁,共89頁。任務2.3設置表約束約束是指派給表列的屬性,用于防止將某些類型的無效數據值放置在該列中。例如,設置UNIQUE或PRIMARYKEY約束防止插入重復的值,設置CHECK約束防止插入與設置的條件不匹配的值,而設置NOTNULL約束防止插入NULL值。本任務學習對數據庫中各表設置約束。任務說明學會使用對象資源管理器給數據庫表設置約束。學會使用ALTERTABLE語句給數據庫表設置約束。了解表數據的完整性概念。任務目標第四十七頁,共89頁。任務2.3設置表約束活動2.3.1設置NOTNULL約束活動2.3.2設置DEFAULT約束活動2.3.3設置CHECK約束活動2.3.4設置PRIMARYKEY約束活動2.3.5設置UNIQUE約束活動2.3.6設置FOREIGNKEY約束第四十八頁,共89頁。活動2.3.1設置NOTNULL約束NOTNULL約束可以防止在列中插入NULL(空)值,如果必須在某列中輸入數據,則應當給該列設置NOTNULL約束。案例1使用對象資源管理器給“圖書信息管理”數據庫中“圖書信息”表的“ISBN”列設置NOTNULL約束,使該列輸入的數據不能為空。『小貼士』①NOTNULL約束用來控制是否允許該字段的值為NULL,NULL值不是0也不是空白,而是表示“不確定”或“沒有數據”的意思。②如果必須在某列中輸入數據,則應當對它設置NOTNULL約束。如對主鍵列,標識列等就必須設置NOTNULL約束。第四十九頁,共89頁。活動2.3.1設置NOTNULL約束案例2
使用ALTERTABLE語句給“圖書信息管理”數據庫中“出版社”表的“出版社名”列設置NOTNULL約束,使該列輸入的數據不能為空。【代碼如下】USE
圖書信息管理GOALTER
TABLE
出版社ALTER
COLUMN
出版社名
VARCHAR(50)
NOT
NULL
『提示』
設置NOTNULL約束與修改列的語法是一樣的。如果要使用ALTERTABLE語句來刪除NOTNULL約束(即設置成NULL約束),其代碼與設置NOTNULL約束基本一樣,只是把最后的NOTNULL改為NULL。第五十頁,共89頁。活動2.3.1設置NOTNULL約束1、數據完整性概述數據庫是一種共享資源,在數據庫的使用過程中保證數據的安全、可靠、正確是非常重要的。數據完整性是指數據的準確性和一致性。它是防止數據庫中存在不符合語義規定的數據和防止因錯誤信息的輸入/輸出而造成無效操作而提出的。數據庫完整性包括實體完整性、域完整性、參照完整性和用戶定義完整性。2、約束約束是SQLServer提供的自動強制數據完整性的一種方法。它通過定義列的取值規則來維護數據的完整性。約束主要有:NOTNULL約束、DEFAULT約束、CHECK約束、PRIMARYKEY約束、UNIQUE約束、FOREIGNKEY約束。下面對各約束進行簡單介紹。知識寶庫第五十一頁,共89頁。活動2.3.1設置NOTNULL約束(1)NOTNULL約束又稱非空約束,用來控制是否允許該列的值為空值(即NULL值)。NULL值即不是0也不是空白,而是表示“不確定”或“沒有數據”的意思。當某一列的值一定要輸入數據才有意義的時候,就可以為該列設置NOTNULL約束,如主鍵列必須不允許出現空值,否則就失去了唯一標識一條記錄的作用。(2)DEFAULT約束又稱默認約束,是指在插入操作中如果沒有提供輸入值時,系統根據所設置的DEFAULT約束自動指定值。DEFAULT約束可以包括常量、函數、空值等,使用默認值可以提高數據輸入的速度。定義DEFAULT約束時應注意以下幾點:①一列只能定義一個DEFAULT約束。② 如果定義的默認值長度大于該列的最大長度,則輸入到表中的默認值將被截斷。③ DEFAULT約束不能定義在帶有INDENTITY屬性列(即標識列)中。知識寶庫第五十二頁,共89頁。活動2.3.1設置NOTNULL約束(3)CHECK約束又稱檢查約束,對輸入列或者整個表中的值設置檢查條件,以限制輸入值,保證數據庫數據的完整性。如果輸入值不符合檢查條件,系統將拒絕這條記錄的插入或修改。定義CHECK約束時應注意以下幾點:①一個列可以有任意多個CHECK約束,并且約束條件中可以包含AND和OR組合起來的多個邏輯表達式。②CHECK約束中設置的條件必須為布爾表達式,并且不能引用其他表。③執行INSERT語句或者UPDATE語句時,檢查約束將驗證數據。知識寶庫第五十三頁,共89頁。活動2.3.1設置NOTNULL約束(4)PRIMARYKEY約束也稱主鍵約束,在創建表時通過關鍵字定義約束。如果某個列或列組合被定義成主鍵,那么該列或列組合的值就唯一標識一條記錄。主鍵有以下特征:①一個表只能定義一個PRIMARYKEY約束。②定義了PRIMARYKEY約束的字段的值不能重復。③創建PRIMARYKEY約束時,SQLServer會自動創建一個唯一的聚集索引。④Image和Text數據類型的列不能定義為主鍵。知識寶庫第五十四頁,共89頁。活動2.3.1設置NOTNULL約束(5)UNIQUE約束又稱為唯一性約束,跟PRIMARYKEY約束一樣,定義為UNIQUE約束的列或列組合的值不能重復。對于使用了PRIMARYKEY約束的表,如果還有其他的列也需要設置數據具有唯一性,那就可以使用UNIQUE約束,其特征如下:①UNIQUE約束主要用于非主鍵的列或列組合。②一個表可以有多個UNIQUE約束。③一個表中被定義為UNIQUE約束的列,最多只能有一個NULL值。知識寶庫第五十五頁,共89頁。活動2.3.1設置NOTNULL約束(6)FOREIGNKEY約束又稱為外鍵約束,用于保證數據庫各個表中數據的一致性和正確性。將一個表的一列(或列組合)定義為引用其他表的主鍵或唯一約束列,則引用表中的這個列(或列組合)就稱為外鍵。被引用的表稱為主鍵表;引用表稱為外鍵表。定義FOREIGNKEY約束時要注意以下幾點:①主鍵和外鍵的數據類型必須完全匹配。②一個表中最多可以定義31個FOREIGNKEY約束。③FOREIGNKEY約束不會自動創建索引。知識寶庫第五十六頁,共89頁。活動2.3.1設置NOTNULL約束【體驗活動】1.使用對象資源管理器給“學生成績管理”數據庫中“學生信息”表的“學號”和“姓名”列設置NOTNULL約束,使這兩列輸入的數據都不能為空。2.使用ALTERTABLE語句給“學生成績管理”數據庫中“學生成績”表的“學號”和“課程號”兩列設置NOTNULL約束,使這兩列輸入的數據都不能為空。第五十七頁,共89頁。活動2.3.2設置DEFAULT約束DEFAULT約束用于指定一個列的默認值,當給列定義了DEFAULT約束后,在表中插入一條記錄時,如果沒有為該列指定值,則SQLServer會自動為該列填入默認值。
案例3使用對象資源管理器給“圖書信息管理”數據庫中“圖書信息”表的“類別”列設置DEFAULT約束,默認值為“工業技術”。『提示』
如果要使用對象資源管理器刪除DEFAULT約束,則在表設計器窗口中選擇對應字段,在下方列屬性的“默認值或綁定”項中,將對應的內容刪除即可。
『小貼士』DEFAULT約束可以是數值、字符串,也可以是函數。在輸入字符串時,單引號可以自己輸入,也可以不輸入,系統會自動添加。如果輸入的是數值或者函數,則不用單引號。最常用的函數默認值是getdate(),它的值是指系統當前日期和時間。第五十八頁,共89頁。活動2.3.2設置DEFAULT約束【技能拓展】使用對象資源管理器給“圖書信息管理”數據庫中“圖書庫存”表的“入庫日期”列設置DEFAULT約束,默認值為當前系統日期。案例4使用ALTERTABLE語句給“圖書信息管理”數據庫中“圖書庫存”表的“圖書狀態”列設置DEFAULT約束,默認值為“在藏”,約束名稱為“DF_圖書狀態”【代碼如下】USE
圖書信息管理GOALTER
TABLE
圖書庫存ADD
CONSTRAINT
DF_圖書狀態
DEFAULT
'在藏'
FOR
圖書狀態第五十九頁,共89頁。活動2.3.2設置DEFAULT約束『小貼士』①使用ALTERTABLE語句給表添加約束時,如果不需要指定約束名稱,則可以省略CONSTRAINT關鍵字及后面的約束名稱。如在案例4中,如果不需要指定約束名稱,可以把代碼改寫如下:USE
圖書信息管理GOALTER
TABLE
圖書庫存ADD
DEFAULT
'在藏'
FOR
圖書狀態對于后面要講的CHECK約束、PRIMARYKEY約束、UNIQUE約束、FOREIGNKEY約束如果不需要指定約束名稱,則同樣可以省略CONSTRAINT關鍵字及后面的約束名稱。
②使用ALTERTABLE語句刪除DEFAULT約束、CHECK約束、PRIMARYKEY約束、UNIQUE約束、FOREIGNKEY約束的語句格式如下:ALTER
TABLE
表名DROP
CONSTRAINT
約束名第六十頁,共89頁。活動2.3.2設置DEFAULT約束【技能拓展】使用ALTERTABLE語句給“圖書信息管理”數據庫中“圖書信息”表的“數量”列設置DEFAULT約束,默認值為“2”,然后再使用ALTERTABLE語句,刪除該列的DEFAULT約束。
【體驗活動】1.使用對象資源管理器分別給“學生成績管理”數據庫中“學生信息”表的“性別”和“是否內宿”列設置DEFAULT約束,“性別”列的默認值為“男”,“是否內宿”列的默認值為“是”。2.使用ALTERTABLE語句給“學生成績管理”數據庫中“課程信息”表的“課時數”列設置DEFAULT約束,默認值為80。第六十一頁,共89頁。活動2.3.3設置CHECK約束CHECK約束又稱為檢查約束,用于檢查輸入的數據是否正確,只有符合CHECK約束條件的數據才能輸入。案例5使用對象資源管理器給“圖書信息管理”數據庫中“圖書信息”表的“定價”列設置CHECK約束,要求“定價”必須大于或者等于0。『小貼士』①在單擊“添加”按鈕時,系統會自動給該約束添加一個名稱,可以在名稱對應的文本框中更改約束的名稱。②在一個表中可以創建多個CHECK約束,在一列上也可以創建多個CHECK約束,只要它們不相互矛盾。
『提示』
如果要使用對象資源管理器刪除CHECK約束,則要先打開“CHECK約束”對話框,在左邊“選定的CHECK約束”列表框中選擇要刪除的約束名稱,然后單擊“刪除”按鈕,即可把對應的約束刪除,再單擊“關閉”按鈕進行關閉,最后保存。第六十二頁,共89頁。活動2.3.3設置CHECK約束
案例6使用ALTERTABLE語句給“圖書信息管理”數據庫中“圖書庫存”表的“圖書狀態”列設置CHECK約束,要求只能輸入“在藏”或者“借出”,約束名稱為“CK_圖書狀態”【代碼如下】USE
圖書信息管理GOALTER
TABLE
圖書庫存ADD
CONSTRAINT
CK_圖書狀態
CHECK(圖書狀態='在藏'
OR
圖書狀態='借出')第六十三頁,共89頁。活動2.3.3設置CHECK約束【體驗活動】1.使用對象資源管理器給“學生成績管理”數據庫中“學生成績”表的“成績”列添加CHECK約束,要求成績必須在0~100之間的數值。
2.使用ALTERTABLE語句給“學生成績管理”數據庫中“學生信息”表的“性別”和“是否內宿”兩列設置CHECK約束,要求“性別”列只能輸入“男”或者“女”,“是否內宿”列只能輸入“是”或者“否”,約束名稱分別為“CK_性別”和“CK_是否內宿”。第六十四頁,共89頁。活動2.3.4設置PRIMARYKEY約束
PRIMARYKEY約束又稱為主鍵約束,用于指定一列或列組合中的數據值具有唯一性,即不存在相同的數據值,并且指定PRIMARYKEY約束的列不允許為空。設置了PRIMARYKEY約束的列稱為主鍵列。
案例7使用對象資源管理器給“圖書信息管理”數據庫中“圖書信息”表的“ISBN”列設置PRIMARYKEY約束。『小貼士』①PRIMARYKEY約束又稱為主鍵約束,即可以為一個列設置主鍵約束,也可以為多個列的組合設置上一個主鍵約束。②在一個表中只能定義一個PRIMARYKEY約束,并且PRIMARYKEY約束的列不能輸入空值。『提示』
如果要使用對象資源管理器刪除PRIMARYKEY約束,則右鍵單擊已經設置了PRIMARYKEY約束的列,選擇“刪除主鍵”命令,或者選中要刪除PRIMARYKEY約束的列,單擊表設計器工具欄上的設置主鍵按鈕
。第六十五頁,共89頁。活動2.3.4設置PRIMARYKEY約束案例8使用ALTERTABLE語句給“圖書信息管理”數據庫中“出版社”表的“出版社號”列設置PRIMARYKEY約束,約束名稱為“PK_出版社號”【代碼如下】USE
圖書信息管理GOALTER
TABLE
出版社ADD
CONSTRAINT
PK_出版社號
PRIMARY
KEY(出版社號)『小貼士』如果向一個沒有指定PRIMARYKEY約束的表中添加PRIMARYKEY約束,那么指定為PRIMARYKEY的一個列或多個列的組合中的所有列都必須已經指定NOTNULL約束,否則無法將該列或多列的組合指定為PRIMARYKEY約束。
『提示』一般情況下,每一張表都需要一個PRIMARYKEY約束來唯一標識每一條記錄,在案例7和案例8中已經分別對“圖書信息管理”數據庫中“圖書信息”和“出版社”兩個表設置了PRIMARYKEY約束,大家可以使用自己喜歡的方式給“圖書庫存”表的“圖書序號”列設置PRIMARYKEY約束。第六十六頁,共89頁。活動2.3.4設置PRIMARYKEY約束【體驗活動】1.使用對象資源管理器給“學生成績管理”數據庫中“學生成績”表的“學號”和“課程號”列設置PRIMARYKEY約束。2.使用ALTERTABLE語句給“學生成績管理”數據庫中“學生信息”表的“學號”列設置PRIMARYKEY約束。3.使用ALTERTABLE語句給“學生成績管理”數據庫中“課程信息”表的“課程號”列設置PRIMARYKEY約束。第六十七頁,共89頁。活動2.3.5設置UNIQUE約束UNIQUE約束又稱為唯一性約束,使用UNIQUE約束可以確保在非主鍵列中不輸入重復的值,UNIQUE約束和PRIMARY約束都強制唯一性,它們之間的區別如下:第一,在一個表中可以定義多個UNIQUE約束,但是只能定義一個PRIMARYKEY約束。第二,定義為UNIQUE約束的列上允許有空值,但是PRIMARYKEY約束的列上不允許有空值。
案例9使用對象資源管理器給“圖書信息管理”數據庫中“出版社”表的“出版社名”列設置UNIQUE約束,約束名稱為“UK_出版社名”。第六十八頁,共89頁。活動2.3.5設置UNIQUE約束案例10使用ALTERTABLE語句給“圖書信息管理”數據庫中“出版社”表的“聯系電話”列設置UNIQUE約束,約束名稱為“UK_聯系電話”。【代碼如下】USE
圖書信息管理GOALTER
TABLE
出版社ADD
CONSTRAINT
UK_聯系電話
UNIQUE(聯系電話)『小貼士』在同一個數據庫中,對象(如表、約束、視圖、默認值和規則等)不能存在相同的名稱。但在不同的數據庫中,可以有相同的名稱。第六十九頁,共89頁。活動2.3.5設置UNIQUE約束【體驗活動】1.使用對象資源管理器給“學生成績管理”數據庫中“學生信息”表的“聯系電話”列設置UNIQUE約束,約束名稱為“UK_聯系電話”。2.使用ALTERTABLE語句給“學生成績管理”數據庫中“學生信息”表的“QQ號”列設置UNIQUE約束,約束名稱為“UK_QQ號”。
第七十頁,共89頁。活動2.3.6設置FOREIGNKEY約束FOREIGNKEY約束又稱為外鍵約束,用于保證數據庫各個表中數據的一致性和正確性。將一個表的一列(或列組合)定義為引用其他表的主鍵或唯一約束列,則引用表中的這個列(或列組合)就稱為外鍵。被引用的表稱為主鍵表,引用表稱為外鍵表。
案例11使用對象資源管理器給“圖書信息管理”數據庫中“圖書信息”表的“出版社號”列設置FOREIGNKEY約束,要求該列的值必須參照“出版社”表的“出版社號”列的值。『小貼士』①FOREIGNKEY約束,又稱為外鍵約束。在如圖2.3.12所示的“表和列”對話框中,最上方的關系名對應的文本框中,可以更改關系的名稱。②設置FOREIGNKEY約束時,兩個表中作為關聯的兩列的數據類型必須嚴格匹配。作為關聯的兩列,名稱不一定要相同,但為了便于識別,一般都用相同的名稱。③如果要使用對象資源管理器刪除FOREIGNKEY約束,則要先打開如圖2.3.11所示的“外鍵關系”對話框,選中要刪除的約束名稱,單擊“刪除”按鈕即可,然后單擊“關閉”按鈕,最后保存。第七十一頁,共89頁。活動2.3.6設置FOREIGNKEY約束案例12使用ALTERTABLE語句給“圖書信息管理”數據庫中“圖書庫存”表的“ISBN”列設置FOREIGNKEY約束,要求該列的值必須參照“圖書信息”表的“ISBN”列的值,約束名為“FK_ISBN”。【代碼如下】USE
圖書信息管理GOALTER
TABLE
圖書庫存ADD
CONSTRAINT
FK_ISBN
FOREIGN
KEY(ISBN)
REFERENCES
圖書信息(ISBN)案例13通過關系圖給“圖書信息管理”數據庫中“圖書信息”表和“圖書庫存”表設置FOREIGNKEY約束。『小貼士』如果沒有先刪除前面創建的“圖書信息”表和“圖書庫存”表的FOREIGNKEY約束,則在添加完三個表后,關系設計器窗口的三個表就會自動添加上彼此之間的關系,因為設置FOREIGNKEY約束就是在設置表與表之間的關系。第七十二頁,共89頁。活動2.3.6設置FOREIGNKEY約束【體驗活動】1.使用對象資源管理器給“學生成績管理”數據庫中“學生成績”表的“學號”列設置FOREIGNKEY約束,要求該列的值必須參照“學生信息”表的“學號”列的值。
2.使用ALTERTABLE語句給“學生成績管理”數據庫中“學生成績”表的“課程號”列設置FOREIGNKEY約束,要求該列的值必須參照“課程信息”表的“課程號”列的值,約束名為FK_課程號。
3.在“學生成績管理”數據庫中,先刪除“學生成績”表中關于“學號”和“課程號”列的FOREIGNKEY約束,然后再通過關系圖給“學生成績”表的“學號”列和“課程號”列設置FOREIGNKEY約束,要求“學號”列必須參照“學生信息”表的“學號”列,“課程號”列必須參照“課程信息”表的“課程號”列,最后保存該關系圖。
第七十三頁,共89頁。活動2.3.6設置FOREIGNKEY約束【知識拓展】下面的例子就是在用CREATETAB使用CREATETABLE語句創建“圖書信息1”表,表結構如圖2.2.2所示,要求給“ISBN”列添加NOTNULL約束,給“書名”列添加UNIQUE約束,給“定價”列添加CHECK約束要求“定價”要大于或者等于0,給類別列添加DEFAULT約束默認值為“工業技術”,給“出版社號”列添加FOREIGNKEY約束,要求該列的值必須參照“出版社”表的“出版社號”列。【代碼如下】USE
圖書信息管理GOCREATE
TABLE
圖書信息1(ISBN
CHAR(17)
NOT
NULL
PRIMARY
KEY,書名
VARCHAR(50)
NULLUNIQUE,定價
MONEY
CHECK(定價>0)
,類別
VARCHAR(10)
NULL
DEFAULT
'工業技術',出版社號
INT
NULL
REFERENCES
出版社(出版社號),出版日期
DATE
NULL,數量
TINYINT
NULL)第七十四頁,共89頁。任務2.4表數據的操作完成對數據庫中各表插入、更新及刪除表數據。任務說明學會使用對象資源管理器給數據庫各表插入、更新及刪除表數據。學會使用INSERT、UPDATE和DELETE語句給數據庫各表插入、更新及刪除表數據。任務目標第七十五頁,共89頁。任務2.4表數據的操作活動2.4.1插入表數據活動2.4.2更新表數據活動2.4.3刪除表數據第七十六頁,共89頁。活動2.4.1插入表數據
在SQLServer2008中給數據庫中的表插入數據時,既可以通過對象資源管理器操作,也可以通過INSERT語句實現。
案例1
使用對象資源管理器給“圖書信息管理”數據庫中“出版社”表插入一條新記錄,“出版社名”為“人民郵電出版社”,“聯系電話”為“”,所在地為“上海市”,因為“出版社號”為標識列,它的數據會自動生成,所以不需要進行添加,如圖2.4.1所示。『小貼士』①“出版社”表的“出版社號”列的數據設置了標識列,所以該列的數據系統會自動生成,不允許用戶進行輸入及更改。②給“圖書信息管理”數據庫中各表添加數據時,必須注意順序,應該先向“出版社”表添加數據,再向“圖書信息”表添加數據,最后才向“圖書庫存”表添加數據,因為在任務2.3中,我們對該數據庫中各表設置了FOREIGNKEY約束,強調了它們之間的關系。③如果編輯的數據超過“200行”,要編輯更多的數據,可以單擊菜單欄的“工具→選項”命令,彈出如圖2.4.2所示的“選項”對話框。在“選項”對話框中,選擇“SQLServer對象資源管理器→命令”選項,可以根據需要更改右側“編輯前<n>行”命令的值對應項的值,也可以更改右側“選擇前<n>行”命令的值對應項的值。第七十七頁,共89頁。活動2.4.1插入表數據案例2
使用INSERT語句向“圖書信息管理”數據庫中“圖書信息”表插入一條新記錄,“ISBN”為“978-7-5647-1103-0”,“書名”為“雪蓮花開”,“定價”為“59.8”,“類別”為“文學”,“出版社號”為“103”,“出版日期”為“2012-1-1”,“數量”為“3”,如圖2.4.3所示。【代碼如下】USE
圖書信息管理GOINSERT
INTO
圖書信息
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年版個人承建合同
- 2025年度材料供應與銷售合同評審表
- 創新幼兒園課堂管理的方法探討計劃
- 農村建房合同樣本包工
- 廠區防火巡護方案范本
- 冷凍食品合伙合同標準文本
- 2025私家豬狗買賣合同范本
- 農村房屋出賣合同樣本
- 代融資收費合同樣本
- 公司研發團隊合同樣本
- (二統)昆明市2025屆“三診一模”高三復習教學質量檢測地理試卷(含答案)
- Unit 3 Keep Fit Section A 2a-2e 教學設計 2024-2025學年人教版(2024)七年級英語下冊
- 2025徽縣輔警考試題庫
- (一模)2025年廣東省高三高考模擬測試 (一) 卷數學試卷(含官方答案)
- 腦心健康管理師的學習匯報
- 樹木移植合同范本
- 2025年開封大學單招職業技能測試題庫新版
- 2025年張家界航空工業職業技術學院單招職業技能測試題庫及參考答案
- 財政投資評審咨詢服務預算和結算評審項目投標文件(技術方案)
- 2025年濟源職業技術學院單招職業技能測試題庫完整
- 農村自建房施工合同范本(包工包料)
評論
0/150
提交評論