Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Ch7. 資料的新增、修改以及刪除 結構化查詢語言 SQL 介紹 結構化查詢語言 SQL 介紹 使用 SSMSE 與 SQL 新增 / 刪除 / 修改資料 使用 SSMSE 與 SQL 新增 / 刪除 / 修改資料 Ch8. 基本資料查詢 使用 SQL 作基本資料查詢 使用 SQL 作基本資料查詢.

Similar presentations


Presentation on theme: "1 Ch7. 資料的新增、修改以及刪除 結構化查詢語言 SQL 介紹 結構化查詢語言 SQL 介紹 使用 SSMSE 與 SQL 新增 / 刪除 / 修改資料 使用 SSMSE 與 SQL 新增 / 刪除 / 修改資料 Ch8. 基本資料查詢 使用 SQL 作基本資料查詢 使用 SQL 作基本資料查詢."— Presentation transcript:

1 1 Ch7. 資料的新增、修改以及刪除 結構化查詢語言 SQL 介紹 結構化查詢語言 SQL 介紹 使用 SSMSE 與 SQL 新增 / 刪除 / 修改資料 使用 SSMSE 與 SQL 新增 / 刪除 / 修改資料 Ch8. 基本資料查詢 使用 SQL 作基本資料查詢 使用 SQL 作基本資料查詢 結合 (JOIN) 兩張以上資料表 結合 (JOIN) 兩張以上資料表 Ch9. 系統函數與進階資料查詢 常用數學、時間、字串以及集總函數 常用數學、時間、字串以及集總函數 使用視覺化工具查詢資料 使用視覺化工具查詢資料 Ch10. 資料索引的重要性與建立技巧 索引的類型 索引的類型 如何建立索引並監控索引的效能 如何建立索引並監控索引的效能 第三篇資料定義與操作

2 2 資料的新增、修改 以及刪除 第七章

3 3 Chapter 7 Outline 7-1 結構化查詢語言介紹 7-2 使用 SSMSE 執行 T-SQL 7-3 使用 SSMSE 新增資料錄 7-4 使用 T-SQL 新增資料錄 7-5 使用 SSMSE 修改資料錄內容 7-6 使用 T-SQL 修改資料錄內容 7-7 使用 SSMSE 刪除資料錄 7-8 使用 T-SQL 刪除資料錄 7-9 本章總結

4 4 7-1 結構化查詢語言介紹 結構化查詢語言 Structured Query Language /SQL ) 是關聯式資料模式的標準資料庫語言,亦稱為關聯 式資料庫語言 (Relational Database Language) 。 特點 : 易懂、易學、平易近人。 特點 : 易懂、易學、平易近人。 1986 年 ANSI 為不同的 SQL 訂標準語法 1987 年 ISO 將其納為國際標準 有 SQL-89 、 SQL-92(SQL2) 等標準 所有發展 RDBMS 的廠商都聲稱他們的 SQL 相容於 SQL-92 ,但是為了提高產品的競爭力,也都會推 出他們特別的 SQL 語法以加強使用的功能與便利性。

5 5 7-1 結構化查詢語言介紹 ( 續 ) SQL 的功能 (Functions of SQL) 資料定義 (Data Definition) 資料定義 (Data Definition) 資料操作 (Data Manipulation) 資料操作 (Data Manipulation) 資料控制 (Data Control) 資料控制 (Data Control) SQL = DDL + DML + DCL SQL 與 SQL Server 2005 的關係 在 SQL Server 2005 中的 SQL 稱之為 Transact- SQL( 簡稱 T-SQL) 。當然, T-SQL 也包含了資 料定義、資料操作、以及資料控制等功能。 在 SQL Server 2005 中的 SQL 稱之為 Transact- SQL( 簡稱 T-SQL) 。當然, T-SQL 也包含了資 料定義、資料操作、以及資料控制等功能。

6 6 7-1 結構化查詢語言介紹 ( 續 ) Transact-SQL 語法慣例 斜體字: T-SQL 語法提供使用者可輸入之參數。 斜體字: T-SQL 語法提供使用者可輸入之參數。 | ( 分隔號 ) :加上括號或大括號來分隔語法項目, 您只可以選擇其中一的個項目來使用。 | ( 分隔號 ) :加上括號或大括號來分隔語法項目, 您只可以選擇其中一的個項目來使用。 [ ] ( 方括號 ) :選擇性的語法項目,但真正使用 時不需輸入方括號。例如: [a|b] 就是您可以使 用 a 或 b 其中一項 ( 也可以不選 ) 。 [ ] ( 方括號 ) :選擇性的語法項目,但真正使用 時不需輸入方括號。例如: [a|b] 就是您可以使 用 a 或 b 其中一項 ( 也可以不選 ) 。 { } ( 大括號 ) :必要的語法項目,但真正使用時 不需輸入大括號。例如: {a|b} 就是您必須挑選 a 或 b 其中一項 ( 不能不選 ) 。 { } ( 大括號 ) :必要的語法項目,但真正使用時 不需輸入大括號。例如: {a|b} 就是您必須挑選 a 或 b 其中一項 ( 不能不選 ) 。

