5.1 กลุ่มภาษา Data Manipulation Language (DML)

Download Report

Transcript 5.1 กลุ่มภาษา Data Manipulation Language (DML)

Chapter 5-1
กลุ่มคำสั่ ง Data Manipulation Language (DML)
โดยอำจำรย์ เกศแก้ ว ประดิษฐ์
สำขำวิชำกำรจัดกำรเทคโนโลยีสำรสนเทศ
[email protected]
1
Data Manipulation Language
(DML)
 เนื้อหาที่เรี ยนในบทนี้
 คาสัง่ ที่ใช้เพิ่มข้อมูลให้กบั Relation
 คาสัง่ ที่ใช้เพิม่ ข้อมูลให้กบั Relation จาก Relation อื่น
 คาสัง่ ที่ใช้เปลี่ยนค่าของข้อมูลใน Relation
 คาสัง่ ที่ใช้ในการลบข้อมูลออกจาก Relation
2
คำสั่ งทีเ่ พิม่ ข้ อมูลให้ กบั Relation
 คาสัง่ โดยทัว่ ไป
o คาสัง่ SQL ที่ใช้ในการเพิ่มข้อมูลให้กบั Relation ได้แก่
คาสัง่ INSERT ซึ่งมีรูปแบบคาสัง่ ดังนี้
เช่น INSERT INTO INVENTORY
VALUES (“ZX001”, “ตะปู”, 10/02/56 , 200,50);
3
คำสั่ งทีเ่ พิม่ ข้ อมูลให้ กบั Relation
 หรื อ
INSERT INTO INVENTORY
(P_CODE,P_NAME,STOCK_DATE,ON_HAND,MIN_QUANT,
PRICE) VALUES (“ZX001”, “ตะปู”, 10/02/56 , 200,50,100);
4
คำสั่ งทีเ่ พิม่ ข้ อมูลให้ กบั Relation
 คาสัง่ ใน Microsoft Access
o คาสั่ง SQL ของ Microsoft Access ที่ใช้กาหนดข้อมูล
ให้กบั Table โดยตรง ได้แก่ คาสั่ง INSERT
INTO
เช่นเดียวกันแต่มีรูปแบบของคาสัง่ ดังนี้
5
คำสั่งทีเ่ พิม่ ข้ อมูลให้ กบั Relation
INSERT INTO target [(field1 [, field2 [,……]])]
VALUES (value1[,value2[,…….]] );
โดยที่ target
หมายถึง ชื่อ Table ที่จะเพิ่มข้อมูล
field1 ,field2,….หมายถึง ชื่อ field ที่จะรับข้อมูล ซึ่งจะกาหนด
หรื อไม่กไ็ ด้ ในกรณี ที่ไม่กาหนด ลาดับที่ของ field จะเป็ นไปตาม
โครงสร้างของ Table นั้น
Value
หมายถึง ข้อมูลที่จะบันทึกลงใน field
6
คำสั่งทีเ่ พิม่ ข้ อมูลให้ กบั Relation
 ตัวอย่างเช่น เพิ่มข้อมูลให้กบั ตาราง Customer ดังต่อไปนี้
Cus_ID
Company
name
Contact
name
001
Thai
Ana
Contact
Title
Address
City
Owner 12 Khum Road London
region
Postcode
-
11000
 INSERT INTO CUSTOMER
(CUS_ID,COMPANYNAME,CONTACTNAME,CONTACTTIT
LE,ADDRESS,CITY,POSTCODE) VALUES (“001”, “Thai”,
“Ana”, “Owner”, “12 Khum Road”,London,11000);
7
คำสั่ งทีเ่ พิม่ ข้ อมูลให้ กบั Relation จำก Relation อืน่
 คาสัง่ โดยทัว่ ไป
o คาสัง่ SQL ที่ใช้นาข้อมูลใน Relation หนึ่ง มาเพิ่มให้กบั อีก
Relation หนึ่ง ได้แก่ คาสั่ง INSERT INTO เช่นเดียวกัน แต่
จะเป็ นคาสัง่ ที่ตอ้ งใช้ร่วมกับคาสัง่ SELECT….FROM ซึ่งมี
รู ปแบบคาสัง่ ดังนี้
INSERT INTO target SELECT …….FROM…
โดยที่ target หมายถึง ชื่อ Relation ที่ตอ้ งการเพิ่มข้อมูล
8
คำสั่ งทีเ่ พิม่ ข้ อมูลให้ กบั Relation จำก Relation อืน่
 จากตัวอย่างข้อมูลต่อไปนี้
