表的管理數(shù)據(jù)庫天津大學(xué).ppt
《表的管理數(shù)據(jù)庫天津大學(xué).ppt》由會員分享,可在線閱讀,更多相關(guān)《表的管理數(shù)據(jù)庫天津大學(xué).ppt(30頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1,第5章表的管理,2,本章內(nèi)容,5.1SQLServer表概述5.2表的創(chuàng)建與維護5.3表中數(shù)據(jù)的維護,3,5.1SQLServer表概述,數(shù)據(jù)類型SQLServer支持4種基本數(shù)據(jù)類型:字符和二進制數(shù)據(jù)類型、日期時間數(shù)據(jù)類型、邏輯數(shù)據(jù)類型、數(shù)字數(shù)據(jù)類型,用于各類數(shù)據(jù)值的存儲、檢索和解釋。1.字符和二進制數(shù)據(jù)類型(1)字符數(shù)據(jù)類型字符數(shù)據(jù)類型用于存儲漢字、英文字母、數(shù)字符號和其他各種符號。char數(shù)據(jù)類型varchar數(shù)據(jù)類型text數(shù)據(jù)類型SQLServer允許使用多國語言,采用Unicode標(biāo)準字符集。為此SQLServer提供多字節(jié)的字符數(shù)據(jù)類型:nchar(n)、nvarchar(n)和ntext。,4,5.1SQLServer表概述,(2)二進制數(shù)據(jù)類型SQLServer二進制數(shù)據(jù)類型用于存儲二進制數(shù)或字符串。SQLServer的3種有效二進制數(shù)據(jù)類型:binary數(shù)據(jù)類型varbinary[(n)]數(shù)據(jù)類型image數(shù)據(jù)類型,5,5.1SQLServer表概述,2.日期時間數(shù)據(jù)類型日期時間數(shù)據(jù)類型用于存儲日期和時間數(shù)據(jù)。SQLServer支持兩種日期時間數(shù)據(jù)類型:datetime和smalldatetime。3.邏輯數(shù)據(jù)類型SQLServer的邏輯數(shù)據(jù)類型為bit,適用于判斷真/假的場合,長度為一個字節(jié)。,6,5.1SQLServer表概述,4.?dāng)?shù)字數(shù)據(jù)類型SQLServer提供了多種方法存儲數(shù)值,SQLServer的數(shù)字類型大致可分為4種基本類型。(1)整數(shù)數(shù)據(jù)類型有4種整數(shù)數(shù)據(jù)類型:int、smallint、tinyint和bigint,用于存儲不同范圍的值。(2)浮點數(shù)據(jù)類型浮點數(shù)據(jù)用來存儲系統(tǒng)所能提供的最大精度保留的實數(shù)數(shù)據(jù)。,7,5.1SQLServer表概述,(3)精確數(shù)值數(shù)據(jù)類型精確數(shù)值數(shù)據(jù)類型用于存儲有小數(shù)點且小數(shù)點后位數(shù)確定的實數(shù)。格式:decimal[(p[,s])]numeric[(p[,s])](4)貨幣數(shù)據(jù)類型除了decimal和numeric類型適用于貨幣數(shù)據(jù)的處理外,SQLServer還專門提供了兩種貨幣數(shù)據(jù)類型:money和smallmoney。,8,5.1SQLServer表概述,5.其他數(shù)據(jù)類型除了以上4種基本數(shù)據(jù)類型,SQLServer還支持其他一些數(shù)據(jù)類型。(1)Timestamp:時間戳數(shù)據(jù)類型,用于自動記錄插入或刪除操作的時間。注意:服務(wù)器不允許用戶指定時間戳值。(2)sql_variant:可變數(shù)據(jù)類型。該類型的變量可用來存放大部分SQLServer數(shù)據(jù)類型的值,最大長度為8016字節(jié),不支持text、ntext、timestamp和sql_variant類型。(3)table:表類型。這是一種特殊的數(shù)據(jù)類型,存儲供以后處理的結(jié)果集。(4)uniqueidentifier:GUID類型(GlobalUniqueIDentifier,全局惟一標(biāo)識符)。,9,5.1SQLServer表概述,空值(NULL)空值不同于空白(空字符串)或數(shù)值零,通常表示未填寫、未知(Unknown)、不可用或?qū)⒃谝院筇砑拥臄?shù)據(jù)。默認值是指表中數(shù)據(jù)的默認取值,默認值對象是數(shù)據(jù)庫的對象不依附于具體的表對象,即默認值對象的作用范圍是整個數(shù)據(jù)庫。約束約束定義了關(guān)于列中允許值的規(guī)則,SQLServer通過限制列中數(shù)據(jù)、行中數(shù)據(jù)和表之間數(shù)據(jù)來保證數(shù)據(jù)的完整性。(1)非空值約束(NotNull)(2)默認約束(Default)(3)惟一性約束(Unique)(4)主鍵約束(PrimaryKey,也稱主關(guān)鍵字約束)(5)外鍵約束(ForeignKey,也稱為外部關(guān)鍵字約束),10,5.2表的創(chuàng)建與維護,使用SQLServer管理平臺對表進行操作使用SQLServer管理平臺創(chuàng)建和修改表使用SQLServer管理平臺設(shè)計數(shù)據(jù)庫關(guān)系在SQLServer管理平臺中刪除表使用Transact-SQL語句創(chuàng)建表語法格式:CREATETABLE[database_name.[owner].|owner.]table_name({|column_nameAScomputed_column_expression|::=[CONSTRAINTconstraint_name]}|[{PRIMARYKEY|UNIQUE}[,...n])[ON{filegroup|DEFAULT}][TEXTIMAGE_ON{filegroup|DEFAULT}],11,5.2表的創(chuàng)建與維護,例5-1簡單的表定義。USESalesGOCREATETABLEemployee(employee_idchar(4)NOTNULL,employee_namechar(8)NOTNULL,sexchar(2)NOTNULL,birth_datedatetimeNOTNULL,hire_datedatetimeNOTNULL,addressvarchar(50),telephonechar(8),wagesmoney,department_idchar(4)NOTNULL,resumetextNOTNULL),12,5.2表的創(chuàng)建與維護,例5-2為表指定文件組。CREATETABLESales.dbo.supplier(supplier_idchar(5)NOTNULL,supplier_namevarchar(50)NOTNULL,linkman_namevarchar(8),addressvarchar(50),telephonechar(12)NOTNULL)ON[PRIMARY],13,5.2表的創(chuàng)建與維護,例5-3對計算列使用表達式。CREATETABLEsalarys(姓名varchar(10),基本工資money,獎金money,總計AS基本工資+獎金),14,5.2表的創(chuàng)建與維護,例5-4定義表autouser自動獲取用戶名稱。CREATETABLEautouser(編號intidentity(1,1)NOTNULL,用戶代碼varchar(18),登錄時間ASGetdate(),用戶名ASUser_name()),15,5.2表的創(chuàng)建與維護,例5-5創(chuàng)建臨時表。CREATETABLE#students(學(xué)號varchar(8),姓名varchar(10),性別varchar(2),班級varchar(10)),16,5.2表的創(chuàng)建與維護,使用Transact-SQL語句修改表語法格式:ALTERTABLEtable_name{[ALTERCOLUMNcolumn_name{new_data_type[(precision[,scale])][NULL|NOTNULL]|{ADD|DROP}ROWGUIDCOL}]|ADD{[]|column_nameAScomputed_column_expression}[,...n]|[WITHCHECK|WITHNOCHECK]ADD{}[,...n]|DROP{[CONSTRAINT]constraint_name|COLUMNcolumn_name}[,...n]|{CHECK|NOCHECK}CONSTRAINT{ALL|constraint_name[,...n]}|{ENABLE|DISABLE}TRIGGER{ALL|trigger_name[,...n]}},17,5.2表的創(chuàng)建與維護,例5-6更改表以添加新列,然后再刪除該列。ALTERTABLEemployeeADDemailvarchar(20)NULLGOsp_helpemployeeALTERTABLEemployeeDROPCOLUMNemailGOsp_helpemployee,18,5.2表的創(chuàng)建與維護,例5-7將表employee的列address改為varchar(150)數(shù)據(jù)類型,并且不允許為空。ALTERTABLEemployeeALTERCOLUMNaddressvarchar(150)NOTNULLGO注意:一定要確認已有的數(shù)據(jù)中列address均不為空后,才能進行此操作。,19,5.2表的創(chuàng)建與維護,使用Transact-SQL語句刪除表語句格式如下:DROPTABLEtable_name其中,table_name是要刪除的表名。注意:(1)定義有外鍵約束的表必須先刪除外鍵約束,才能刪除。(2)系統(tǒng)表不能使用DROPTABLE語句刪除。,20,5.2表的創(chuàng)建與維護,例5-8刪除當(dāng)前數(shù)據(jù)庫內(nèi)的表。USESalesGODROPTABLEemployee本例從當(dāng)前數(shù)據(jù)庫Sales中刪除employee表及其數(shù)據(jù)和索引。例5-9刪除另外一個數(shù)據(jù)庫內(nèi)的表。DROPTABLESales.dbo.employee本例刪除Sales數(shù)據(jù)庫內(nèi)的employee表??梢栽谌魏螖?shù)據(jù)庫內(nèi)執(zhí)行此操作。,21,5.3表中數(shù)據(jù)的維護,對表中數(shù)據(jù)進行維護有兩種方法:使用SQLServer管理平臺使用Transact-SQL語句插入數(shù)據(jù)語法格式如下:INSERT[INTO]{table_name|view_name}{[(column_list)]{VALUES(value_list)|derived_table|execute_statement}}|DEFAULTVALUES,22,5.3表中數(shù)據(jù)的維護,例5-10使用簡單的INSERT語句。USESalesGOINSERTSupplierVALUES(S001,華科電子有限公司,施賓彬,朝陽路56號,2636565)例5-11顯式指定列列表。INSERTSales.dbo.Supplier(supplier_id,supplier_name,linkman_name,address,telephone)VALUES(S001,華科電子有限公司,施賓彬,朝陽路56號,2636565),23,5.3表中數(shù)據(jù)的維護,修改數(shù)據(jù)語法格式:UPDATE{table_name|view_name}SET{{column_name|@variable}=expression}[,...n][FROM{}[,...n]][WHERE],24,5.3表中數(shù)據(jù)的維護,例5-14使用簡單的UPDATE語句。UPDATECustomer2SETlinkman_name=佚名,address=NULL,telephone=‘例5-15在UPDATE語句中使用WHERE子句。UPDATECustomer2SETtelephone=0731-+telephoneWHERELEN(telephone)=7,25,5.3表中數(shù)據(jù)的維護,例5-17在UPDATE語句中使用SELECT…TOP語句。UPDATEGoodsSETUnit_Price=Unit_Price*0.9FROMGoods,(SELECTTOP10Goods_ID,SUM(Order_Num)ASTotal_NumFROMSell_OrderGROUPBYGoods_IDORDERBYTotal_NumDESC)ASTotal_SumWHEREGoods.Goods_id=Total_Sum.Goods_id,26,5.3表中數(shù)據(jù)的維護,刪除數(shù)據(jù)1.DELETE語句DELETE語句可刪除表或視圖中的一行或多行,每一行的刪除都將被記入日志。DELETE語句的語法格式如下:DELETE[FROM]{table_name|view_name}[FROM{}[,...n]][WHERE{- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 管理 數(shù)據(jù)庫 天津大學(xué)
鏈接地址:http://www.3dchina-expo.com/p-3585137.html