SlideShare a Scribd company logo
1 of 30
Structured Query Language

       SQL เป็นภาษาที่ใช้สำาหรับจัดการฐานข้อมูลโดยเฉพาะ
       ดังนั้นจึงนำามาใช้ใน ซอฟต์แวร์ระบบข้อมูลเชิงสัมพันธ์

สามารถแบ่งได้ 3 ประเภท

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

การใช้คำาสั่ง SQL สามารถแบ่งชนิดข้อมูลพื้นฐานได้ดังนี้
  ชนิดบูลีน (Boolean Data) เป็นชนิดข้อมูลที่ประกอบด้วยค่า 2 ค่า คือ
  ถูก (True) และผิด (False)


  ชนิดตัวอักษร (Character Data) ข้อมูลชนิดนี้จะไม่สามารถนำามาคำานวณได้
  มีการใช้ 2 ลักษณะ คือ
           - แบบความยาวคงที่ (Fixed Length) การกำาหนดชนิดตัวอักษร
  แบบนี้ทำาได้โดยระบุคำาว่า CHAR เช่น ระบุ 50 ความยาวได้ 50 ตัว
           - แบบความยาวไม่คงที่ (Variable Length) การกำาหนดชนิดของข้อมูล
  ตัวอักษร โดยขึ้นอยู่กับความยาวและจะจัดเก็บข้อมูลจริง จึงประหยัดเนื้อที่ใน
  การเก็บข้อมูล ทำาได้โดยระบุคำาว่า VARCHAR
ชนิดข้อมูลที่ใช้กับคำาสั่ง SQL ต่อ

 ชนิดเลขจำานวน (Numeric Data) เป็นชนิดข้อมูลที่คำานวณได้ แบ่งออกได้
 หลายประเภท เช่น จำานวนเต็ม โดยระบุว่า Integer, จำานวนจริง โดยระบุว่า
 Decimal


 ชนิดวันเวลา (Data Time Data) เป็นชนิดข้อมูลเพือเก็บข้อมูล วัน โดยระบุว่า
                                               ่
 Date, ข้อมูลเวลา โดยระบุว่า Time
1. ภาษานิยามข้อมูล
   (Data Definition Language :DDL)

 เป็นชุดคำาสั่งที่ใช้การนิยาม กำาหนด หรือการสร้างข้อมูล
 บนฐานข้อมูล เช่น Table, Index, View
 ได้แก่คำาสั่ง Create Table, Create view เป็นต้น
ตัวอย่าง รูปแบบการสร้างตาราง
CREATE TABLE student
 (sid CHAR( 11 ) NOT NULL ,
 name VARCHAR( 50 ) NOT NULL UNIQUE ,
 major VARCHAR( 5 )
 CHECK ( ‘CS’,’MIS’,’NMD’,’IS’),
 level CHAR ( 1 ) ,
 PRIMARY KEY (sid)) ;


                                   (DDL)
ผลลัพธ์                                                 ตาราง student

       sid              name              major              level




- sid (คีย์หลัก) ขนาด 10 ตัวอักษร จะเป็นค่าว่างไม่ได้ และจะมีค่าไม่ซำากัน
- name ขนาด 50 ตัวอักษรแบบไม่คงที่ และเป็นค่าว่างไม่ได้
- major ขนาด 3 ตัวอักษรเป็นค่าว่างไม่ได้ หรือเป็นค่าในวงเล็บ
- level ขนาด 1 ตัวอักษร


 Desc student  ดูโครงสร้างตาราง
                                                                     (DDL)
รูปแบบการยกเลิกตาราง
 คำาสั่งที่ใช้สำาหรับการยกเลิกตารางมีรูปแบบดังนี้

 DROP TABLE TableName [RESTRICT | CASCADE];


   ตัวอย่าง
               DROP TABLE student;


                                                    (DDL)
รูปแบบการเปลี่ยนแปลงโครงสร้างตาราง
เมื่อต้องการเปลียนแปลงโครงสร้างตาราง เช่น ปรับเปลียนชื่อคอลัมน์
                ่                                 ่
เพิ่มหรือลบคอลัมน์ในตาราง

เพิม=> ALTER TABLE TableName ADD ColumnName DataType (Size);
   ่
ลบ => ALTER TABLE TableName DROP ColumnName;
ปรับชื่อ=> ALTER TABLE TableName RENAME NameOld TO NameNew;

