1 / 91

คำสั่ง SQL

คำสั่ง SQL. วัตถุประสงค์. เรียนรู้คำสั่ง SQL พื้นฐานสำหรับการสร้างโครงสร้างของฐานข้อมูล เรียนรู้คำสั่งสำหรับการเรียกดูข้อมูล เรียนรู้คำสั่งสำหรับการ update ข้อมูล (เพิ่ม, ลบ, แก้ไข). SQL (Structured Query Language)

Download Presentation

คำสั่ง SQL

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

  2. วัตถุประสงค์ • เรียนรู้คำสั่ง SQL พื้นฐานสำหรับการสร้างโครงสร้างของฐานข้อมูล • เรียนรู้คำสั่งสำหรับการเรียกดูข้อมูล • เรียนรู้คำสั่งสำหรับการ update ข้อมูล (เพิ่ม, ลบ, แก้ไข)

  3. SQL (Structured Query Language) เป็นภาษามาตราฐานบนระบบฐานข้อมูลเชิงสัมพันธ์สามารถใช้งานได้กับเครื่องคอมพิวเตอร์หลายระดับ ปัจจุบันมีซอฟต์แวร์ระบบจัดการฐานข้อมูล (DBMS) ที่สนับสนุนการใช้คำสั่ง SQL เช่น ORACLE, DB2, MS-SQL, MS-Access นอกจากนี้ภาษา SQL ถูกนำมาใช้เขียนร่วมกับโปรแกรมภาษาต่างๆ เช่น ภาษา C/C++, VisualBasic และ Java วัตถุประสงค์ของ SQL 1. สร้างฐานข้อมูลและ ตาราง 2. สนับสนุนการจัดการฐานข้อมูล ซึ่งประกอบด้วย การเพิ่ม การปรับปรุง และการลบข้อมูล 3. สนับสนุนการเรียกใช้หรือ ค้นหาข้อมูล

  4. ประเภทของคำสั่งภาษา SQL1. ภาษานิยามข้อมูล(Data Definition Language : DDL) เป็นคำสั่งที่ใช้ในการสร้างฐานข้อมูล กำหนดโครงสร้างข้อมูลว่ามี Attributeใด ชนิดของข้อมูลรวมทั้งการเปลี่ยนแปลงตาราง และการสร้างดัชนี คำสั่ง : CREATE,DROP,ALTER 2. ภาษาจัดการข้อมูล(Data Manipulation Language :DML) เป็นคำสั่งที่ใช้ในการเรียกใช้ เพิ่ม ลบ และเปลี่ยนแปลงข้อมูลในตารางคำสั่ง : SELECT,INSERT,UPDATE,DELETE 3. ภาษาควบคุมข้อมูล(Data Control Language : DCL) เป็นคำสั่งที่ใช้ในการกำหนดสิทธิการอนุญาติ หรือ ยกเลิก การเข้าถึงฐานข้อมูล เพื่อป้องกันความปลอดภัยของฐานข้อมูลคำสั่ง : GRANT,REVOKE

  5. CREATE DATABASE database_name

  6. ภาษานิยามข้อมูล (Data Definition Language: DDL) ภาษานิยามข้อมูลประกอบด้วยคำสั่ง ดังนี้ CREATE คำสั่งที่ใช้ในการสร้าง - CREATE TABLE สร้างตาราง - CREATE INDEX สร้างดัชนี - CREATE VIEW สร้างวิว DROP คำสั่งที่ใช้ในการลบ - DROP TABLE ลบตาราง - DROP INDEX ลบดัชนี - DROP VIEW ลบวิว ALTER คำสั่งที่ใช้ในการเปลี่ยนแปลงโครงสร้างตาราง

  7. การสร้างตาราง : CREATE TABLEคำสั่งที่ใช้ คือ CREATE TABLE มีรูปแบบ คือ CREATE TABLE table_name ( field1 type [(size)] [NOT NULL] , field2 type [(size)] [NOT NULL] , …………... CONSTRAINT name PRIMARY KEY (primary1, primary2 , ...) FOREIGN KEY (ref1, ref2 , ..) REFERENCES foreigntable (foreignfield1 , foreignfield2 , ...) );

  8. ตัวอย่าง Create table Student ( ID integer PRIMARY KEY NOT NULL, FName char(30), LName char(30) )

  9. การลบตาราง : DROP TABLEคำสั่งที่ใช้ในการลบตารางจะใช้คำสั่ง DROP TABLE tablename ตัวอย่าง DROP TABLE Employee;

  10. การสร้างและลบดัชนี:CREATE /DROP INDEXการสร้างดัชนีสำหรับตาราง - เลือก column หรือ กลุ่มของ column จากตารางขึ้นมาเป็นดัชนี เช่น ชื่อนักศึกษา - ในหนึ่งตารางสามารถมีดัชนีได้หลายดัชนี - ช่วยในการค้นหาข้อมูลได้รวดเร็ว

  11. การสร้างและลบดัชนี:CREATE /DROP INDEXคำสั่งที่ใช้ในการสร้างและลบดัชนี • CREATE INDEX Index-name • ON table-name(attribute-name1,….) • ex. CREATE INDEX PRO_INDEX • ON PRODUCT(PRODUCT_NAME); • DROP INDEX Index-name • ex. DROP INDEX PRO_INDEX ;

  12. ตัวอย่าง การสร้างดัชนี โดยใช้ชื่อคนงานเป็นดัชนี CREATE INDEX NAME_IDX ON WORKER (WK_NAME) ตัวอย่าง การสร้างดัชนี โดยใช้รหัสคนงานเป็นดัชนี CREATE INDEX CODE_IDX ON WORKER (WK_ID)

  13. การสร้างวิว : CREATE VIEW เป็นการสร้างตารางสมมติขึ้นมาให้กับผู้ใช้งาน โดยการดึงข้อมูลบางส่วนมาจากฐานข้อมูล เพื่อให้ผู้ใช้งานเรียกข้อมูลที่ต้องการจากวิวที่กำหนดให้เท่านั้น คำสั่งที่ใช้ในการสร้างวิว คือ CREATE VIEW view-name [column_name1, column_name2,...] AS SELECT attribute1,attribute2,.. FROM table-name WHERE condition การลบวิว ใช้คำสั่ง DROP VIEW view-name

  14. ex. Create view my_view1 as select pro_id , pro_name , pro_price from product where supid = 5 ; ex. DROP VIEW ex. DROP VIEW my_view1

  15. การเปลี่ยนแปลงโครงสร้างตาราง : ALTER TABLEเป็นการเปลี่ยนแปลงโครงสร้างตารางที่สร้างไว้ ดังนี้ 1. ADD เป็นการเพิ่ม column ในตาราง 2. MODIFY เป็นการแก้ไขเปลี่ยนแปลง column 3. DROP เป็นการลบ column คำสั่งที่ใช้ ALTER TABLE tablename [ COMMAND [COLUMN]column_name datatype [CONSTRAINT]]; COMMAND คือ ADD,MODIFY,DROP

  16. Alter Table • ADD Attribute name • ex. ALTER TABLE Employee • ADD Tel CHAR( 10) ; • MODIFY Structure • ex. ALTER TABLE Employee • MODIFY ( EName CHAR(35) ); • DROP Attribute name • ex. ALTER TABLE Employee • DROP Tel CHAR( 10) ;

  17. 1. การสืบค้นข้อมูลด้วยคำสั่ง SQL Name Subject Grade แสนดีVB A สุดสวยVBC สมบัติ Database B สมศักดิ์ Database B สมบูรณ์Database A สมหวังVBA SQL สืบค้นข้อมูล ฐานข้อมูล ข้อมูลผลลัพธ์

  18. 2. โครงสร้างคำสั่ง SQL สำหรับสืบค้นข้อมูล SELECT [ ALL | DISTRINCT ] { column_name/* } [ , column_name…] FROM table name [ , table_name…] [ WHERE condition ] [ GROUP BY column_name [,column_name] [HAVING condition ] ] [ORDER BY column_name1 [ASC|DESC] [,column_name2 [ASC|DESC]] [,.......,column_name n [ASC|DESC]] ]

  19. ตัวอย่างข้อมูล คำสั่ง SQL Books ผลลัพธ์จากการใช้คำสั่ง SQL Publisher

  20. 3. สืบค้นข้อมูลจากหนึ่งตาราง Syntax SELECT column_name /* [column_name …] FROM table_name

  21. 3. สืบค้นข้อมูลจากหนึ่งตาราง < ต่อ… > Detail * เครื่องหมายดอกจัน หมายถึง ทุกคอลัมน์ column_nameชื่อคอลัมน์ ( ฟิลด์ ) table_nameชื่อตาราง

  22. แสดงทุกแถวและคอลัมน์ SELECT * FROM Books Books BID Title PID Price 1001 Windows98 12 500 1002 Office97 12 150 1003 Java Vs C++ 05 250 1004 Database 04 155 1005 Netcape 04 490 1006 C Algorithm 12 1000 1007 Networking 04 1950 1008 Digitalimage

  23. แสดงทุกแถวและบางคอลัมน์แสดงทุกแถวและบางคอลัมน์ SELECT Title,Price FROM Books Books Title Price Windows98 500 Office97 150 Java Vs C++ 250 Database 155 Netcape 490 C Algorithm 1000 Networking 1950 Digitalimage

  24. 4. สืบค้นข้อมูลโดยมีเงื่อนไข Syntax SELECT column_name /* [column_name …] FROM table_name WHERE condition

  25. 4. สืบค้นข้อมูลโดยมีเงื่อนไข < ต่อ… > Detail * เครื่องหมายดอกจัน หมายถึง ทุกคอลัมน์ column_nameชื่อคอลัมน์ ( ฟิลด์ ) table_nameชื่อตาราง condition เงื่อนไขในการแสดงข้อมูลในแนวแถว

  26. 4. สืบค้นข้อมูลโดยมีเงื่อนไข < ต่อ… > Detail ชนิดเงื่อนไขเครื่องหมาย เปรียบเทียบ = > < >= <= <> รวบรวม AND , OR ปฏิเสธ NOT ตรวจสอบค่า NULL IS NULL ตรวจสอบช่วง BETWEEN…AND รายการ IN ตรวจสอบข้อความ LIKE

  27. 5. สืบค้นข้อมูลโดยมีเงื่อนไขเปรียบเทียบ Syntax SELECT column_name /* [column_name …] FROM table_name WHERE expression เงื่อนไขเปรียบเทียบexpression

  28. 5. สืบค้นข้อมูลโดยมีเงื่อนไขเปรียบเทียบ < ต่อ… > Detail Expression ชื่อคอลัมน์และค่าคงที่ เงื่อนไขเปรียบเทียบ = เท่ากับ > มากกว่า < น้อยกว่า >= มากกว่าหรือเท่ากับ <= น้อยกว่าหรือเท่ากับ <> ไม่เท่ากับ

  29. แสดงข้อมูลเงื่อนไขเปรียบเทียบแสดงข้อมูลเงื่อนไขเปรียบเทียบ SELECT Title,Price FROM Books WHERE Price < 1000 Books Title Price Windows98 500 Office97 150 Java Vs C++ 250 Database 155 Netcape 490

  30. แสดงข้อมูลเงื่อนไขเปรียบเทียบแสดงข้อมูลเงื่อนไขเปรียบเทียบ SELECT Title,Price FROM Books WHERE Price <= 1000 Books Title Price Windows98 500 Office97 150 Java Vs C++ 250 Database 155 Netcape 490 C Algorithm 1000

  31. แสดงข้อมูลเงื่อนไขเปรียบเทียบแสดงข้อมูลเงื่อนไขเปรียบเทียบ SELECT Title,Price FROM Books WHERE Price <> 1000 Books Title Price Windows98 500 Office97 150 Java Vs C++ 250 Database 155 Netcape 490 Networking 1950

  32. 6. สืบค้นข้อมูลโดยมีหลายเงื่อนไข Syntax SELECT column_name /* [ , column_name …] FROM table_name WHERE เงื่อนไขที่ 1 การรวมเงื่อนไข เงื่อนไขที่ 2 [ การรวมเงื่อนไข เงื่อนไขที่_ n ]

  33. 6. สืบค้นข้อมูลโดยมีหลายเงื่อนไข Detail Conditionเงื่อนไขต่างๆ การรวมเงื่อนไข AND การรวมเงื่อนไขแบบทั้งหมด OR การรวมเงื่อนไขแบบอย่างใดอย่างหนึ่ง

  34. แสดงข้อมูลหลายเงื่อนไขแสดงข้อมูลหลายเงื่อนไข SELECT Title,Price FROM Books WHERE ( Price > 500 ) OR ( PID < 12 ) Books Title Price Java Vs C++ 250 Database 155 Netcape 490 C Algorithm 1000 Networking 1950

  35. แสดงข้อมูลหลายเงื่อนไขแสดงข้อมูลหลายเงื่อนไข SELECT Title,Price FROM Books WHERE ( Price >= 500 ) AND ( Price <= 1000 ) Books Title Price windows98 500 C Algorithm 1000

  36. แสดงข้อมูลหลายเงื่อนไขแสดงข้อมูลหลายเงื่อนไข SELECT Title,Price FROM Books WHERE (( Price >= 500 ) AND ( Price <= 1000 )) OR ( PID = 4 ) Books Title Price windows98 500 Database 155 Netcape 490 C Algorithm 1000 Networking 1950

  37. 7. สืบค้นข้อมูลเงื่อนไขปฏิเสธ Syntax SELECT column_name /* [ , column_name …] FROM table_name WHERE เงื่อนไขปฏิเสธ condition

  38. 7. สืบค้นข้อมูลเงื่อนไขปฏิเสธ < ต่อ … > Detail Conditionเงื่อนไขใดๆ เงื่อนไขปฏิเสธ NOT ปฏิเสธ

  39. แสดงข้อมูลเงื่อนไขปฏิเสธแสดงข้อมูลเงื่อนไขปฏิเสธ SELECT Title,Price FROM Books WHERE NOT ( PID = 4 ) Books Title Price Windows98 500 Office97 150 Java Vs C++ 250 C Algorithm 1000

  40. 8. สืบค้นข้อมูลที่เป็นค่า NULL Syntax SELECT column_name /* [ , column_name …] FROM table_name WHERE expression IS [ NOT ] NULL

  41. 8. สืบค้นข้อมูลที่เป็นค่า NULL< ต่อ … > Detail NULLคือข้อมูลที่ไม่มีค่าใดๆ เมื่อมีการเพิ่มข้อมูลใน record โดยถ้าฟิลด์ใดไม่ได้ใส่ข้อมูลและฟิลด์ไม่มีการกำหนดค่า default ฟิลด์นั้นจะมีข้อมูลเป็น NULL

  42. แสดงข้อมูลที่เป็นค่า NULL SELECT Title,Price FROM Books WHERE Price IS NULL Books Title Price Digital Image

  43. แสดงข้อมูลที่ไม่เป็นค่า NULL SELECT Title , Price FROM Books WHERE Price IS NOT NULL Books Title Price Windows98 500 Office97 150 Java Vs C++ 250 Database 155 Netcape 490 C Algorithm 1000 Networking 1950

  44. 9. สืบค้นข้อมูลเป็นช่วง Syntax SELECT column_name /* [ , column_name …] FROM table_name WHERE expression [ NOT ] BETWEEN expression AND expression

  45. 9. สืบค้นข้อมูลเป็นช่วง < ต่อ … > Detail การสืบค้นข้อมูลแบบเว้นช่วงหมายถึงผู้ใช้สามารถระบุได้ว่าข้อมูล ระหว่างค่าไหนถึงค่าไหนที่จะถูกแสดงดังนั้นการสืบค้นข้อมูลแบบนี้จะใช้รูปแบบ BETWEEN…. AND …. เช่น column_name BETWEEN 10 AND 20 มีค่าเท่ากับ (( cloumnb_name >= 10 ) AND ( column _name <= 20))

  46. แสดงข้อมูลที่เป็นช่วงแสดงข้อมูลที่เป็นช่วง SELECT Title , Price FROM Books WHERE Price BETWEEN 500 AND 1000 Books Title Price Windows98 500 C Algorithm 1000

  47. แสดงข้อมูลที่เป็นช่วงแสดงข้อมูลที่เป็นช่วง SELECT Title , Price FROM Books WHERE Price NOT BETWEEN 500 AND 1000 Books Title Price office97 150 JAVA Vs C++ 250 Database 155 Netcape 490 Networking 1950

More Related