7 7 7-2 使用 SSMSE 執行 T-SQL 1. 按 [ 新增查詢 ] 按鈕 2. 選擇資料庫 3. 撰寫 SQL 敘述 4. 按 [ 執行 ] 按鈕或 鍵執行 SQL 敘述 如果點選該資料庫 滑鼠右鍵彈出式選 單的 [ 新增查詢 ] 選項 就不用步驟 2 選取資 料庫了喔!

8 8 7-2 使用 SSMSE 執行 T-SQL 在 SSMSE 中除了可以自行撰寫 SQL 敘述之 外,也可以從檔案讀取,就建立 TeadeDB 一樣 讀取指令檔時系統會要求輸入一組正確的 登入帳號與密碼。由於目前還未建立其他 的帳號,所以使用 sa 或是 Administrator 登入, 但其預設的資料庫為 master ,因此必須注 意選擇正確的資料庫,或依 16-2 更改登入 的預設資料庫。

9 9 7-2 使用 SSMSE 執行 T-SQL 在 SSMSE 中點選主畫面的 [ 工具 ]  [ 選項 ] 就可 以進入設定環境、文字編輯器 … 等功能畫面。

10 10 7-3 使用 SSMSE 新增資料錄 使用 SSMSE 來新增資料非常簡單,就像在 表格內填資料一樣,但是有一點要注意的 就是具有 FK 的資料表如果無法參照到對應 的值就會無法插入。 現在就以加入一筆訂單為例,客戶編號為 1013 的保華工業欲購買一台點陣式印表機 與一台網路雷射印表機 首先請在 SSMSE 中開啟 orders 資料表 首先請在 SSMSE 中開啟 orders 資料表

11 11 7-3 使用 SSMSE 新增資料錄 移動資料輸入 的指標 直接輸入資料 即可

12 12 7-4 使用 SQL 新增資料錄 為何需要使用 T-SQL 來輸入資料? 可供應用程式使用 可供應用程式使用 可以使用批次或整批方式輸入資料 ( 例如建立 TradeDB 資料庫、資料表以及內含的資料就是 使用 SQL 敘述的方式 ) 可以使用批次或整批方式輸入資料 ( 例如建立 TradeDB 資料庫、資料表以及內含的資料就是 使用 SQL 敘述的方式 ) 使用 INSERT 新增資料的簡易語法如下: INSERT [INTO] table_name[ ( column_list ) ] { VALUES ( { DEFAULT | NULL | expression } [,...n ] ) | execute_statement }

13 13 7-4 使用 SQL 新增資料錄 table_name :欲新增資料的資料表名稱 DEFAULT :該欄位使用預設值 NULL :該欄位使用 NULL 值 Expression :指定該欄位的值,可以是常數、 運算式或是變數等 execute_statement :另一段可執行的 SQL 敘述

14 14 7-4 使用 SQL 新增資料錄 範例 7-3.1 :請在產品資料表 products 中新增 一筆資料,編號為 120 、供應商代碼為 HHT 、 品名為 ‘ 新產品一 ’ 、價格為 280 insert into products values(120,'HHT',' 新產品一 ',280) insert into products values(120,'HHT',' 新產品一 ',280) 範例 7-3.2 :請新增一筆資料到 orders 資料表 中,訂單日期為 ‘2007/03/13’ 、客戶編號為 1010 。 insert into orders values('2007/03/13',1010,NULL) insert into orders values('2007/03/13',1010,NULL)

15 15 7-4 使用 SQL 新增資料錄 使用識別的欄位不用輸入資料,如果想要 寫入特定資料時就必須 使用 SET IDENTITY_INSERT table_name ON; 使用 SET IDENTITY_INSERT table_name ON; 在寫 SQL 敘述時必須將資料表的欄位都寫出來 在寫 SQL 敘述時必須將資料表的欄位都寫出來 範例 7-3.3 :請新增一筆資料到 orders 資料表中, order_num=200 、訂單日期為 ‘ 2007/03/13 ’ 、 客戶編號為 1010 。 範例 7-3.3 :請新增一筆資料到 orders 資料表中, order_num=200 、訂單日期為 ‘ 2007/03/13 ’ 、 客戶編號為 1010 。 SET IDENTITY_INSERT orders ON; -- 開啟 orders 之 IDENTITY_INSERT insert into orders(order_num,cust_num,order_date) values(200,1010,'2007/03/13'); SET IDENTITY_INSERT orders OFF;-- 使用後關閉,繼續讓系統自動產生

16 16 7-4 使用 SQL 新增資料錄 範例 7-3.5 :請將 TradeDB 中的 orders 資料全部抄 寫到 mydb 的 orders 資料中。 SET IDENTITY_INSERT [mydb].[dbo].[orders] ON SET IDENTITY_INSERT [mydb].[dbo].[orders] ON insert into [mydb].[dbo].[orders](order_num,order_date,customerid) select order_num,order_date,cust_num from orders SET IDENTITY_INSERT [mydb].[dbo].[orders] ON; 本範例就是執行一段 SQL 敘述作資料大量輸入的 典型例子