ตัวอย่าง
เพิ่ม => ALTER TABLE student ADD address VARCHAR (100);
         ALTER TABLE student ADD lname VARCHAR (100);

ลบ => ALTER TABLE student DROP major;

ปรับชื่อ=> ALTER TABLE `student` CHANGE `name` `fname` VARCHAR( 50 )
                                                                (DDL)
2. ภาษาจัดการข้อมูล (Data Manipulation
Language :DML)

  เป็นชุดคำาสั่งที่ใช้ประมวลผล จัดการกับข้อมูลในฐานข้อมูล
  ได้แก่ การเพิ่ม การแก้ไข การลบ และการค้นข้อมูล
  SELECT, INSERT,UPDATE
  การเพิ่มข้อมูลในตารางทำาได้ 2 แบบ
  คือ การเพิ่มค่าโดยตรง,การดึงจากค่าตาราง

  ระบุค่าที่ต้องการเพิ่มโดยตรง มีรูปแบบคำาสั่งดังนี้
    INSERT INTO TableName (Column1,ColumnN)
    VALUES (Value1,ValueN);
    Column = ชื่อคอลัมน์ที่ตองการเพิ่ม
                            ้
    Value = ค่าข้อมูลทีต้องการเพิ่ม
                       ่                                    DML
ตัวอย่าง การเพิ่มข้อมูลโดยการระบุค่า

   INSERT INTO student (sid,name,major,level)
   VALUES ('4700112001', 'อาภรณ์ คำาก้อน','IS','3')



ผลลัพธ์                                          ตาราง student

      sid               name              major       level
4700112001 อาภรณ์ คำาก้อน                   IS          3
4600102004 ชาญ อิสระ                        CS          4


                                                            DML
การเพิ่มข้อมูล โดยการดึงข้อมูลมาจาก
ตารางมีรูปแบบ
คำาสั่งดังนี้
รูปแบบ   INSERT INTO TableName (Column1,Column2,..)
         SELECT Statement;


   ตัวอย่าง INSRET INTO student
            SELECT*
            FROM student_Old;



                                                 DML
การแก้ไข ข้อมูลในตารางมีรูปแบบคำาสั่งดังนี้

      UPDATE TableName
      SET Column1 = Value1,[Column2 = Value2,..]
      [WHERE Criteria];


        Column1 = ชื่อคอลัมน์ที่ตองการแก้ไขข้อมูล
                                 ้
        Value1 = ค่าข้อมูลที่ตองการแก้ไข
                              ้
        Criteria = เงือนไขในการแก้ไขข้อมูล
                      ่




                                                    DML
ตาราง student
      sid                 name       major       level
4700112001      อาภรณ์ คำาก้อน         IS          3
4600102002      จารุณี ใจกล้า          IS          4
4600102003      สมพล กล้าหาญ          NMD          4
4600102004      ชาญ อิสระ              CS          4
4600102005      กรวิภา ใจดี           MIS          4

ตัวอย่าง การแก้ไขข้อมูล

     1. UPDATE student SET major= ‘MIS’;

                                                    DML
ผลลัพธ์   1. UPDATE student SET major= ‘MIS’;
    sid              name           major       level
4700112001   อาภรณ์ คำาก้อน          MIS         3
4600102002   จารุณี ใจกล้า           MIS         4
4600102003   สมพล กล้าหาญ            MIS         4
4600102004   ชาญ อิสระ               MIS         4
4600102005   กรวิภา ใจดี             MIS         4




                                                   DML
ตัวอย่าง การแก้ไขข้อมูล
    2. UPDATE student SET major= ‘MIS’
       WHERE major=‘IS’;
                                               ตาราง student

       sid                name           major      level
 4700112001      อาภรณ์ คำาก้อน           IS          3
 4600102002      จารุณี ใจกล้า            IS          4
 4600102003      สมพล กล้าหาญ            NMD          4
 4600102004      ชาญ อิสระ                CS          4
 4600102005      กรวิภา ใจดี             MIS          4


                                                      DML
2. UPDATE student SET major= ‘MIS’
   WHERE major=‘IS’;

ผลลัพธ์                                      ตาราง student

    sid              name            major       level
4700112001   อาภรณ์ คำาก้อน          MIS           3
4600102002   จารุณี ใจกล้า           MIS           4
4600102003   สมพล กล้าหาญ            NMD           4
4600102004   ชาญ อิสระ                CS           4
4600102005   กรวิภา ใจดี             MIS           4


                                                    DML
