1 / 59

SQL - Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

SQL - Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล. 4122206A ระบบจัดการฐานข้อมูล 3(2-2) อ.ชนิดา คำเพ็ง สาขาวิชาเทคโนโลยีสารสนเทศ. วัตถุประสงค์. สามารถอธิบายแนวคิดและการใช้ SQL ได้ นำ SQL ไปใช้เพื่อให้เกิดประโยชน์ได้. ภาษา SQL.

Download Presentation

SQL - Structure Query Language (Part 1) ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL - Structure Query Language (Part 1)ภาษามาตรฐานสำหรับนิยามข้อมูลและการใช้ข้อมูล 4122206A ระบบจัดการฐานข้อมูล 3(2-2)อ.ชนิดา คำเพ็งสาขาวิชาเทคโนโลยีสารสนเทศ

  2. วัตถุประสงค์ • สามารถอธิบายแนวคิดและการใช้ SQL ได้ • นำ SQL ไปใช้เพื่อให้เกิดประโยชน์ได้

  3. ภาษา SQL • สามารถสร้างและปฏิบัติการกับฐานข้อมูลเชิงสัมพันธ์โดยเฉพาะ • Structured Query Language • สำหรับใช้กับ Relational Database • อยู่ในรูปแบบของภาษาอังกฤษ

  4. ภาษา SQL • 􀂄 Structured Query Language

  5. ภาษา SQL

  6. ภาษา SQL

  7. ภาษา SQL • สำหรับใช้กับ Relational Database select name from student

  8. ชนิดของข้อมูลที่ใช้ในภาษา SQL • จำนวนเลข (Number) • เลขจำนวนจริง (Number) เก็บเลขที่เป็นจำนวนเต็มหรือเป็นทศนิยม รูปแบบที่ใช้คือNUMBER • เลขจำนวนเต็ม (Integer) รองรับเลขได้ 11 หลัก รูปแบบที่ใช้คือ INTEGERหรือ INT • เลขจำนวนเต็มขนาดเล็ก (Small integer) รองรับเลขได้ 6 หลัก รูปแบบที่ใช้คือ SMALLINT • เลขทศนิยม (Decimal) รูปแบบที่ใช้คือ DECIMAL

  9. ชนิดของข้อมูลที่ใช้ในภาษา SQL • ตัวหนังสือ • ความยาวคงที่ (Fixed-length Character) เก็บข้อมูลได้สูงสุด 255 ตัวอักษรรูปแบบที่ใช้คือ CHAR • ความยาวไม่คงที่ เก็บข้อมูลได้สูงสุด 255 ตัวอักษร (Variable-length Character) รูปแบบที่ใช้คือVARCHAR • ข้อมูลในลักษณะอื่น ๆ • วันที่และเวลา (Date/Time) รูปแบบที่ใช้คือ DATE

  10. ชนิดของข้อมูลใน Microsoft Access • ในโปรแกรม Microsoft Access สามารถใช้ชนิดข้อมูลตามมาตรฐานของ SQL ได้ • หรือสามารถใช้ชนิดข้อมูลของ Microsoft Access ที่ระบุขึ้นเองก็ได้ อาทิเช่น • Text ตัวอักษร • Number ตัวเลข • Date/Time วันที่และเวลา

  11. Operator (ตัวปฏิบัติการ) ที่ใช้ใน SQL • ตัวเปรียบเทียบ (Comparison operators) • ได้แก่เครื่องหมาย =, <, >, <=, >=, <> • ตัวปฏิบัติการทางด้านลอจิก (Logical operators) • AND • OR • NOT

  12. Operator (ตัวปฏิบัติการ) ที่ใช้ใน SQL • ตัวปฏิบัติการพิเศษ (Special operators) • BETWEENตรวจสอบช่วงของค่าใน Attribute • IS NULLตรวจสอบว่ามีค่าว่างหรือไม่ • LIKEตรวจสอบค่า String ใน Attribute ว่ามีส่วนคล้ายกับที่กำหนดไว้หลัง LIKE หรือไม่ • INตรวจสอบค่าใน Attribute ว่าตรงกันกับที่กำหนดไว้หลัง IN หรือไม่ • EXISTSตรวจสอบว่ามีการ Return ค่าของ Subquery หรือไม่ • DISTINCTจำกัดค่าให้แสดงผลโดยค่าไม่ซ้ำกัน

  13. ฟังก์ชันสรุป (Aggregate functions) ที่ใช้ใน SQL • COUNT ใช้สำหรับนับค่า • MIN หาค่าต่ำสุด • MAX หาค่าสูงสุด • SUM หาผลรวม • AVG หาค่าเฉลี่ย

  14. ประเภทของคำสั่งของภาษา SQL 1. ภาษาสำหรับการนิยามข้อมูล (Data Definition Language : DDL) 2. ภาษาสำหรับการจัดการข้อมูล (Data Manipulation Language : DML) 3. ภาษาควบคุม (Data Control Language : DCL)

  15. 1. Data Definition Language : DDL • เป็นกลุ่มคำสั่งที่ใช้กระทำกับโครงสร้างของฐานข้อมูล • ตัวอย่างคำสั่ง เช่น • CREATE ใช้สร้างตาราง • ALTER ใช้แก้ไข/เปลี่ยนแปลงตาราง • DROP ใช้สำหรับลบตาราง

  16. คำสั่ง SQL : DDL • CREATE TABLE : สร้างตาราง • รูปแบบการใช้คำสั่ง CREATE TABLE ชื่อตาราง ( ชื่อคอลัมน์1 ประเภทข้อมูลConstraint, ชื่อคอลัมน์2 ประเภทข้อมูลConstraint, PRIMARY KEY (ชื่อคอลัมน์) , FOREIGN KEY (ชื่อคอลัมน์ ) REFERENCES ชื่อตาราง, );

  17. คำสั่ง SQL : DDL ชื่อตาราง • CREATE TABLE • ตัวอย่าง CREATE TABLE EMPLOYEE( 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) ); ชนิดข้อมูล Constraint ให้ ID เป็น PK

  18. คำสั่ง SQL : DDL CREATE TABLE PRODUCT( P_CODE VARCHAR(10) NOT NULL , P_DESCRIPT VARCHAR(35) NOT NULL , P_INDATE DATE 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) , PRIMARY KEY (P_CODE) , FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID) ); ให้ ID เป็น FK

  19. คำสั่ง SQL : DDL • ALTER TABLE : เปลี่ยนแปลงตาราง • รูปแบบการใช้คำสั่ง ALTER TABLE ชื่อตาราง (คำสั่งการเปลี่ยนแปลงชื่อคอลัมน์ ชนิดข้อมูล); • คำสั่งการเปลี่ยนแปลง เช่น • ADD เพิ่มคอลัมน์ • ALTER เปลี่ยนแปลงชนิดข้อมูล • DROP ลบคอลัมน์

  20. คำสั่ง SQL : DDL • ALTER TABLE : เปลี่ยนแปลงตาราง • ตัวอย่าง • ALTER TABLE PRODUCT ADD SALECODE VARCHAR(10); • ALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50); • ALTER TABLE PRODUCT DROP SALECODE;

  21. คำสั่ง SQL : DDL • DROP TABLE : ลบตาราง • รูปแบบการใช้คำสั่ง DROP TABLE ชื่อตาราง; • ตัวอย่าง DROP TABLE PRODUCT; DROP TABLE EMPLOYEE; DROP TABLE PROJECT;

  22. 2. Data Manipulation Language : DML • เป็นกลุ่มคำสั่งที่กระทำกับข้อมูลในฐานข้อมูล • ตัวอย่างคำสั่ง เช่น • SELECT ใช้เรียกข้อมูลในตารางมาแสดงผล • INSERT ใช้เพิ่มข้อมูลเข้าไปในตาราง • UPDATE ใช้แก้ไขข้อมูลในตาราง • DELETE ใช้ลบข้อมูลในตาราง

  23. คำสั่ง SQL : DML • SELECT : เลือกแถว (Row) จาก Table • รูปแบบการใช้คำสั่ง SELECTชื่อคอลัมน์ที่ต้องการดูข้อมูล FROM ชื่อตาราง WHERE เงื่อนไข; • ตัวอย่าง • ต้องการดูข้อมูลทั้งหมดในตาราง PRODUCT • SELECT * FROM PRODUCT;

  24. คำสั่ง SQL : DML • SELECT : เลือกแถว (Row) จาก Table • ตัวอย่าง SELECT Book_name, Author FROM Book WHERE Book_id = '0001';

  25. ตัวอย่าง: SELECT SELECT FirstName, LastName FROM Personal ตัวอย่าง ผลลัพธ์ Personal

  26. แสดงชื่อลูกค้า, ที่อยู่ลูกค้า Select Name, Addr from customer; Name Addr - - - - - - - - - - - - - - - - - โสภา สีคล้ำ กรุงเทพฯ ศิรี สุขพานิช กรุงเทพฯ สมชาย มีสะอาด เชียงใหม่ อมร ศรีวัฒนกุล ลำพูน วรชาติ สีคล้ำ อยุธยา วิมลลักษณ์ โพธิ์ศรี สุโขทัย อนันต์ บุญญานุพงศ์ กรุงเทพฯ . . . . . .

  27. แสดงข้อมูลลูกค้า ที่อยู่กรุงเทพฯ และมีเครดิต มากกว่า 350000 Select * from customer Where Addr = "กรุงเทพฯ" and Credit > 350000; Id Name Addr Tel Credit Curr_Bal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 110 ศิรี สุขพานิช กรุงเทพฯ 2520091 400000 200000 217 อนันต์ บุญญานุพงศ์ กรุงเทพฯ 2517747 900000 200000

  28. คำสั่ง SQL : DML • SELECT : เลือกแถว (Row) จาก Table • ตัวอย่าง • ต้องการดูรายชื่อสินค้า (P_Name) วันที่สินค้าเข้ามา (P_DATE) ราคา (P_Price) และผู้ค้าส่ง (V_Code) โดยให้ดูสินค้าเฉพาะสินค้าที่ส่งมาจากผู้ค้าส่งที่มีรหัส V0004 • SELECT P_Name, P_DATE, P_Price, V_CODE FROM PRODUCT WHERE V_CODE = 'V0004';

  29. ตัวอย่าง : WHERE (=) SELECT* FROM Personal WHERE Amphur = “เมือง” ตัวอย่าง ผลลัพธ์ Personal

  30. ตัวอย่าง: WHERE (IN) SELECT* FROM Personal WHERE Amphur IN (“เมือง”, “จุน”) ตัวอย่าง ผลลัพธ์ Personal

  31. ตัวอย่าง: WHERE (LIKE) SELECT* FROM Personal WHERE FirstName LIKE “มา%” ตัวอย่าง ผลลัพธ์ Personal

  32. คำสั่ง SQL : DML • INSERT : เพิ่มแถว (Row) ลงใน Table • รูปแบบการใช้คำสั่ง INSERT INTO ชื่อตารางVALUES (ข้อมูลทุกคอลัมน์) • ตัวอย่าง INSERT INTO VENDOR VALUES ('V0001', 'บริษัทไบรซัน', 'สมัย', '615', '223-3234', 'TN', 'Y'); INSERT INTO PRODUCT VALUES ('P0000001', 'หัวพ่นสี', '03-NOV-2003', 8, 5, 1090.99, 0.00, 'V0011'); INSERT INTO PRODUCT VALUES ('P0000010', 'ค้อน 12 ปอนด์', '03-JAN-2004', 8, 5, 140.40, 0.05, NULL);

  33. ตัวอย่าง: INSERT INSERT INTO Orders(ProdID, Product, EmpID) VALUES (999, “Ram”, “02”) Orders Orders

  34. คำสั่ง SQL : DML • UPDATE : แก้ไขข้อมูลในตาราง • รูปแบบการใช้คำสั่ง UPDATE ชื่อตาราง SET ชื่อคอลัมน์ = ข้อมูลใหม่ WHERE เงื่อนไข;

  35. คำสั่ง SQL : DML • UPDATE : แก้ไขข้อมูลใน Table • ตัวอย่าง • UPDATE PRODUCT SET P_DATE = ’18-JAN-2004’ WHERE P_CODE = ‘P0000007’; • แก้ไขข้อมูลวันที่สินค้าเข้าคลัง (P_DATE) โดยให้แก้ไขเฉพาะสินค้าที่มีรหัสสินค้า (P_CODE) เป็น P0000007 ให้เป็นวันที่สินค้าเข้าคลังเป็น 18-JAN-2004

  36. คำสั่ง SQL : DML • UPDATE : แก้ไขข้อมูลใน Table • ตัวอย่าง • UPDATE Book SET Author = ’สมโชค’ WHERE Book_name = ‘ระบบฐานข้อมูล’; • แก้ไขข้อมูลผู้แต่ง (Author) โดยให้แก้ไขเฉพาะหนังสือที่ชื่อระบบฐานข้อมูล (Book_name) ให้เป็นผู้แต่งชื่อสมโชค

  37. คำสั่ง SQL : DML • UPDATE : แก้ไขข้อมูลใน Table • ตัวอย่าง • UPDATE Book SET Author = ’สมควร’, publisher=‘ดอกหญ้า’ WHERE Book_id = ‘00015’; แก้ไขข้อมูลผู้แต่ง (Author) โดยให้แก้ไขเฉพาะหนังสือที่มีรหัส 00015 (Book_id) ให้เป็นผู้แต่งชื่อสมโชค และสำนักพิมพ์ดอกหญ้า

  38. ตัวอย่าง: UPDATE แบบไม่ระบุแถว UPDATE Employees SETName = “FOX” Employees Employees

  39. ตัวอย่าง: UPDATE แบบระบุแถว (WHERE) UPDATE Employees SETName= “FOX” WHERE EmpID = “04” Employees Employees

  40. คำสั่ง SQL : DML • DELETE : ลบแถว (Row) ออกจากตาราง • รูปแบบการใช้คำสั่ง DELETE FROM ชื่อตาราง WHERE เงื่อนไข; • ตัวอย่าง DELETE FROM PRODUCT WHERE P_CODE = 'P0000016'; DELETE FROM PRODUCT WHERE P_MIN = 5;

  41. ตัวอย่าง: DELETE แบบระบุแถว (WHERE) DELETE FROM Employees WHERE EmpID = “04” Employees Employees

  42. ตัวอย่าง: DELETE แบบไม่ระบุแถว DELETE FROM Employees Employees Employees

  43. Operators ในการเปรียบเทียบ • ตัว Operators ในการเปรียบเทียบ • = เท่ากับ • < น้อยกว่า • <= น้อยกว่าหรือเท่ากับ • > มากกว่า • >= มากกว่าหรือเท่ากับ • <> หรือ != ไม่เท่ากับ

  44. Operators ทางลอจิก • ตัว Logical operators • AND และ • OR หรือ • NOT ตรงกันข้าม, ไม่เท่ากับ

  45. คำสั่ง SQL : DML • SELECT : เลือกแถว (Row) จาก Table • ตัวอย่าง แสดงรายละเอียดของหนังสือทุกคอลัมน์ที่ผู้แต่งคือสมชาย และมีราคาต่ำกว่า 300 บาท SELECT * FROM Book WHERE Author = ‘สมชาย‘ and prize < 300 ;

  46. Operators ทางลอจิก • ตัวอย่าง • ต้องการดูรายชื่อสินค้า (P_DESCRIPT) วันที่สินค้าเข้ามา (P_INDATE) ราคาสินค้า (P_PRICE) และรหัสของผู้ค้าส่ง (V_CODE) โดยให้ดูเฉพาะสินค้าที่มีราคาน้อยกว่า 500 และวันที่สินค้าเข้ามาน้อยกว่าวันที่ 15-DEC-2004 • SELECT P_DESCRIPT, P_INDATE, P_PRICE, V_CODE FROM PRODUCT WHERE P_PRICE < 500 AND P_INDATE < #15-DEC-2004#;

  47. คำสั่ง SQL : DML • SELECT : เลือกแถว (Row) จาก Table • ตัวอย่าง แสดงรายละเอียดของหนังสือทุกคอลัมน์ที่ผู้แต่งคือสมชาย หรือมีราคาตั้งแต่ 300 บาทขึ้นไป SELECT * FROM Book WHERE Author = ‘สมชาย‘ or prize => 300 ;

  48. คำสั่ง SQL : DML • SELECT : เลือกแถว (Row) จาก Table • ตัวอย่าง • ต้องการดูรายชื่อสินค้า (P_Name) วันที่สินค้าเข้ามา (P_DATE) ราคา (P_Price) และผู้ค้าส่ง (V_Code) โดยให้ดูสินค้าเฉพาะสินค้าที่ส่งมาจากผู้ค้าส่งที่ไม่ใช่รหัส V0004 • SELECT P_Name, P_DATE, P_Price, V_CODE FROM PRODUCT WHERE V_CODE <> 'V0004';

  49. Operators ทางลอจิก • ตัวอย่าง • ต้องการดูข้อมูลสินค้าที่ส่งจากผู้ค้าส่งทุกรายยกเว้นV0006 • SELECT * FROM PRODUCT WHERE NOT (V_CODE = 'V0006');

  50. Operators ในการคำนวณ • ตัว Operators ในการคำนวณ • + บวก • - ลบ • * คูณ • / หาร • ^ ยกกำลัง

More Related