表的管理數據庫天津大學.ppt
《表的管理數據庫天津大學.ppt》由會員分享,可在線閱讀,更多相關《表的管理數據庫天津大學.ppt(30頁珍藏版)》請在裝配圖網上搜索。
1,第5章表的管理,2,本章內容,5.1SQLServer表概述5.2表的創(chuàng)建與維護5.3表中數據的維護,3,5.1SQLServer表概述,數據類型SQLServer支持4種基本數據類型:字符和二進制數據類型、日期時間數據類型、邏輯數據類型、數字數據類型,用于各類數據值的存儲、檢索和解釋。1.字符和二進制數據類型(1)字符數據類型字符數據類型用于存儲漢字、英文字母、數字符號和其他各種符號。char數據類型varchar數據類型text數據類型SQLServer允許使用多國語言,采用Unicode標準字符集。為此SQLServer提供多字節(jié)的字符數據類型:nchar(n)、nvarchar(n)和ntext。,4,5.1SQLServer表概述,(2)二進制數據類型SQLServer二進制數據類型用于存儲二進制數或字符串。SQLServer的3種有效二進制數據類型:binary數據類型varbinary[(n)]數據類型image數據類型,5,5.1SQLServer表概述,2.日期時間數據類型日期時間數據類型用于存儲日期和時間數據。SQLServer支持兩種日期時間數據類型:datetime和smalldatetime。3.邏輯數據類型SQLServer的邏輯數據類型為bit,適用于判斷真/假的場合,長度為一個字節(jié)。,6,5.1SQLServer表概述,4.數字數據類型SQLServer提供了多種方法存儲數值,SQLServer的數字類型大致可分為4種基本類型。(1)整數數據類型有4種整數數據類型:int、smallint、tinyint和bigint,用于存儲不同范圍的值。(2)浮點數據類型浮點數據用來存儲系統(tǒng)所能提供的最大精度保留的實數數據。,7,5.1SQLServer表概述,(3)精確數值數據類型精確數值數據類型用于存儲有小數點且小數點后位數確定的實數。格式:decimal[(p[,s])]numeric[(p[,s])](4)貨幣數據類型除了decimal和numeric類型適用于貨幣數據的處理外,SQLServer還專門提供了兩種貨幣數據類型:money和smallmoney。,8,5.1SQLServer表概述,5.其他數據類型除了以上4種基本數據類型,SQLServer還支持其他一些數據類型。(1)Timestamp:時間戳數據類型,用于自動記錄插入或刪除操作的時間。注意:服務器不允許用戶指定時間戳值。(2)sql_variant:可變數據類型。該類型的變量可用來存放大部分SQLServer數據類型的值,最大長度為8016字節(jié),不支持text、ntext、timestamp和sql_variant類型。(3)table:表類型。這是一種特殊的數據類型,存儲供以后處理的結果集。(4)uniqueidentifier:GUID類型(GlobalUniqueIDentifier,全局惟一標識符)。,9,5.1SQLServer表概述,空值(NULL)空值不同于空白(空字符串)或數值零,通常表示未填寫、未知(Unknown)、不可用或將在以后添加的數據。默認值是指表中數據的默認取值,默認值對象是數據庫的對象不依附于具體的表對象,即默認值對象的作用范圍是整個數據庫。約束約束定義了關于列中允許值的規(guī)則,SQLServer通過限制列中數據、行中數據和表之間數據來保證數據的完整性。(1)非空值約束(NotNull)(2)默認約束(Default)(3)惟一性約束(Unique)(4)主鍵約束(PrimaryKey,也稱主關鍵字約束)(5)外鍵約束(ForeignKey,也稱為外部關鍵字約束),10,5.2表的創(chuàng)建與維護,使用SQLServer管理平臺對表進行操作使用SQLServer管理平臺創(chuàng)建和修改表使用SQLServer管理平臺設計數據庫關系在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(學號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)數據類型,并且不允許為空。ALTERTABLEemployeeALTERCOLUMNaddressvarchar(150)NOTNULLGO注意:一定要確認已有的數據中列address均不為空后,才能進行此操作。,19,5.2表的創(chuàng)建與維護,使用Transact-SQL語句刪除表語句格式如下:DROPTABLEtable_name其中,table_name是要刪除的表名。注意:(1)定義有外鍵約束的表必須先刪除外鍵約束,才能刪除。(2)系統(tǒng)表不能使用DROPTABLE語句刪除。,20,5.2表的創(chuàng)建與維護,例5-8刪除當前數據庫內的表。USESalesGODROPTABLEemployee本例從當前數據庫Sales中刪除employee表及其數據和索引。例5-9刪除另外一個數據庫內的表。DROPTABLESales.dbo.employee本例刪除Sales數據庫內的employee表??梢栽谌魏螖祿靸葓?zhí)行此操作。,21,5.3表中數據的維護,對表中數據進行維護有兩種方法:使用SQLServer管理平臺使用Transact-SQL語句插入數據語法格式如下:INSERT[INTO]{table_name|view_name}{[(column_list)]{VALUES(value_list)|derived_table|execute_statement}}|DEFAULTVALUES,22,5.3表中數據的維護,例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表中數據的維護,修改數據語法格式:UPDATE{table_name|view_name}SET{{column_name|@variable}=expression}[,...n][FROM{}[,...n]][WHERE],24,5.3表中數據的維護,例5-14使用簡單的UPDATE語句。UPDATECustomer2SETlinkman_name=佚名,address=NULL,telephone=‘例5-15在UPDATE語句中使用WHERE子句。UPDATECustomer2SETtelephone=0731-+telephoneWHERELEN(telephone)=7,25,5.3表中數據的維護,例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表中數據的維護,刪除數據1.DELETE語句DELETE語句可刪除表或視圖中的一行或多行,每一行的刪除都將被記入日志。DELETE語句的語法格式如下:DELETE[FROM]{table_name|view_name}[FROM{}[,...n]][WHERE{- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 管理 數據庫 天津大學
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://appdesigncorp.com/p-3585137.html