การลบข้อมูลในตารางมีรูปแบบคำาสังดังนี้
                               ่

         DELETE FROM TableName
         [WHERE Criteria];


 ตัวอย่าง 1. การลบข้อมูล
         DELETE FROM student
         [WHERE major=‘IS’];




                                         DML
DELETE FROM student
          [WHERE major=‘IS’];

ผลลัพธ์                                 ตาราง student

    sid            name         major       level
4700112001   อาภรณ์ คำาก้อน      IS           3
4600102002   จารุณี ใจกล้า       IS           4
4600102003   สมพล กล้าหาญ       NMD           4
4600102004   ชาญ อิสระ           CS           4
4600102005   กรวิภา ใจดี        MIS           4


                                               DML
ตัวอย่าง 2. การลบข้อมูล
          DELETE FROM student;
ผลลัพธ์                              ตาราง student

    sid            name          major    level
การค้นหาข้อมูล
 การค้นหาข้อมูล มีรูปแบบคำาสั่งทัวไป ดังนี้
                                 ่

        SELECT [DISTINCT] Column,…
        FROM TableName,….
        [WHERE Criteria]
        [GROUP BY GroupColumn,..]
        [HAVING Criteria]
        [ORDER BY OrderColumn,..]

        GroupColumn = ชื่อคอลัมน์ทให้จัดกลุ่มตาม
                                    ี่
        OrderColumn = ชื่อคอลัมน์ที่ให้จัดลำาดับข้อมูล
ตัวอย่าง 1. การค้นข้อมูล

           SELECT student.sid,student.name
           FROM student;
 ผลลัพธ์                       ตาราง student

           sid              name
     4700112001     อาภรณ์ คำาก้อน
     4600102002     จารุณี ใจกล้า
     4600102003     สมพล กล้าหาญ
     4600102004     ชาญ อิสระ
     4600102005     กรวิภา ใจดี

                                               DML
ตัวอย่าง 2. การค้นข้อมูล

            SELECT *
            FROM student;
 ผลลัพธ์                       ตาราง student

      sid               name            major   level
 4700112001      อาภรณ์ คำาก้อน           IS     3
 4600102002      จารุณี ใจกล้า            IS     4
 4600102003      สมพล กล้าหาญ            NMD     4
 4600102004      ชาญ อิสระ                CS     4
 4600102005      กรวิภา ใจดี             MIS     4
                                                   DML
คำาสั่ง DISTINCT จะใช้ในกรณีที่ต้องการคอลัมน์ที่ไม่ซำ้ากัน
ตัวอย่าง 1. ถำ้าไม่ใช้คำาสั่ง DISTINCT

              SELECT major
              FROM student;

          ผลลัพธ์       major
                          IS
                          IS
                         NMD
                          CS
                         MIS                         DML
คำาสั่ง DISTINCT จะใช้ในกรณีที่ต้องการคอลัมน์ที่ไม่ซำ้ากัน
ตัวอย่าง 2. ถำ้าใช้คำาสั่ง DISTINCT

              SELECT DISTINCT major
              FROM student;

          ผลลัพธ์       major
                          IS
                         NMD
                          CS
                         MIS
                                                     DML
คำาสัง WHERE ใช้ในกรณีต้องการข้อมูลบางเรคอร์ด
     ่

    ตัวอย่าง 1. การค้นหา

            SELECT *
            FROM student
            WHERE student.major = ‘NMD’;


 ผลลัพธ์                                   ตาราง student

      sid             name           major      level
  4600102003 สมพล กล้าหาญ            NMD          4

                                                    DML
คำาสั่ง ORDER BY ใช้ในกรณีตองการจัดเรียงข้อมูล
                           ้

  ลักษณะการจัดเรียง แบ่งเป็น
   - เรียงจากน้อยไปหามาก (Ascending:ASC) ไม่จำาเป็นต้องระบุ
   - เรียงจากมากไปหาน้อย (Descending:DESC)

  ตัวอย่าง

        SELECT sid,name,major,level
        FROM student
        WHERE student.level IN (‘3’,’4’)
        ORDER BY major,level DESC;
SELECT sid,name,major,level
             FROM student
             WHERE student.level IN (‘3’,’4’)
             ORDER BY major,level DESC;
ผลลัพธ์
    sid              name             major     level