17 17 7-5 使用 SSMSE 修改資料錄的內 容 與新增資料使用方法類似,找到想要修改 的資料後進行修改即可。 1. 先找到欲修改的 資料錄 2. 將輸入焦點移到欲修改的欄 位,可按 鍵放棄修改。 輸入焦點一旦離開該欄位就表 示修改完成。

18 18 7-6 使用 T-SQL 修改資料錄的內容 使用 SQL 敘述修改資料內容是使用 UPDATE ,使用 UPDATE 也有一次可以更 動很多筆資料的好處,其語法結構如下 : UPDATE table_name SET column_name = { expression | DEFAULT | NULL } [,...n ] [FROM ] [ WHERE ] UPDATE table_name SET column_name = { expression | DEFAULT | NULL } [,...n ] [FROM ] [ WHERE ] table_source :資料表來源table_source :資料表來源 search_condition :限制的條件,依照該限制條件來 作更新search_condition :限制的條件,依照該限制條件來 作更新

19 19 7-6 使用 T-SQL 修改資料錄的內容 範例 7-5.1 :請將客戶 1018 的公司名稱改為「新 公司一」、電話號碼改為 ’02-33333333’ 。 update customers set cust_name = ' 新公司一 ', phone = '0233333333' where cust_num = 1018 update customers set cust_name = ' 新公司一 ', phone = '0233333333' where cust_num = 1018 範例 7-5.2 :修改內容除了固定的指定值之外, 也可以是運算式,例如:將每一項產品的單價修 訂為原單價的 105% update products set unit_price = unit_price * 1.05 update products set unit_price = unit_price * 1.05

20 20 7-6 使用 T-SQL 修改資料錄的內容 範例 7-5.3 :由於在訂單編號 118 之後變更了產品 價格,請使用 UPDATE 方式更新 items 內產品的價 格。 update items set unit_price =products.unit_price update items set unit_price =products.unit_price -- 將 products 中的價格指定給 items -- 將 products 中的價格指定給 items from products -- 從 products 資料表讀取資料 where items.prod_num = products.prod_num and items.supp_code=products.supp_code and order_num>118 -- 這是 products 中的 PK ,這樣才能唯一確認產品

21 21 7-7 使用 SSMSE 刪除資料錄 在 SSMSE 中找到資料錄後刪除即可 1. 找到資料後 點選滑鼠右鍵 2. 選擇 [ 刪除 ] 選 項

22 22 7-8 使用 T-SQL 刪除資料錄 SQL 刪除資料錄是使用 DELETE ,也是可以 一次刪除很多筆符合條件的資料錄,其語 法如下: DELETE [ FROM ] table_name [FROM [,...n ] ] [ WHERE ] DELETE [ FROM ] table_name [FROM [,...n ] ] [ WHERE ] 與 UPDATE 語法類似,也能以其他資料表為基 礎來刪除資料。該語法可解讀為「由 table_name 資料表中刪除所有符合 condition 條 件的資料錄 與 UPDATE 語法類似,也能以其他資料表為基 礎來刪除資料。該語法可解讀為「由 table_name 資料表中刪除所有符合 condition 條 件的資料錄

23 23 7-8 使用 T-SQL 刪除資料錄 範例 7-7.1 :請刪除 [mydb].[dbo].[orders] 中 訂單編號為 200 的資料錄 delete from [mydb].[dbo].[orders] where order_num = 200 delete from [mydb].[dbo].[orders] where order_num = 200 範例 7-7.2 :請刪除 [mydb].[dbo].[orders] 資 料表中所有的資料錄 delete from [mydb].[dbo].[items]; delete from [mydb].[dbo].[orders]; Why? 為何刪除 orders 要先刪除 items ?

24 24 7-9 本章總結 結構化查詢語言( Structured Query Language/SQL ) 是關聯式資料模式的標準資料庫語言,亦可稱為關 聯式資料庫語言( Relational Database Language ) SQL 基本上都會提供資料定義( Data Definition )、 資料操作( Data Manipulation )以及資料控制 ( Data Control )的功能。 在 SSMSE 中可以輕鬆的新增、刪除以及修改資料 錄,缺點就是尋找正確的資料較為困難,但是可以 搭配使用 SQL 敘述來縮小資料的範圍。 使用 INSERT 、 DELETE 、 UPDATE 敘述可以在一 資料表中作資料的新增、刪除以及修改。


Download ppt "1 Ch7. 資料的新增、修改以及刪除 結構化查詢語言 SQL 介紹 結構化查詢語言 SQL 介紹 使用 SSMSE 與 SQL 新增 / 刪除 / 修改資料 使用 SSMSE 與 SQL 新增 / 刪除 / 修改資料 Ch8. 基本資料查詢 使用 SQL 作基本資料查詢 使用 SQL 作基本資料查詢."

Similar presentations


Ads by Google