a70cac61ddb116c2adc5707d262a7604.ppt
- Количество слайдов: 60
SQL - Structure Query Language (Part 1) ภาษามาตรฐานสำหรบนยามขอ มลและการใชขอมล 4122206 A ระบบจดการฐานขอมล 3(2 -2) อ. ชนดา เรองศรวฒนกล
วตถประสงค • สามารถอธบายแนวคดและการใช SQL ได • นำ SQL ไปใชเพอใหเกดประโยชนได
ความเปนมาของภาษา SQL ในป ค. ศ 1974 ศนยวจย IBM ไดพฒนา RDBMS (Relational database Management System) ทชอวา System R เพอทดลองใชงาน และแสดงใหเหนถงความงายของการใชง านฐานขอมลเชงสมพนธ จงไดทำการพฒนาภาษาทเรยกวา SEQUEL (Structured English Query language) เปนสวนประกอบของ RDBMS
ภาษา SQL • สามารถสรางและปฏบตการกบฐาน ขอมลเชงสมพนธโดยเฉพาะ Structured Query Language • สำหรบใชกบ Relational Database • อยในรปแบบของภาษาองกฤษ
ภาษา SQL • Structured Query Language
ภาษา SQL
ภาษา SQL
Operator (ตวปฏบตการ ) ทใชใน SQL • ตวเปรยบเทยบ (Comparison operators( – ไดแกเครองหมาย , => , < , > , = <> , =< • ตวปฏบตการทางดานลอจก (Logical operators( – AND – OR
Operator (ตวปฏบตการ ) ทใชใน SQL • ตวปฏบตการพเศษ (Special operators( – BETWEEN ตรวจสอบชวงของคาใน Attribute – IS NULL ตรวจสอบวามคาวางหรอไม – LIKE ตรวจสอบคา String ใน Attribute วามสวน คลายกบทกำหนดไวหลง LIKE หรอไม
ฟงกชนสรป (Aggregate functions) ทใชใน SQL • COUNT ใชสำหรบนบคา • MIN หาคาตำสด • MAX หาคาสงสด • SUM หาผลรวม • AVG หาคาเฉลย
ประเภทของคำสงขอ งภาษา SQL 1. ภาษาสำหรบการนยามขอม ล (Data Definition Language : DDL (. 2 ภาษาสำหรบการจดการขอม ล (Data Manipulation
ประเภทของคำสงขอ งภาษา SQL
1. Data Definition Language : DDL • เปนกลมคำสงทใชกระทำกบโค รงสรางของฐานขอมล • ตวอยางคำสง เชน – CREATE Database สรางฐานขอมลใหม – CREATE Table สรางตาราง – ALTER ใชแกไข /เปลยนแปลงตาราง – DROP Database
คำสง SQL : DDL • CREATE Database : เปนคำสงในการสรางฐานขอมล โดยการระบชอฐานขอมลทตองกา ร – รปแบบการใชคำสง CREATE Database ชอฐานขอมล ตวอยาง CREATE Database student_db; ;
คำสง SQL : DDL • DROP Database : เปนคำสงในการลบ – รปแบบการใชคำสง DROP Database ชอฐานขอมล ตวอยาง DROP Database student_db; ;
คำสง SQL : DDL • CREATE TABLE : สรางตาราง – รปแบบการใชคำสง CREATE TABLE ชอตาราง ( ชอคอลมน 1 ชนดขอมล Constraint, ชอคอลมน 2 ชนดขอมล Constraint, PRIMARY KEY (ชอคอลมน , ( FOREIGN KEY (ชอคอลมน ) REFERENCES ชอตาราง ,
ชนดของขอมลทใช ในภาษา SQL – จำนวนเลข (Number( • เลขจำนวนจรง (Number) เกบเลขทเปนจำนวนเตมหรอเป นทศนยม รปแบบทใชคอ NUMBER • เลขจำนวนเตม (Integer) รองรบเลขได 11 หลก รปแบบทใชคอ INTEGER หรอ INT • เลขจำนวนเตมขนาดเลก (Small
ชนดของขอมลทใช ในภาษา SQL – ตวหนงสอ • ความยาวคงท (Fixed-length Character) เกบขอมลไดสงสด 255 ตวอกษร รปแบบทใชคอ CHAR • ความยาวไมคงท เกบขอมลไดสงสด 255 ตวอกษร (Variable-length
คำสง SQL : DDL ชอตาราง • CREATE TABLE – ตวอยาง ชนดข Constra CREATE TABLE EMPLOYEE ( int อมล ID CHAR(5) NOT NULL , NAME VARCHAR(35) NOT NULL , ADDRESS VARCHAR(15) NOT NULL , PHONE CHAR(8) NOT NULL , E-MAIL CHAR(1) NOT NULL , PRIMARY KEY (ID) ); ให ID เปน PK
คำสง SQL : DDL CREATE TABLE PRODUCT ( P_CODE VARCHAR(10) NOT NULL , P_DESCRIPT VARCHAR(35) NOT NULL , P_INDATE NOT NULL , P_ONHAND SMALLINT NOT NULL , P_MIN SMALLINT NOT NULL , P_PRICE NUMBER NOT NULL , P_DISCOUNT NUMBER NOT NULL , ID CHAR(5) , ให ID เปน FK PRIMARY KEY (P_CODE) , FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID) );
คำสง SQL : DDL • ALTER TABLE : เปลยนแปลงตาราง – รปแบบการใชคำสง ALTER TABLE ชอตาราง (คำสงการเปลยนแปลง ชอคอลมน ชนดขอมล ); เชน - คำสงการเปลยนแปลง - ADD เพมคอลมน - ALTER เปลยนแปลงชนดขอมล - DROP ลบคอลมน
คำสง SQL : DDL • ALTER TABLE : เปลยนแปลงตาราง – ตวอยาง • ALTER TABLE PRODUCT ADD SALECODE VARCHAR(10); • ALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50); • ALTER TABLE PRODUCT DROP SALECODE;
คำสง SQL : DDL • DROP TABLE : ลบตาราง – รปแบบการใชคำสง DROP TABLE ชอตาราง ; – ตวอยาง DROP TABLE PRODUCT; DROP TABLE EMPLOYEE; DROP TABLE PROJECT;
2. Data Manipulation Language : DML • เปนกลมคำสงทกระทำก บขอมลในฐานขอมล • ตวอยางคำสง เชน – SELECT ใชเรยกขอมลในตารางมาแสดงผ ล – INSERT ใชเพมขอมลเขาไปในตาราง
คำสง SQL : DML • SELECT : เลอกแถว (Row) จาก Table – รปแบบการใชคำสง SELECT ชอคอลมนทตองการดขอมล FROM ชอตาราง WHERE เงอนไข ; – ตวอยาง • ตองการดขอมลทงหมดในตาราง • SELECT * FROM PRODUCT; PRODUCT
คำสง SQL : DML • SELECT : เลอกแถว (Row) จาก Table – ตวอยาง SELECT Book_name, Author FROM Book WHERE Book_id = '0001';
ตวอยาง : SELECT First. Name, Last. Name FROM Personal; Personal First. N Last. N Amp ame hur มานะ พากเพ เมอง ยร อดทน ตงใ เมอง ผลลพธ First. N Last. Na ame me มานะ พากเพ ยร อดทน ตงใจ เรยน
แสดงชอลกคา , ทอยลกคา Select Name, Addr from customer; Name Addr ---------โสภา สคลำ กรงเทพฯ ศร สขพานช กรงเทพฯ สมชาย มสะอาด เชยงใหม อมร ศรวฒนกล ลำพน วรชาต สคลำ อยธยา วมลลกษณ โพธศร สโขทย อนนต บญญานพงศ กรงเทพฯ . . .
แสดงขอมลลกคา ทอยกรงเทพฯ และมเครดต มากกวา 350000 Select * from customer Where Addr = "กรงเทพฯ " and Credit > 350000; Id Name Addr Tel Credit Curr_Bal -------------110 ศร สขพานช กรงเทพฯ 2520091 400000 200000
คำสง SQL : DML • SELECT : เลอกแถว (Row) จาก Table – ตวอยาง • ตองการดรายชอสนคา (P_Name) วนทสนคาเขามา (P_DATE) ราคา (P_Price) และผคาสง (V_Code) โดยใหดสนคาเฉพาะสนคาทสงมาจ ากผคาสงทมรหส V 0004 SELECT P_Name, P_DATE, P_Price, V_CODE
ตวอยาง : WHERE(=) SELECT * FROM Personal WHERE Amphur = “เมอง ”; Personal First. N Last. N Amp ame hur มานะ พากเพ เมอง ยร อดทน ตงใจ เมอง เรยน ผลลพธ First. N Last. Na Amph ame me ur มานะ พากเพ เมอง ยร อดทน ตงใจ เมอง เรยน
ตวอยาง : WHERE (IN( SELECT * FROM Personal WHERE Amphur IN (“เมอง ”, “จน ”) Personal First. N Last. Na Amph ame me ur มานะ พากเพ เมอง ยร อดทน ตงใจ จน เรยน ผลลพธ First. N Last. Na Amph ame me ur มานะ พากเพ เมอง ยร อดทน ตงใจ จน เรยน
ตวอยาง : WHERE (LIKE( SELECT * FROM Personal WHERE First. Name LIKE “มา%” ; Personal First. N Last. Na Amph ame me ur มานะ พากเพ เมอง ยร อดทน ตงใจ เมอง เรยน ผลลพธ First. N Last. Na Amph ame me ur มานะ พากเพ เมอง ยร มาน หมน ปง เพยร
คำสง SQL : DML • INSERT : เพมแถว Table (Row) ลงใน – รปแบบการใชคำสง INSERT INTO ชอตาราง (ขอมลทกคอลมน ) VALUES – ตวอยาง INSERT INTO VENDOR VALUES ('V 0001', 'บรษทไบรซน '223 -3234', 'TN', 'Y'); INSERT INTO PRODUCT VALUES ('P 0000001', 'หวพนส ', 'สมย ', '615', ', '03 -NOV-2003',
ตวอยาง : INSERT INTO Orders(Prod. ID, Product, Emp. ID) VALUES (999, “Ram”, “ 02”) ; Orders Prod. ID Produc Emp. I t D 234 Printer 01 657 Table 03 865 Chair 03
คำสง SQL : DML • UPDATE : แกไขขอมลในตาราง –รปแบบการใชคำสง UPDATE ชอตาราง SET ชอคอลมน = ขอมลใหม WHERE เงอนไข ;
คำสง SQL : DML • UPDATE : แกไขขอมลใน Table –ตวอยาง • UPDATE PRODUCT SET P_DATE = ’ 18 -JAN-2004’ WHERE P_CODE = ‘P 0000007’; • แกไขขอมลวนทสนคาเขาคลง (P_DATE)
คำสง SQL : DML • UPDATE : แกไขขอมลใน Table –ตวอยาง • UPDATE Book SET Author = ’สมโชค’ WHERE Book_name = ‘ระบบฐานขอมล ; ’ • แกไขขอมลผแตง (Author)
คำสง SQL : DML • UPDATE : แกไขขอมลใน Table –ตวอยาง • UPDATE Book SET Author = ’สมควร’, publisher=‘ดอกหญา ’ WHERE Book_id = ‘ 00015; ’ แกไขขอมลผแตง (Author)
ตวอยาง : UPDATE แบบไมระบแถว UPDATE Employees SET Name = “FOX” ; Employees Emp. ID Name 01 ANT 02 BAT 03 CAT 04 DOG Emp. ID Name 01 FOX 02 FOX 03 FOX 04 FOX
ตวอยาง : UPDATE แบบระบแถว (WHERE( UPDATE Employees SET Name = “FOX” WHERE Emp. ID = “ 04” ; Employees Emp. ID Name 01 ANT 02 BAT 03 CAT 04 DOG Emp. ID Name 01 ANT 02 BAT 03 CAT 04 FOX
คำสง SQL : DML • DELETE : ลบแถว (Row) ออกจากตาราง –รปแบบการใชคำสง DELETE FROM ชอตาราง WHERE เงอนไข ; –ตวอยาง DELETE FROM PRODUCT WHERE P_CODE = 'P 0000016'; DELETE FROM PRODUCT WHERE P_MIN = 5;
ตวอยาง : DELETE แบบระบแถว (WHERE( DELETE FROM Employees WHERE Emp. ID = “ 04” ; Employees Emp. ID Name 01 ANT 02 BAT 03 CAT 04 FOX Employees Emp. ID Name 01 ANT 02 BAT 03 CAT
ตวอยาง : DELETE แบบไมระบแถว DELETE FROM Employees ; Employees Emp. ID Name 01 ANT 02 BAT 03 CAT 04 FOX Employees Emp. ID Name
Operators ในการเปรยบเทยบ • ตว Operators ในการเปรยบเทยบ –= เทากบ –> นอยกวา –=> นอยกวาหรอเทากบ –< มากกวา –=< มากกวาหรอเทากบ
Operators ทางลอจก • ตว Logical operators – AND – OR – NOT ไมเทากบ และ หรอ ตรงกนขาม ,
คำสง SQL : DML • SELECT : เลอกแถว (Row) จาก Table – ตวอยาง แสดงรายละเอยดของหนงสอทกคอล มนทผแตงคอสมชาย และมราคาตำกวา 300 บาท SELECT* FROM Book WHERE Author = ‘สมชาย and prize < ‘
Operators ทางลอจก • ตวอยาง • ตองการดรายชอสนคา (P_DESCRIPT) วนทสนคาเขามา (P_INDATE) ราคาสนคา (P_PRICE) และรหสของผคาสง (V_CODE) โดยใหดเฉพาะสนคาทมราคานอยกว า 500 และวนทสนคาเขามานอยกวาวนท 15 -DEC-2004 SELECT P_DESCRIPT, P_INDATE, P_PRICE, V_CODE
คำสง SQL : DML • SELECT : เลอกแถว (Row) จาก Table – ตวอยาง แสดงรายละเอยดของหนงสอทกคอล มนทผแตงคอสมชาย หรอมราคาตงแต 300 บาทขนไป SELECT* FROM Book WHERE Author = ‘สมชาย or prize => ‘
คำสง SQL : DML • SELECT : เลอกแถว (Row) จาก Table – ตวอยาง • ตองการดรายชอสนคา (P_Name) วนทสนคาเขามา (P_DATE) ราคา (P_Price) และผคาสง (V_Code) โดยใหดสนคาเฉพาะสนคาทสงมาจ ากผคาสงทไมใชรหส V 0004 SELECT P_Name, P_DATE, P_Price, V_CODE
Operators ทางลอจก • ตวอยาง • ตองการดขอมลสนคาทสงจากผ คาสงทกราย ยกเวน V 0006 • SELECT * FROM PRODUCT WHERE NOT (V_CODE = 'V 0006');
Operators ในการคำนวณ • ตว Operators ในการคำนวณ –+ ––* –/ –^ บวก ลบ คณ หาร ยกกำลง
การคำนวณในคำสง และการใชชอแทน • การคำนวณ SQL (Alias( – SELECT P_DESCRIPT, P_ONHAND, P_PRICE, P_ONHAND*P_PRICE FROM PRODUCT; สงเกตเมอม การคำนวณโดยใช P_ONHAND*P_PRI CE ผลลพธทไดจะแ สดงในคอลมน Expr 1003
การคำนวณในคำสง และการใชชอแทน • การคำนวณและใชชอแทน SQL (Alias( – ตองการหาวาสนคาทเหลออยในแต ละตวมมลคารวมแลวเทากบเทาไร – SELECT P_DESCRIPT, P_ONHAND, P_PRICE, P_ONHAND*P_PRICE AS TOTAL_VALUE FROM PRODUCT;
การคำนวณในคำสง และการใชชอแทน SQL (Alias( • การคำนวณและใชชอแทน (Alias( – ตองการแสดงวนทสนคาแตละตวจะ มวนสนสดการรบประกนเมอใด ในทนคดท 90 วน โดยการคดจะคดเรมจากวนทสนค านนเขามาในคลงสนคา – SELECT P_CODE, P_INDATE + 90 AS EXPIRE_DATE
Operators พเศษ (Special operators( • ตว Operators พเศษ – BETWEEN ตรวจคาทอยในชวง – IS NULL ตรวจสอบคาวาง (Null( – LIKE ตรวจสอบวาม Pattern เหมอนกนหรอไม – IN ตรวจสอบวามคาอยใน รายการ (List) หรอไม – EXISTS ตรวจสอบวามการ
Operators พเศษ • ตวอยาง • ตองการดสนคาทมราคาอยระหว าง 50. 00 ถง 100. 00 • SELECT * FROM PRODUCT WHERE P_PRICE BETWEEN 50. 00 AND 100. 00; • SELECT * FROM PRODUCT WHERE P_PRICE > 50. 00 AND
Operators พเศษ • ตวอยาง • ตองการดสนคาทไมไดซอจากผ คาสง (V_CODE เปนคาวาง นนเอง ( • SELECT P_CODE, P_DESCRIPT, V_CODE FROM PRODUCT WHERE V_CODE IS NULL;
Operators พเศษ • ตวอยาง • ตองการดขอมลผคาสงทมผ ทเราตดตอดวย (V_CONTACT) มอกษรขนตนดวย ‘อ’ • SELECT V_NAME, V_CONTACT, V_AREACODE, V_PHONE FROM VENDOR WHERE V_CONTACT LIKE 'อ; '*
Operators พเศษ • ตวอยาง • ตองการดสนคาทสงโดย V 0001 และ V 0006 • SELECT * FROM PRODUCT WHERE V_CODE IN ('V 0001', 'V 0006');
a70cac61ddb116c2adc5707d262a7604.ppt