4600102002   จารุณี ใจกล้า             CS        4
4600102003   ชาญ อิสระ                 CS        4
4600102005   กรวิภา ใจดี              MIS        4
4600102004   สมพล กล้าหาญ             NMD        4
4700112001 อาภรณ์ คำาก้อน               IS       3
ภาษาควบคุมข้อมูล
(Data Control Language :DCL)

 เป็นคำาสั่งสำาหรับทีใช้ในการควบคุมสิทธิ์ของ
                     ่
 ผูใช้ในการใช้ข้อมูล รวมทังควบคุมใช้งานฐานข้อมูล
   ้                        ้
 เช่น คำาสั่ง GRANT, REVOKE เป็นต้น
ตัวอย่าง การกำาหนดสิทธิ
 GRANT SELECT
 ON student
 TO student

ผลคือ ผูใช้ student มีสิทธิในการ Select ข้อมูลใน
        ้
ตาราง student
ตัวอย่าง การยกเลิกสิทธิ
 REVOKE SELECT
 ON     student
 FROM student

ผลคือ ผูใช้ student ถูกยกเลิกสิทธิในการ Select ข้อมูลใน
        ้
ตาราง student

More Related Content

More from Jenchoke Tachagomain

Introduction to On-line Documemt Lec02
Introduction to On-line Documemt  Lec02Introduction to On-line Documemt  Lec02
Introduction to On-line Documemt Lec02Jenchoke Tachagomain
 
Introduction to On-line Documemt Lab 4
Introduction to On-line Documemt Lab 4Introduction to On-line Documemt Lab 4
Introduction to On-line Documemt Lab 4Jenchoke Tachagomain
 
Introduction to On-line Documemt Lab 3
Introduction to On-line Documemt Lab 3Introduction to On-line Documemt Lab 3
Introduction to On-line Documemt Lab 3Jenchoke Tachagomain
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09Jenchoke Tachagomain
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08Jenchoke Tachagomain
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07Jenchoke Tachagomain
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06Jenchoke Tachagomain
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05Jenchoke Tachagomain
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04Jenchoke Tachagomain
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Intro
การพัฒนาเอกสารออนไลน์ขั้นสูง Introการพัฒนาเอกสารออนไลน์ขั้นสูง Intro
การพัฒนาเอกสารออนไลน์ขั้นสูง IntroJenchoke Tachagomain
 
Mobile Game and Application with J2ME
Mobile Gameand Application with J2MEMobile Gameand Application with J2ME
Mobile Game and Application with J2MEJenchoke Tachagomain
 

More from Jenchoke Tachagomain (20)

Introduction to On-line Documemt Lec02
Introduction to On-line Documemt  Lec02Introduction to On-line Documemt  Lec02
Introduction to On-line Documemt Lec02
 
Introduction to On-line Documemt Lab 4
Introduction to On-line Documemt Lab 4Introduction to On-line Documemt Lab 4
Introduction to On-line Documemt Lab 4
 
Introduction to On-line Documemt Lab 3
Introduction to On-line Documemt Lab 3Introduction to On-line Documemt Lab 3
Introduction to On-line Documemt Lab 3
 
Lab 2 For Css
Lab 2 For CssLab 2 For Css
Lab 2 For Css
 
Rss
RssRss
Rss
 
Digital Content Business
Digital Content BusinessDigital Content Business
Digital Content Business
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 09
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 08
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 07
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 06
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 04
 
Communication Concept
Communication ConceptCommunication Concept
Communication Concept
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Intro
การพัฒนาเอกสารออนไลน์ขั้นสูง Introการพัฒนาเอกสารออนไลน์ขั้นสูง Intro
การพัฒนาเอกสารออนไลน์ขั้นสูง Intro
 
Communication Concept 3
Communication Concept 3Communication Concept 3
Communication Concept 3
 
Communication Concept
Communication ConceptCommunication Concept
Communication Concept
 
Communication Concept
Communication ConceptCommunication Concept
Communication Concept
 
J2ME Game Concept
J2ME  Game ConceptJ2ME  Game Concept
J2ME Game Concept
 
J2ME Game Concept
J2ME  Game ConceptJ2ME  Game Concept
J2ME Game Concept
 
Mobile Game and Application with J2ME
Mobile Gameand Application with J2MEMobile Gameand Application with J2ME
Mobile Game and Application with J2ME
 

การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 03

  • 1. Structured Query Language SQL เป็นภาษาที่ใช้สำาหรับจัดการฐานข้อมูลโดยเฉพาะ ดังนั้นจึงนำามาใช้ใน ซอฟต์แวร์ระบบข้อมูลเชิงสัมพันธ์ สามารถแบ่งได้ 3 ประเภท 1. ภาษานิยามข้อมูล (Data Definition Language :DDL) 2. ภาษาจัดการข้อมูล (Data Manipulation Language :DML) 3. ภาษาควบคุมข้อมูล (Data Control Language :DCL)
  • 2. ชนิดข้อมูลที่ใช้กับคำาสั่ง SQL การใช้คำาสั่ง SQL สามารถแบ่งชนิดข้อมูลพื้นฐานได้ดังนี้ ชนิดบูลีน (Boolean Data) เป็นชนิดข้อมูลที่ประกอบด้วยค่า 2 ค่า คือ ถูก (True) และผิด (False) ชนิดตัวอักษร (Character Data) ข้อมูลชนิดนี้จะไม่สามารถนำามาคำานวณได้ มีการใช้ 2 ลักษณะ คือ - แบบความยาวคงที่ (Fixed Length) การกำาหนดชนิดตัวอักษร แบบนี้ทำาได้โดยระบุคำาว่า CHAR เช่น ระบุ 50 ความยาวได้ 50 ตัว - แบบความยาวไม่คงที่ (Variable Length) การกำาหนดชนิดของข้อมูล ตัวอักษร โดยขึ้นอยู่กับความยาวและจะจัดเก็บข้อมูลจริง จึงประหยัดเนื้อที่ใน การเก็บข้อมูล ทำาได้โดยระบุคำาว่า VARCHAR
  • 3. ชนิดข้อมูลที่ใช้กับคำาสั่ง SQL ต่อ ชนิดเลขจำานวน (Numeric Data) เป็นชนิดข้อมูลที่คำานวณได้ แบ่งออกได้ หลายประเภท เช่น จำานวนเต็ม โดยระบุว่า Integer, จำานวนจริง โดยระบุว่า Decimal ชนิดวันเวลา (Data Time Data) เป็นชนิดข้อมูลเพือเก็บข้อมูล วัน โดยระบุว่า ่ Date, ข้อมูลเวลา โดยระบุว่า Time
  • 4. 1. ภาษานิยามข้อมูล (Data Definition Language :DDL) เป็นชุดคำาสั่งที่ใช้การนิยาม กำาหนด หรือการสร้างข้อมูล บนฐานข้อมูล เช่น Table, Index, View ได้แก่คำาสั่ง Create Table, Create view เป็นต้น
  • 5. ตัวอย่าง รูปแบบการสร้างตาราง CREATE TABLE student (sid CHAR( 11 ) NOT NULL , name VARCHAR( 50 ) NOT NULL UNIQUE , major VARCHAR( 5 ) CHECK ( ‘CS’,’MIS’,’NMD’,’IS’), level CHAR ( 1 ) , PRIMARY KEY (sid)) ; (DDL)
  • 6. ผลลัพธ์ ตาราง student sid name major level - sid (คีย์หลัก) ขนาด 10 ตัวอักษร จะเป็นค่าว่างไม่ได้ และจะมีค่าไม่ซำากัน - name ขนาด 50 ตัวอักษรแบบไม่คงที่ และเป็นค่าว่างไม่ได้ - major ขนาด 3 ตัวอักษรเป็นค่าว่างไม่ได้ หรือเป็นค่าในวงเล็บ - level ขนาด 1 ตัวอักษร Desc student  ดูโครงสร้างตาราง (DDL)
  • 8. รูปแบบการเปลี่ยนแปลงโครงสร้างตาราง เมื่อต้องการเปลียนแปลงโครงสร้างตาราง เช่น ปรับเปลียนชื่อคอลัมน์ ่ ่ เพิ่มหรือลบคอลัมน์ในตาราง เพิม=> ALTER TABLE TableName ADD ColumnName DataType (Size); ่ ลบ => ALTER TABLE TableName DROP ColumnName; ปรับชื่อ=> ALTER TABLE TableName RENAME NameOld TO NameNew; ตัวอย่าง เพิ่ม => ALTER TABLE student ADD address VARCHAR (100); ALTER TABLE student ADD lname VARCHAR (100); ลบ => ALTER TABLE student DROP major; ปรับชื่อ=> ALTER TABLE `student` CHANGE `name` `fname` VARCHAR( 50 ) (DDL)
  • 9. 2. ภาษาจัดการข้อมูล (Data Manipulation Language :DML) เป็นชุดคำาสั่งที่ใช้ประมวลผล จัดการกับข้อมูลในฐานข้อมูล ได้แก่ การเพิ่ม การแก้ไข การลบ และการค้นข้อมูล SELECT, INSERT,UPDATE การเพิ่มข้อมูลในตารางทำาได้ 2 แบบ คือ การเพิ่มค่าโดยตรง,การดึงจากค่าตาราง ระบุค่าที่ต้องการเพิ่มโดยตรง มีรูปแบบคำาสั่งดังนี้ INSERT INTO TableName (Column1,ColumnN) VALUES (Value1,ValueN); Column = ชื่อคอลัมน์ที่ตองการเพิ่ม ้ Value = ค่าข้อมูลทีต้องการเพิ่ม ่ DML
  • 10. ตัวอย่าง การเพิ่มข้อมูลโดยการระบุค่า INSERT INTO student (sid,name,major,level) VALUES ('4700112001', 'อาภรณ์ คำาก้อน','IS','3') ผลลัพธ์ ตาราง student sid name major level 4700112001 อาภรณ์ คำาก้อน IS 3 4600102004 ชาญ อิสระ CS 4 DML
  • 11. การเพิ่มข้อมูล โดยการดึงข้อมูลมาจาก ตารางมีรูปแบบ คำาสั่งดังนี้ รูปแบบ INSERT INTO TableName (Column1,Column2,..) SELECT Statement; ตัวอย่าง INSRET INTO student SELECT* FROM student_Old; DML
  • 12. การแก้ไข ข้อมูลในตารางมีรูปแบบคำาสั่งดังนี้ UPDATE TableName SET Column1 = Value1,[Column2 = Value2,..] [WHERE Criteria]; Column1 = ชื่อคอลัมน์ที่ตองการแก้ไขข้อมูล ้ Value1 = ค่าข้อมูลที่ตองการแก้ไข ้ Criteria = เงือนไขในการแก้ไขข้อมูล ่ DML
  • 13. ตาราง student sid name major level 4700112001 อาภรณ์ คำาก้อน IS 3 4600102002 จารุณี ใจกล้า IS 4 4600102003 สมพล กล้าหาญ NMD 4 4600102004 ชาญ อิสระ CS 4 4600102005 กรวิภา ใจดี MIS 4 ตัวอย่าง การแก้ไขข้อมูล 1. UPDATE student SET major= ‘MIS’; DML
  • 14. ผลลัพธ์ 1. UPDATE student SET major= ‘MIS’; sid name major level 4700112001 อาภรณ์ คำาก้อน MIS 3 4600102002 จารุณี ใจกล้า MIS 4 4600102003 สมพล กล้าหาญ MIS 4 4600102004 ชาญ อิสระ MIS 4 4600102005 กรวิภา ใจดี MIS 4 DML
  • 15. ตัวอย่าง การแก้ไขข้อมูล 2. UPDATE student SET major= ‘MIS’ WHERE major=‘IS’; ตาราง student sid name major level 4700112001 อาภรณ์ คำาก้อน IS 3 4600102002 จารุณี ใจกล้า IS 4 4600102003 สมพล กล้าหาญ NMD 4 4600102004 ชาญ อิสระ CS 4 4600102005 กรวิภา ใจดี MIS 4 DML
  • 16. 2. UPDATE student SET major= ‘MIS’ WHERE major=‘IS’; ผลลัพธ์ ตาราง student sid name major level 4700112001 อาภรณ์ คำาก้อน MIS 3 4600102002 จารุณี ใจกล้า MIS 4 4600102003 สมพล กล้าหาญ NMD 4 4600102004 ชาญ อิสระ CS 4 4600102005 กรวิภา ใจดี MIS 4 DML
  • 17. การลบข้อมูลในตารางมีรูปแบบคำาสังดังนี้ ่ DELETE FROM TableName [WHERE Criteria]; ตัวอย่าง 1. การลบข้อมูล DELETE FROM student [WHERE major=‘IS’]; DML
  • 18. DELETE FROM student [WHERE major=‘IS’]; ผลลัพธ์ ตาราง student sid name major level 4700112001 อาภรณ์ คำาก้อน IS 3 4600102002 จารุณี ใจกล้า IS 4 4600102003 สมพล กล้าหาญ NMD 4 4600102004 ชาญ อิสระ CS 4 4600102005 กรวิภา ใจดี MIS 4 DML
  • 19. ตัวอย่าง 2. การลบข้อมูล DELETE FROM student; ผลลัพธ์ ตาราง student sid name major level
  • 20. การค้นหาข้อมูล การค้นหาข้อมูล มีรูปแบบคำาสั่งทัวไป ดังนี้ ่ SELECT [DISTINCT] Column,… FROM TableName,…. [WHERE Criteria] [GROUP BY GroupColumn,..] [HAVING Criteria] [ORDER BY OrderColumn,..] GroupColumn = ชื่อคอลัมน์ทให้จัดกลุ่มตาม ี่ OrderColumn = ชื่อคอลัมน์ที่ให้จัดลำาดับข้อมูล
  • 21. ตัวอย่าง 1. การค้นข้อมูล SELECT student.sid,student.name FROM student; ผลลัพธ์ ตาราง student sid name 4700112001 อาภรณ์ คำาก้อน 4600102002 จารุณี ใจกล้า 4600102003 สมพล กล้าหาญ 4600102004 ชาญ อิสระ 4600102005 กรวิภา ใจดี DML
  • 22. ตัวอย่าง 2. การค้นข้อมูล SELECT * FROM student; ผลลัพธ์ ตาราง student sid name major level 4700112001 อาภรณ์ คำาก้อน IS 3 4600102002 จารุณี ใจกล้า IS 4 4600102003 สมพล กล้าหาญ NMD 4 4600102004 ชาญ อิสระ CS 4 4600102005 กรวิภา ใจดี MIS 4 DML
  • 23. คำาสั่ง DISTINCT จะใช้ในกรณีที่ต้องการคอลัมน์ที่ไม่ซำ้ากัน ตัวอย่าง 1. ถำ้าไม่ใช้คำาสั่ง DISTINCT SELECT major FROM student; ผลลัพธ์ major IS IS NMD CS MIS DML
  • 24. คำาสั่ง DISTINCT จะใช้ในกรณีที่ต้องการคอลัมน์ที่ไม่ซำ้ากัน ตัวอย่าง 2. ถำ้าใช้คำาสั่ง DISTINCT SELECT DISTINCT major FROM student; ผลลัพธ์ major IS NMD CS MIS DML
  • 25. คำาสัง WHERE ใช้ในกรณีต้องการข้อมูลบางเรคอร์ด ่ ตัวอย่าง 1. การค้นหา SELECT * FROM student WHERE student.major = ‘NMD’; ผลลัพธ์ ตาราง student sid name major level 4600102003 สมพล กล้าหาญ NMD 4 DML
  • 26. คำาสั่ง ORDER BY ใช้ในกรณีตองการจัดเรียงข้อมูล ้ ลักษณะการจัดเรียง แบ่งเป็น - เรียงจากน้อยไปหามาก (Ascending:ASC) ไม่จำาเป็นต้องระบุ - เรียงจากมากไปหาน้อย (Descending:DESC) ตัวอย่าง SELECT sid,name,major,level FROM student WHERE student.level IN (‘3’,’4’) ORDER BY major,level DESC;
  • 27. SELECT sid,name,major,level FROM student WHERE student.level IN (‘3’,’4’) ORDER BY major,level DESC; ผลลัพธ์ sid name major level 4600102002 จารุณี ใจกล้า CS 4 4600102003 ชาญ อิสระ CS 4 4600102005 กรวิภา ใจดี MIS 4 4600102004 สมพล กล้าหาญ NMD 4 4700112001 อาภรณ์ คำาก้อน IS 3
  • 28. ภาษาควบคุมข้อมูล (Data Control Language :DCL) เป็นคำาสั่งสำาหรับทีใช้ในการควบคุมสิทธิ์ของ ่ ผูใช้ในการใช้ข้อมูล รวมทังควบคุมใช้งานฐานข้อมูล ้ ้ เช่น คำาสั่ง GRANT, REVOKE เป็นต้น
  • 29. ตัวอย่าง การกำาหนดสิทธิ GRANT SELECT ON student TO student ผลคือ ผูใช้ student มีสิทธิในการ Select ข้อมูลใน ้ ตาราง student
  • 30. ตัวอย่าง การยกเลิกสิทธิ REVOKE SELECT ON student FROM student ผลคือ ผูใช้ student ถูกยกเลิกสิทธิในการ Select ข้อมูลใน ้ ตาราง student