




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、SQL Server 2000數據庫表的創建和管理 51 表的創建與修改表的創建與修改 52 添加數據信息添加數據信息 53 對已有數據進行管理對已有數據進行管理 54 約束約束5.1 表的創建與修改 5.1.1 字段的屬性 5.1.2 使用 Enterprise Manager創建表 【例5.1】在demo數據庫中創建一個用戶信息表,表名為users,表結構如表5.1所示。 返回目錄字段名數據類型長度允許空Idbigint8 Usernamevarchar20Passwordvarchar20Emailvarchar50Resumevarchar1000Phonevarchar20 5.1.
2、3 5.1.3 使用使用T-SQLT-SQL語句創建表語句創建表 其語法格式如下: CREATE TABLE database_name.owner.|owner.table_name /*指定表名*/ ( /*字段的定義*/ |column_name AS computed_column_expression /*定義計算字段*/ | /*指定表的約束*/ ) ONfilegroup|DEFAULT /*指定存儲表的文件組*/ TEXTIMAGE_ONfilegroup|DEFAULT /*指定存儲text、ntext和image類型數據的文件組*/ 以CREATE TABLE語句創建用戶信
3、息表users 返回目錄5.1.4 5.1.4 修改表修改表1使用使用Enterprise ManagerEnterprise Manager修改表修改表2. 2. 使用使用ALTER TABLEALTER TABLE命令修改表命令修改表ALTER TABLE語句的語法格式如下所示 :ALTER TABLE table_name ALTER COLUMN column_namenew_data_type(precision,scale) NULL|NOT NULL|ADD,n |DROPCONSTRATINTconstraint_name|COLUMN,n 返回目錄 table_name:此參
4、數是指定要修改的表的名稱。 ALTER COLUMN子句:是指定要進行修改表中的字段的屬性。要修改的字段名由column_name給出。 new_data_type:為被修改字段的新的數據類型。 Precision:此參數是指定其數據類型的有效位數。 Scale:此參數是指定數據類型的小數位數。 NULL|NOT NULL:此參數是指定其字段是否可接受NULL。 ADD子句:向表中增加新字段。新字段的定義方法與CREATE TABLE語句中定義字段的方法相同。 DROP子句:從表中刪除字段或約束。COLUMN參數中指定的是被刪除的字段名,constraint_name是被刪除的約束名。 【例5
5、.2】在用戶信息表users中增加一個新字段sex,說明用戶的性別,并將username字段的長度由原來的20改為15。 返回目錄 5.1.4 5.1.4 修改表修改表 3使用使用DROP TABLEDROP TABLE命令刪除表命令刪除表 ALTER TABLE語句的語法格式如下所示:ALTER TABLE table_nameALTER COLUMN column_namenew_data_type(precision,scale)NULL|NOT NULL|ADD,n|DROPCONSTRATINTconstraint_name|COLUMN,n 返回目錄 3使用DROP TABLE命令
6、刪除表 DROP TABLE命令可以刪除一個表和表中的數據及其與表有關的所有索引、觸發器、約束、許可對象(與表相關的視圖和存儲過程,需要用 DROP VIEW 和 DROP PROCEDURE命令來刪除)。 DROP TABLE 命令的語法如下 DROP TABLE table_name 【例5.3】 刪除demo數據庫中的表users drop table demo.dbo.users 返回目錄5.2 添加數據信息添加數據信息可以通過企業管理器工具和T-SQL語句來進行添加數據信息。5.2.1 通過企業管理器添加數據信息通過企業管理器添加數據信息5.2.2 使用使用T-SQL語句添加表數據語
7、句添加表數據INSERT語句通常有兩種形式:一種是添加一條記錄,另一種是添加子查詢的結果;后者可以一次添加多條記錄。INSERT語句語法格式如下所示: INSERT INTO table_name WITH ( .n) | view_name | rowset_function_limited (column_list) VALUES ( DEFAULT | NULL | expression ,.n ) | derived_table | execute_statement | DEFAULT VALUES返回目錄下面說明主要參數與子句的含義: INTO:用在INSERT關鍵字和目標表之間的
8、可選關鍵字。table_name:指目標數據表的表名。WITH ( .n):指定一個或多個目標表允許的表線索,可選。view_name:指定視圖名稱。rowset_function_limited:行集合函數限制 即使用 OPENQUERY或 OPENROWSET函數column_list:指定要添加數據的字段,字段之間用逗號隔開。VALUES:指定對應于column_list的值DEFAULT指定 SQL Server 使用為此字段指定的缺省值Expression:指定一個常數、變量或表達式,表達式中不能含有SELECT或EXECUTE語句。derived_table:指定一個返回數據行的S
9、ELECT語句。execute_statement:指定一個返回SELECT或READTEXT語句的EXECUTE語句,其返回集必須與column_list 中指定的字段一致或兼容。DEFAULT VALUES:讓所有的字段使用缺省值作為添加數據。返回目錄 【例5.4】添加數據到用戶信息表users中use demo insert users (id, username, phone) values(20033506, zhang,使用T-SQL的INSERTSELECT語句來添加多條記錄。 【例5.5】將留言簿數據庫表guestbook_admin中的數據添加到gu
10、estbook_users用戶信息表。 use demo insert guestbook_users select username,Password from guestbook_admin select * from guestbook_users 返回目錄 5.3.15.3.1修改數據信息修改數據信息 其語法如下:UPDATE table_name WITH ( .n) | view_name | rowset_function_limited SET column_name = expression | DEFAULT | NULL | variable = expression |
11、 variable = column = expression ,.n FROM ,.n WHERE | WHERE CURRENT OF GLOBAL cursor_name | cursor_variable_name OPTION ( ,.n )返回目錄5.3 對已有數據進行管理其中主要參數說明如下:table_name:此參數是用來指定要進行修改記錄的表名。WHERE:此參數是用來設置篩選要進行修改記錄的條件式。SET子句:用于指定更新的方法。FROM:此參數是用來指定提供修改作業條件的表名。column_name:指定要更新數據的字段。IDENTITY字段不能被更新。expressi
12、on:可以是常量、變量、表達式或返回單個值的子查詢。DEFAULT:指定使用已經定義的缺省值作為字段的值。NULL:指定使用 NULL 值作為字段的值。 variable:事先定義的變量,用于存儲表達式的值。應注意,SET variable = column = expression將變量和字段設定為與表達式相同的值,它與 SET variable = column, column = expression語句不同,后者將字段的值賦給變量后再將表達式的值賦給字段。 【例5.6】將users表內的性別字段內容,都改為“男”use demoUPDATE usersSET sex男where sex
13、女Go 【例5.7】修改users表內的所有用戶的username后綴為user。 Use demoupdate usersset username = username +userGO 返回目錄5.3 對已有數據進行管理 5.3.2 5.3.2 刪除數據信息刪除數據信息在TSQL語句中,提供了DELETE 和TRUNCATE TABLE命令來刪除表中的數據信息。DELETE語句的語法如下所示:DELETE FROM table_name WITH ( .n) | view_name | rowset_function_limited FROM ,.n WHERE | CURRENT OF G
14、LOBAL cursor_name | cursor_variable_name OPTION ( ,.n)返回目錄其中主要參數說明如下FROM:此參數為可選選項,用于連接DELETE關鍵字和要刪除數據的對象名稱。table_name:指定要刪除數據的表名。WITH ( .n):指定一個或多個目標表允許的表提示。view_name:指定用于刪除數據的視圖。rowset_function_limited:行集合函數限制。即使用OPENQUERY或OPENROWSET 函數。FROM :指定一個額外的 FROM 子句。WHERE:指定限制數據刪除的條件。如果不指定WHERE子句,就會刪除表中的所有
15、數據。在WHERE子句中指定兩種形式的刪除操作:一種是搜索刪除,即使用搜索條件來限定要刪除的數據行。 另一種是定位刪除,即使用CURRENT OF子句來指定一個游標,刪除操作會在游標的當前位置產生 定位刪除,比搜索刪除更精確。返回目錄【例5.8】刪除users表中Id為20033506的用戶記錄。 use demoDELETE FROM userswhere Id = 20033506 GO 【例5.9】刪除users表中所有用戶的信息記錄。 use demoDELETE FROM usersGO 返回目錄5.4 表的約束 約束(Constraint)是 Microsoft SQL Serve
16、r 提供的自動保持數據庫完整性的一種方法。在SQL Server中創建一個表時,有5種約束類型: 主關鍵字約束(Primary Key Constraint) 外關鍵字約束(Foreign Key Constraint) 惟一性約束(Unique Constraint) 檢查約束(Check Constraint) 缺省約束(default Constraint)1. .主關鍵字約束主關鍵字約束也稱主鍵約束,能惟一地指定一行記錄。每一個主鍵字段的定義不允許為NULL屬性。一個表的定義只能有一個主鍵約束。定義主關鍵字約束的語法如下 CONSTRAINT constraint_name PRIMA
17、RY KEY CLUSTERED | NONCLUSTERED column_name1, column_name2,column_name16 返回目錄各參數說明如下:constraint_nam:指定約束的名稱。CLUSTERED|NONCLUSTERED:指定索引類別,CLUSTERED為缺省值。column_name:指定組成主關鍵字的字段名,主關鍵字最多由16個字段組成。【例5.11】在留言簿數據庫(庫名為demo)中, 創建一個留言信息表guestbook_messages, 以留言編號為主關鍵字。CREATE TABLE dbo.guestbook_messages ( id b
18、igint IDENTITY (1, 1) NOT NULL , username char (20) COLLATE Chinese_PRC_CI_AS NULL , subject char (100) COLLATE Chinese_PRC_CI_AS NULL , content char (1000) COLLATE Chinese_PRC_CI_AS NULL , date datetime NULL constraint pk_ id primary key (id) ON PRIMARYGO返回目錄5.4 表的約束 2.外關鍵字約束 當一個表中的一個字段或多個字段的組合和其它表
19、中的主關鍵字定義相同時,就可以將這些字段或字段的組合定義為外關鍵字。 作用:1.在更新字段值時,其它表中有與之相關聯的外關鍵字約束的表中的外關鍵字字段也將被相應地做相同的更新. 2.插入數據時,如果與之相關聯的表的字段中無與插入的外關鍵字字段值相同的值時,系統會拒絕插入數據. 定義外關鍵字約束的語法如下 CONSTRAINT constraint_name F O R E I G N K E Y c o l u m n _ n a m e 1 , column_name2,column_name16 REFERENCES ref_table ref_column1,ref_column2, r
20、ef_column16 ON DELETE CASCADE | NO ACTION ON UPDATE CASCADE | NO ACTION NOT FOR REPLICATION 返回目錄各參數說明如下 REFERENCES:指定要建立關聯的表的信息ref_table:指定要建立關聯的表的名稱ref_column指定要建立關聯的表中的相關字段的名稱ON DELETE CASCADE | NO ACTION:指定在刪除表中數據時,對關聯表所做的相關操作。ON UPDATE CASCADE | NO ACTION:指定在更新表中數據時,對關聯表所做的相關操作。 NOT FOR REPLICAT
21、ION:指定字段的外關鍵字約束在把從其它表中復制的數據插入到表中時不發生作用。 【例5.12】 創建一個留言用戶信息表guestbook_users,與前面創建的留言信息表相關聯。CREATE TABLE dbo.guestbook_users (userid bigint IDENTITY (1, 1) NOT NULL , username char (20) COLLATE Chinese_PRC_CI_AS NULL , password char (20) COLLATE Chinese_PRC_CI_AS NULL constraint pk_userid primary key
22、(userid) ,foreign key(id) references products(id) ON PRIMARYGO返回目錄 5.4 表的約束3. 惟一性約束惟一性約束指定一個或多個字段的組合的值具有惟一性,以防止在字段中輸入重復的值。惟一性約束指定的字段可以有NULL屬性。由于主關鍵字值是具有惟一性的,因此主關鍵字字段不能再設定惟一性約束。惟一性約束最多由16個字段組成,并且一個表最多可有250個唯一性約束。定義惟一性約束的語法如下 CONSTRAINT constraint_name UNIQUE CLUSTERED | NONCLUSTERED column_name1, col
23、umn_name2,column_name16 返回目錄【例5.13】創建一個用戶信息表,其中用戶的手機號碼具有惟一性。CREATE TABLE dbo.users ( id bigint IDENTITY (1, 1) NOT NULL , u s e r n a m e v a r c h a r ( 2 0 ) C O L L A T E Chinese_PRC_CI_AS NULL , p a s s w o r d v a r c h a r ( 2 0 ) C O L L A T E Chinese_PRC_CI_AS NULL , email varchar (50) COLLA
24、TE Chinese_PRC_CI_AS NULL , r e s u m e v a r c h a r ( 1 0 0 0 ) C O L L A T E Chinese_PRC_CI_AS NULL , phone varchar (20) COLLATE Chinese_PRC_CI_AS NULL constraint pk_id primary key (id),constraint uk_phone unique (phone) ON PRIMARYGO返回目錄4.檢查約束檢查約束對輸入字段或整個表中的值設置檢查條件,以限制輸入值,保證數據庫的數據完整性。 可以對每個字段設置符合
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外傷急救培訓標準流程
- T/ZHCA 601-2020食品生產企業消毒技術規范
- 2025西南林業大學輔導員考試試題及答案
- 2025遼寧公安司法管理干部學院輔導員考試試題及答案
- 2025福建江夏學院輔導員考試試題及答案
- 異物窒息急救流程
- 好習慣講衛生
- 健康體育課件
- 中國石油集團長城鉆探工程公司招聘筆試題庫2025
- 2025年心理學基礎知識與應用考試試題及答案
- 湖北武漢歷年中考語文現代文閱讀真題45篇(含答案)(2003-2023)
- 帶貨主播規章制度范本
- 2024中考語文《儒林外史》歷年真題專練(學生版+解析版)
- 數據真實性保證書
- 《內科胸腔鏡術》課件
- 2024年《體育基礎理論》考試題庫(含答案)
- 2024年黑龍江省綏化市中考化學真題試卷(含標準答案)
- 農民工工資代付款方協議模板
- 中醫醫療技術手冊2013普及版
- 藥物合成反應-9合成設計原理
- 跨學科閱讀綱要智慧樹知到期末考試答案章節答案2024年山東師范大學
評論
0/150
提交評論