




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Sqlserver2005程序設(shè)計(jì)與管理基礎(chǔ)第3章管理數(shù)據(jù)表1Sqlserver2005第3章管理數(shù)據(jù)表1第3章管理數(shù)據(jù)表3.1SQLServer表的概念3.2SQLServer中的數(shù)據(jù)類型3.3創(chuàng)建數(shù)據(jù)表3.4管理數(shù)據(jù)表2第3章管理數(shù)據(jù)表3.1SQLServer表的概念23.1SQLServer表的概念1.表的概念
在SQLServer數(shù)據(jù)庫(kù)中,表定義為列的集合,與Excel電子表格相似,數(shù)據(jù)在表中是按行和列的格式組織排列的。每行代表唯一的一條記錄,而每列代表記錄中的一個(gè)域。學(xué)號(hào)姓名性別出生日期系部入學(xué)時(shí)間000101張三男1980計(jì)算機(jī)2000000201李偉男1981經(jīng)濟(jì)管理2000010101王麗女1982數(shù)學(xué)2001關(guān)系名(表名)屬性(列或字段)關(guān)系模式學(xué)生表
屬性名記錄或元組主鍵(碼)33.1SQLServer表的概念1.表的概念學(xué)號(hào)姓名性3.1SQLServer表的概念2.表設(shè)計(jì)的限制在SQLServer創(chuàng)建表有如下限制:每個(gè)數(shù)據(jù)庫(kù)里最多有20億個(gè)表。每個(gè)表上最多可以創(chuàng)建一個(gè)聚集索引和249個(gè)非聚集索引。每個(gè)表最多可以配置1024個(gè)字段。每條記錄最多可以占8060B,但不包括text字段和image字段。
43.1SQLServer表的概念2.表設(shè)計(jì)的限制4第3章管理數(shù)據(jù)表3.1SQLServer表的概念3.2SQLServer中的數(shù)據(jù)類型3.3創(chuàng)建數(shù)據(jù)表3.4管理數(shù)據(jù)表5第3章管理數(shù)據(jù)表3.1SQLServer表的概念53.2SQLServer2005數(shù)據(jù)類型1.二進(jìn)制數(shù)據(jù)2.字符型數(shù)據(jù)類型3.Unicode字符數(shù)據(jù)4.日期時(shí)間型數(shù)據(jù)5.整數(shù)型數(shù)據(jù)6.精確數(shù)值型數(shù)據(jù)7.近似數(shù)值類型8.貨幣數(shù)據(jù)9.位類型數(shù)據(jù)
63.2SQLServer2005數(shù)據(jù)類型1.二進(jìn)制數(shù)據(jù)3.2SQLServer2005數(shù)據(jù)類型1.二進(jìn)制數(shù)據(jù)功能:常用于存儲(chǔ)圖像等數(shù)據(jù),包括長(zhǎng)二進(jìn)制數(shù)據(jù)binary、變長(zhǎng)二進(jìn)制數(shù)據(jù)varbinary和image三種。類型存儲(chǔ)空間大小
(字節(jié))最大取值說(shuō)明Binary(n)N存儲(chǔ)空間固定N∈[1,8000]默認(rèn)為1輸入不足,補(bǔ)足后存儲(chǔ);超過則截?cái)嗪蟠鎯?chǔ).Varbinary(n)變長(zhǎng)存儲(chǔ)數(shù)據(jù),存儲(chǔ)大小為實(shí)際長(zhǎng)度+2N∈[1,8000]默認(rèn)為1輸入不足n字節(jié),按實(shí)際長(zhǎng)度+2個(gè)字節(jié)存儲(chǔ);超過則截?cái)?image231-173.2SQLServer2005數(shù)據(jù)類型1.二進(jìn)制數(shù)據(jù)3.2SQLServer2005數(shù)據(jù)類型2.字符型數(shù)據(jù)類型功能:用于存儲(chǔ)漢字、英文字母、數(shù)字、標(biāo)點(diǎn)和各種符號(hào),必須由英文單引號(hào)括起來(lái)。類型存儲(chǔ)空間大小(字節(jié))最大取值說(shuō)明char(n)固定長(zhǎng)度存儲(chǔ)字符串N∈[1,8000]默認(rèn)為1輸入不足n個(gè)字節(jié),補(bǔ)足后存儲(chǔ);超過則截?cái)嗪蟠鎯?chǔ).varchar(n)按變長(zhǎng)存儲(chǔ)字符串N∈[1,8000]默認(rèn)為1輸入不足n字節(jié),按實(shí)際長(zhǎng)度+2字節(jié)存儲(chǔ);超過則截?cái)?text231-1個(gè)字節(jié)83.2SQLServer2005數(shù)據(jù)類型2.字符型數(shù)據(jù)3.2SQLServer2005數(shù)據(jù)類型3.Unicode字符數(shù)據(jù)功能:存放Unicode字符數(shù)據(jù).支持的字符范圍更大,存儲(chǔ)所需要的空間也更大。類型存儲(chǔ)空間大小(字節(jié))最大取值說(shuō)明nchar(n)固定長(zhǎng)度存儲(chǔ)字符串N∈[1,4000]默認(rèn)為1輸入不足n個(gè)字節(jié),補(bǔ)足后存儲(chǔ);超過則截?cái)嗪蟠鎯?chǔ).nvarchar(n)按變長(zhǎng)存儲(chǔ)字符串N∈[1,4000]默認(rèn)為1輸入不足n字節(jié),存儲(chǔ)大小是2n+2個(gè)字節(jié);超過則截?cái)?ntext230-1個(gè)字節(jié)93.2SQLServer2005數(shù)據(jù)類型3.Unico3.2SQLServer2005數(shù)據(jù)類型4.日期時(shí)間型數(shù)據(jù)功能:用于存儲(chǔ)日期和時(shí)間數(shù)據(jù)。類型存儲(chǔ)范圍datetime存儲(chǔ)從1753年1月1日到9999年12月31日的日期和時(shí)間數(shù)據(jù),精確度為3%秒,用4個(gè)字節(jié)的整數(shù)存儲(chǔ)datetime值。smalldatetime存儲(chǔ)從1900年1月1日到2079年6月6日的日期和時(shí)間數(shù)據(jù),精確度為1分鐘,用2個(gè)字節(jié)的整數(shù)存儲(chǔ)時(shí)間值。注意:當(dāng)使用日期格式數(shù)據(jù)時(shí),在字符串中可以使用斜杠’/’,連字符’-’或句號(hào).作為分隔符。103.2SQLServer2005數(shù)據(jù)類型4.日期時(shí)間型3.2SQLServer2005數(shù)據(jù)類型5.整數(shù)型數(shù)據(jù)功能:用于存儲(chǔ)整型數(shù)據(jù)。類型存儲(chǔ)大小(字節(jié))數(shù)據(jù)范圍bigint8-263~263-1int4-231~231-1smallint2-215~215-1tinyint10~255113.2SQLServer2005數(shù)據(jù)類型5.整數(shù)型數(shù)據(jù)3.2SQLServer2005數(shù)據(jù)類型6.精確數(shù)值型數(shù)據(jù)
功能:用于存儲(chǔ)帶有小數(shù)點(diǎn)且小數(shù)點(diǎn)后位數(shù)確定的實(shí)數(shù)。類型說(shuō)明數(shù)據(jù)范圍decimal(p,[s])p指定存儲(chǔ)數(shù)據(jù)的最大位數(shù),不含小數(shù)點(diǎn),p∈[1,38];s指定存儲(chǔ)的小數(shù)的最大位數(shù),s∈[0,p].默認(rèn)小數(shù)位是0。-1038+1~1038-1numeric(p,[s])123.2SQLServer2005數(shù)據(jù)類型6.精確數(shù)值型3.2SQLServer2005數(shù)據(jù)類型7.近似數(shù)值類型功能:用于存儲(chǔ)浮點(diǎn)數(shù)。
類型說(shuō)明數(shù)據(jù)范圍float(n)n為精度,n∈[1,53]存放-1.79E+308~1.79E+308數(shù)值范圍內(nèi)的浮點(diǎn)數(shù)real存儲(chǔ)大小為4個(gè)字節(jié)從-3.40E+38到3.40E+38之間的浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)133.2SQLServer2005數(shù)據(jù)類型7.近似數(shù)值類3.2SQLServer2005數(shù)據(jù)類型8.貨幣數(shù)據(jù)類型存儲(chǔ)大小數(shù)據(jù)范圍money8個(gè)字節(jié)貨幣數(shù)據(jù)值介于-263與263-1之間,精確到貨幣單位的千分之十smallmoney4個(gè)字節(jié)貨幣數(shù)值介于-214,748.3648~+214.748,3647之間,精確到貨幣單位的千分之十143.2SQLServer2005數(shù)據(jù)類型8.貨幣數(shù)據(jù)類3.2SQLServer2005數(shù)據(jù)類型9.位類型數(shù)據(jù)功能:位類型數(shù)據(jù)用于存儲(chǔ)整數(shù),只能取
1、0
或NULL,常用于邏輯數(shù)據(jù)的存取。說(shuō)明:在位類型的字段中輸入0和1之外的任何值,系統(tǒng)都會(huì)作為1來(lái)處理。如果一個(gè)表中有8個(gè)以下的位類型數(shù)據(jù)字段,則系統(tǒng)會(huì)用一個(gè)字節(jié)存儲(chǔ)這些字段;如果表中有9個(gè)以上16個(gè)以下位類型數(shù)據(jù)字段,則系統(tǒng)會(huì)用兩個(gè)字節(jié)來(lái)存儲(chǔ)這些字段。
153.2SQLServer2005數(shù)據(jù)類型9.位類型數(shù)據(jù)第3章管理數(shù)據(jù)表3.1SQLServer表的概念3.2SQLServer中的數(shù)據(jù)類型3.3創(chuàng)建數(shù)據(jù)表3.4管理數(shù)據(jù)表16第3章管理數(shù)據(jù)表3.1SQLServer表的概念163.3創(chuàng)建數(shù)據(jù)表1.使用SSMS創(chuàng)建表
創(chuàng)建表的步驟:1)定義表結(jié)構(gòu):給表的每一列取字段名,并確定每一列的數(shù)據(jù)類型、數(shù)據(jù)長(zhǎng)度、列數(shù)據(jù)是否可以為空等。2)設(shè)置約束:設(shè)置約束是為了限制該列輸入值的取值范圍,以保證輸入數(shù)據(jù)的正確性和一致性。3)添加數(shù)據(jù):表結(jié)構(gòu)建立完成之后,就可以向表中輸入數(shù)據(jù)。
173.3創(chuàng)建數(shù)據(jù)表1.使用SSMS創(chuàng)建表173.3創(chuàng)建數(shù)據(jù)表1.使用SSMS創(chuàng)建表
例1:請(qǐng)?jiān)趕tudent數(shù)據(jù)庫(kù)中建立“學(xué)生基本信息”表的結(jié)構(gòu)。注:主鍵的字段值不能為空,且字段值在表中必須唯一字段名字段數(shù)據(jù)類型長(zhǎng)度是否為空約束學(xué)號(hào)char8否主鍵姓名char10否
性別char2是
默認(rèn)值‘男’出生年月datetime8是
籍貫varchar20是
家庭住址varchar60是電話char15是
所屬班級(jí)char8是
183.3創(chuàng)建數(shù)據(jù)表1.使用SSMS創(chuàng)建表注:主鍵的字段值3.3創(chuàng)建數(shù)據(jù)表2.使用T-SQL語(yǔ)句創(chuàng)建表1)語(yǔ)法:CREATETABLE[database_name.[owner].|owner.]table_name
(
{column_definition>}|[{PRIMARYKEY|UNIQUE}[,…N]]
)[ONfilegroup_name|’default’|’primary’]<column_definttion>::={column_namedata_type}[[DEFAULTconstraint_expression]|[IDENTITY[(seed,increment)]]][<column_constraint>][,…n]193.3創(chuàng)建數(shù)據(jù)表2.使用T-SQL語(yǔ)句創(chuàng)建表193.3創(chuàng)建數(shù)據(jù)表語(yǔ)法注釋:●database_name:指定創(chuàng)建的表所在的數(shù)據(jù)庫(kù),在當(dāng)前數(shù)據(jù)庫(kù)創(chuàng)建表時(shí)該項(xiàng)可以省略。●owner:指定表的擁有者,如果表的擁有者為當(dāng)前用戶,該項(xiàng)可以省略。●table_name:指定新建表的名稱。●column_definttion:為表中字段的定義表達(dá)式。●column_name:為表中的字段名。●data_type:為字段的數(shù)據(jù)類型。●PRIMARYKEY:為主鍵約束關(guān)鍵字。●UNIQUE:為唯一約束關(guān)鍵字。●DEFAULT:為默認(rèn)約束關(guān)鍵字。●IDENTITY:為自動(dòng)編號(hào)標(biāo)識(shí)。●Seed:為自動(dòng)標(biāo)識(shí)的開始值,默認(rèn)為1。●Increment:為自動(dòng)編號(hào)的步長(zhǎng)或增量,默認(rèn)為1。203.3創(chuàng)建數(shù)據(jù)表語(yǔ)法注釋:203.3創(chuàng)建數(shù)據(jù)表
例2:創(chuàng)建帶有參照約束的學(xué)生表stud_info,學(xué)生表的表結(jié)構(gòu)定義如下表所示。“學(xué)號(hào)”字段為學(xué)生表的主鍵。字段名字段數(shù)據(jù)類型長(zhǎng)度是否為空約束學(xué)號(hào)char8否主鍵姓名char10否
性別char2是
默認(rèn)值‘男’出生年月datetime8是
籍貫varchar20是
家庭住址varchar60是電話char15是
所屬班級(jí)char8是
213.3創(chuàng)建數(shù)據(jù)表例2:創(chuàng)建帶有參照約束的學(xué)生表stud3.3創(chuàng)建數(shù)據(jù)表創(chuàng)建“學(xué)生”表的代碼如下:USEStudentGO
CREATETABLEstud_info(學(xué)號(hào)char(8)PRIMARYKEY,姓名char(10)NOTNULL,性別char(2)DEFAULT‘男’,出生年月datetime,籍貫varchar(20),家庭住址varchar(60),電話char(15),所屬班級(jí)char(8))GO223.3創(chuàng)建數(shù)據(jù)表創(chuàng)建“學(xué)生”表的代碼如下:223.3創(chuàng)建數(shù)據(jù)表例3:在學(xué)生管理數(shù)據(jù)庫(kù)中用T-SQL語(yǔ)句創(chuàng)建一個(gè)學(xué)生成績(jī)表stud_score,表結(jié)構(gòu)如下,其中包含標(biāo)識(shí)列和計(jì)算列。233.3創(chuàng)建數(shù)據(jù)表例3:在學(xué)生管理數(shù)據(jù)庫(kù)中用T-SQL語(yǔ)句創(chuàng)3.3創(chuàng)建數(shù)據(jù)表實(shí)現(xiàn)的T-SQL語(yǔ)句:CREATETABLEstud_score(ScoreidintIDENTITY(1,1)PRIMARYKEY,Stud_nochar(8)NOTNULL,MathintDEFAULT0,ChineseintDEFAULT0,ComputerintDEFAULT0,total_scoreASMath+Chinese+computer)GO243.3創(chuàng)建數(shù)據(jù)表實(shí)現(xiàn)的T-SQL語(yǔ)句:243.3創(chuàng)建數(shù)據(jù)表設(shè)置列的標(biāo)識(shí)屬性時(shí),應(yīng)注意:該列的數(shù)據(jù)類型必須是decimal,int,numeric,smallint,bigint,tinyint中的一種,才可以設(shè)置標(biāo)識(shí)屬性。標(biāo)識(shí)列不允許為空值,也不能包含默認(rèn)屬性。每個(gè)表中只允許有一個(gè)標(biāo)識(shí)列,并且不可以修改。設(shè)置計(jì)算列時(shí),應(yīng)注意:在計(jì)算列中不能添加如primarykey、unique、foreignkey、default等約束條件。不能對(duì)計(jì)算列進(jìn)行賦值。253.3創(chuàng)建數(shù)據(jù)表設(shè)置列的標(biāo)識(shí)屬性時(shí),應(yīng)注意:25第3章管理數(shù)據(jù)表3.1SQLServer表的概念3.2SQLServer中的數(shù)據(jù)類型3.3創(chuàng)建數(shù)據(jù)表3.4管理數(shù)據(jù)表
26第3章管理數(shù)據(jù)表3.1SQLServer表的概念263.4管理數(shù)據(jù)表
3.4.1修改表結(jié)構(gòu)
3.4.2刪除數(shù)據(jù)表
3.4.3查看數(shù)據(jù)表273.4管理數(shù)據(jù)表3.4.1修改表結(jié)構(gòu)273.4.1修改表結(jié)構(gòu)1使用SSMS修改表結(jié)構(gòu)例4:修改“student”庫(kù)中“學(xué)生基本信息表”表結(jié)構(gòu)。283.4.1修改表結(jié)構(gòu)1使用SSMS修改表結(jié)構(gòu)283.4.1修改表結(jié)構(gòu)2使用T-SQL語(yǔ)言修改表1)語(yǔ)法:ALTERTABLEtable_name{[ALTERCOLUMNcolumn_name{new_data_type[(precision[,scale])][NULL|NOTNULL]}]|ADD{[<column_definition>]}[,...n]|DROP{[CONSTRAINT]constraint_name|COLUMNcolumn}[,...n]}[[DEFAULT
constant_expression][WITHVALUES]|[IDENTITY[(seed,increment)]]
293.4.1修改表結(jié)構(gòu)2使用T-SQL語(yǔ)言修改表3.4.1修改表結(jié)構(gòu)2)語(yǔ)法注釋:
ALTERCOLUMN:修改表列屬性的子句
ADD:增加列或約束的子句
DROPCOLUMN:刪除表列的子句
table_name:需要修改表的表格名稱
column_name:希望增加的字段名
data_type:需要增加的字段的數(shù)據(jù)類型名collation_name:排序規(guī)則名
303.4.1修改表結(jié)構(gòu)2)語(yǔ)法注釋:303.4.1修改表結(jié)構(gòu)例5:使用T-SQL代碼修改學(xué)生基本信息表stud_info結(jié)構(gòu),增加字段“QQ號(hào)碼”,數(shù)據(jù)類型為varchar,長(zhǎng)度為15,可為空;增加入學(xué)時(shí)間字段,時(shí)間/日期類型,默認(rèn)時(shí)間為‘2006-9-1’。USEstudentGOALTERTABLEstud_infoADDQQ號(hào)碼varchar(15)GOALTERTABLEstud_infoADD入學(xué)時(shí)間datetimeDEFAULT‘2006-9-1’GO313.4.1修改表結(jié)構(gòu)例5:使用T-SQL代碼修改學(xué)生基本信息3.4.1修改表結(jié)構(gòu)例6:使用T-SQL代碼修改學(xué)生基本信息表stud_info結(jié)構(gòu),修改字段“家庭住址”的長(zhǎng)度為100。實(shí)現(xiàn)的T-SQL語(yǔ)句USEstudentGOALTERTABLEstud_infoALTERCOLUMN家庭住址varchar(100)GO323.4.1修改表結(jié)構(gòu)例6:使用T-SQL代碼修改學(xué)生基本信息3.4.1修改表結(jié)構(gòu)例7:使用T-SQL語(yǔ)句刪除學(xué)生基本信息表stud_info的QQ號(hào)碼字段。實(shí)現(xiàn)的T-SQL語(yǔ)句USEstudentGOALTERTABLEstud_infoDROPCOLUMNQQ號(hào)碼GO
3
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銅冶煉過程中的環(huán)保設(shè)備研發(fā)進(jìn)展預(yù)測(cè)分析研究考核試卷
- 金屬加工中的金屬加工設(shè)備維護(hù)管理信息系統(tǒng)考核試卷
- 礦石催化反應(yīng)與催化機(jī)理考核試卷
- 銀冶煉中的冶煉廠智能化改造與生產(chǎn)調(diào)度考核試卷
- 針織品生產(chǎn)計(jì)劃與優(yōu)化考核試卷
- 外科縫合穿針教學(xué)
- 口腔護(hù)士職業(yè)實(shí)踐心得
- 麻醉科每月醫(yī)療質(zhì)量控制
- 冷菜制作的衛(wèi)生與安全
- 妊娠高血壓疾病查房要點(diǎn)
- 大學(xué)語(yǔ)文試題及答案安徽
- 近七年寧夏中考化學(xué)真題及答案2024
- 2025至2030中國(guó)芳綸纖維行業(yè)需求預(yù)測(cè)及發(fā)展前景趨勢(shì)研究報(bào)告
- 十一學(xué)校小升初入學(xué)測(cè)試數(shù)學(xué)真題及詳細(xì)解答
- Braden 壓力性損傷評(píng)分表詳解
- 婚內(nèi)賭博欠債協(xié)議書范本
- 造價(jià)咨詢項(xiàng)目管理制度
- 徐圩港區(qū)疏港航道整治工程報(bào)告書
- XX公司事故隱患內(nèi)部報(bào)告獎(jiǎng)勵(lì)制度1
- 兒童重癥肺炎護(hù)理常規(guī)
- 裝飾裝修施工方案
評(píng)論
0/150
提交評(píng)論