Deposit
D_Name
D_Address
สมบูรณ์ กิจเจริ ญ 111 สามเสนใน กทม.
Loan
L_Name
L_Address
กิตติ เจริ ญเกียรติ 171 สามเสนใน กทม.
สมชาย สุ ขดี
77 บางซื่อ กทม.
เทพ นิมิตร
77 บางพลัด กทม.
อรพินทร์ คิดดี
123 ดุสิต กทม.
ดวงใจ แสนดี
99 บางยีข่ นั กทม.
9
คำสั่ งทีเ่ พิม่ ข้ อมูลให้ กบั Relation จำก Relation อืน่
 ให้นกั ศึกษานาข้อมูลลูกค้าในตาราง Deposit ที่ชื่อ “สมชาย สุ ขดี”
มาเป็ นลูกค้าเงินกูใ้ น Relation “Loan”
Loan
L_Name
L_Address
 INSERT INTO LOAN
SELECT D_NAME ,
กิตติ เจริ ญเกียรติ 171 สามเสนใน กทม.
D_ADDRESS FROM
เทพ นิมิตร
77 บางพลัด กทม.
DEPOSIT
WHERE
D_NAME
ดวงใจ แสนดี
99 บางยีข่ นั กทม.
= “สมชาย สุ ขดี” ;
สมชาย สุ ขดี
77 บางซื่อ กทม.
10
คำสั่งทีเ่ พิม่ ข้ อมลู ให้ กบั Relation จำก Relation อื่น
 คาสัง่ ใน Microsoft Access
o คาสั่ง SQL ของ Microsoft Access ที่นาข้อมูล Table หนึ่ง
มาเพิม่ ให้กบั อีก Table หนึ่ง ได้แก่ คาสัง่ INSERT INTO ที่
จะต้องใช้ร่วมกับคาสั่ง Select……..from เช่นเดียวกันแต่มี
รู ปแบบของคาสัง่ ดังนี้
11
คำสั่งทีเ่ พิม่ ข้ อมลู ให้ กบั Relation จำก Relation อื่น
INSERT INTO target [IN extermaldatabase][(field1 [,field2[,….]])]
SELECT …….FROM…….
โดยที่ Source
หมายถึง ชื่อ Table ที่เป็ นต้นแบบ
field1 ,field2,….หมายถึง ชื่อ field ที่จะรับข้อมูล
Target
หมายถึง ชื่อ Table ที่ตอ้ งการเพิ่มข้อมูล
Externaldatabase หมายถึง ชื่อไฟล์ฐานข้อมูลที่เป็ นเจ้าของ Table
ที่กาหนดในส่ วน target
12
คำสั่งทีเ่ พิม่ ข้ อมลู ให้ กบั Relation จำก Relation อื่น
 ใช้คาสั่ง INSERT เพื่อนาข้อมูลของบริ ษทั “Speedy Express”
จาก Table “Customers”
INSERT INTO CUSTOMERS
(CUSTOMERID,COMPANTNAME,PHONE)
SELECT DISTINCTROW SHIPPERS.SHIPPERID,
SHIPPERS.COMPANYNAME, SHIPPERS.PHONE
FROM SHIPPERS WHERE SHIPPERS.COMPANYNAME =
“SPEEDY EXPRESS”;
13
คำสั่ งทีใ่ ช้ เปลีย่ นค่ ำของข้ อมูล Relation
 คาสัง่ โดยทัว่ ไป
o คาสั่ง SQL
โดยทัว่ ไปที่ใช้เปลี่ยนค่าของข้อมูลภายใน
Relation ได้แก่ UPDATE ซึ่งมีรูปแบบคาสัง่ ดังนี้
UPDATE table-name SET changed-attribute WHERE condition
โดยที่ table-name
หมายถึง ชื่อ Relation ที่เป็ นเจ้าของ attribute ที่
ต้องการเปลี่ยนแปลงข้อมูล
Changed-attribute หมายถึง ชื่อ attribute และค่าที่ตอ้ งการเปลี่ยน
Condition หมายถึง เงื่อนไขที่กาหนดกลุ่มข้อมูลที่ตอ้ งการเปลี่ยนค่า
14
คำสั่งทีใ่ ช้ เปลี่ยนค่ ำของข้ อมลู Relation
 จากข้อมูล Relation “Inventory” ซึ่งมีขอ้ มูลดังนี้
P_Code
P_Descript
Stock_
Date
On_
Hand
Min_
Quant
Price
Sale_Code
V_Code
001
เหล็กเส้น 4 หุน
09/08/55
150
50
100
3
45555
002
เหล็กฉาก
05/08/55
200
50
80
5
67777
003
ไม้อดั สัก
05/08/55
50
10
150
1
89666
 เปลี่ยนค่า P_Descript ให้กลายเป็ น “ตะปู”
15
คำสั่งทีใ่ ช้ เปลี่ยนค่ ำของข้ อมลู Relation
 เปลี่ยนค่า P_Descript จาก “เหล็กฉาก” ให้กลายเป็ น “ตะปู”
UPDATE INVENTORY SET P_DESCRIPT = “ตะปู”
P_DESCRIPT = “เหล็กฉาก”
Where
P_Code
P_Descript
Stock_
Date
On_
Hand
Min_
Quant
Price
Sale_Code
V_Code
001
เหล็กเส้น 4 หุน
09/08/55
150
50
100
3
45555
002
ตะปู
05/08/55
200
50
80
5
67777
003
ไม้อดั สัก
05/08/55
50
10
150
1
89666
16
คำสั่งทีใ่ ช้ เปลี่ยนค่ ำของข้ อมลู Relation
 คาสัง่ ใน Microsoft Access
o คาสั่ง SQL
ของ Microsoft Access ที่ใช้ในการ
เปลี่ยนแปลงค่าของข้อมูลใน Table ได้แก่ คาสั่ง UPDATE
เช่นเดียวกันแต่มีรูปแบบของคาสัง่ ดังนี้
UPDATE table SET newvalue WHERE criteria
โดยที่ newvalue หมายถึง ชื่อ field และค่าที่ตอ้ งการบันทึก
table หมายถึง ชื่อ table ที่เป็ นเจ้าของ field ที่กาหนดในส่ วน newvalue
Criteria หมายถึง เงื่อนไขที่กาหนดกลุ่มข้อมูลที่ตอ้ งการเปลี่ยนค่า
17
คำสั่งทีใ่ ช้ เปลี่ยนค่ ำของข้ อมลู Relation
 ตัวอย่าง Update
เพื่อเปลี่ยนชื่ อของลูกค้าบริ ษทั “BBB
Company” ไปเป็ น “New BBB Company”
UPDATE Customers SET Customers.CompanyName = “New BBB
Company” WHERE Customers.CompanyName = “BBB Company”;
18
คำสั่ งทีใ่ ช้ ในกำรลบข้ อมูลออกจำก Relation
 คาสัง่ โดยทัว่ ไป
o คาสั่ง SQL
โดยทัว่ ไปที่ใช้สาหรับลบข้อมูลออกจาก
Relation ได้แก่ คาสัง่ Delete ซึ่งมีรูปแบบคาสัง่ ดังนี้
DELETE FROM table-name WHERE condition
โดยที่ table-name หมายถึง ชื่อ Relation ที่ตอ้ งการลบข้อมูล
Condition หมายถึง เงื่อนไขที่กาหนดกลุ่มข้อมูลที่ตอ้ งการเปลี่ยนค่า
19
คำสั่ งทีใ่ ช้ ในกำรลบข้ อมูลออกจำก Relation
 คาสัง่ ลบข้อมูลของ P_Code ที่มีค่าเป็ น 002
P_Code
P_Descript
Stock_
Date
On_
Hand
Min_
Quant
Price
Sale_Code
V_Code
001
เหล็กเส้น 4 หุน
09/08/55
150
50
100
3
45555
002
เหล็กฉาก
05/08/55
200
50
80
5
67777
003
ไม้อดั สัก
05/08/55
50
10
150
1
89666
DELETE FROM inventory WHERE P_Code = “ 002”
20
คำสั่ งทีใ่ ช้ ในกำรลบข้ อมูลออกจำก Relation
 คาสัง่ ใน Microsoft Access
o คาสั่ง SQL ของ Microsoft Access ที่ใช้ในการลบข้อมูล
ออกจาก Table ได้แก่ คาสั่ง Delete เช่นเดียวกัน แต่จะมี
รู ปแบบคาสัง่ ดังนี้
DELETE [table.*] FROM table WHERE criteria
โดยที่
table หมายถึง ชื่อ table ที่ตอ้ งการลบข้อมูล
Condition หมายถึง เงื่อนไขในการลบข้อมูล
21
คำสั่ งทีใ่ ช้ ในกำรลบข้ อมูลออกจำก Relation
 คาสัง่ ลบข้อมูลของลูกค้าที่มีรหัสเท่ากับ “AAA”
DELETE FROM Customers WHERE Customers.CustomerID = “AAA”
22