The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

ภาษาฐานข้อมูล

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by sunantaputto, 2022-09-16 00:58:40

หน่วยที่ 5

ภาษาฐานข้อมูล

  53

หนว่ ยที่ 5 ภาษาฐานขอ้ มลู

หนว่ ยที่

ภาษาฐานข้อมลู

ZZZ สาระการเรยี นรู้

1. ความเป็นมาของภาษา SQL
2. องคป์ ระกอบของภาษา SQL
3. ภาษาสําหรับการนยิ ามข้อมูล
4. ภาษาสาํ หรับการจัดการข้อมลู
5. ภาษาสาํ หรับการควบคุมข้อมลู

ZZZ จดุ ประสงค์การเรียนรู้

จุดประสงคท์ วั่ ไป
1. เพ่อื ใหน้ ักศกึ ษาไดร้ ู้และเข้าใจเก่ยี วกบั ความเปน็ มาของภาษา SQL ไดถ้ กู ต้อง
2. เพื่อใหน้ กั ศึกษาไดร้ ู้และเข้าใจเก่ียวกบั องค์ประกอบของภาษา SQLได้ถูกต้อง
3. เพื่อใหน้ ักศกึ ษาได้รแู้ ละเขา้ ใจเกี่ยวกบั ภาษาสําหรบั การนยิ ามข้อมลู ไดถ้ กู ต้อง
4. เพอื่ ให้นักศกึ ษาไดร้ ู้และเขา้ ใจเกย่ี วกบั ภาษาสาํ หรบั การจดั การข้อมูลไดถ้ ูกตอ้ ง
5. เพื่อให้นกั ศึกษาไดร้ แู้ ละเข้าใจเกยี่ วกับภาษาสาํ หรับการควบคุมข้อมูลไดถ้ กู ต้อง

3204-2005 ระบบฐานขอ้ มูล

  54

หน่วยท่ี 5 ภาษาฐานข้อมลู

จดุ ประสงคเ์ ชงิ พฤตกิ รรม
1. นักศึกษาสามารถบอกความเปน็ มาของภาษา SQL ได้
2. นักศึกษาสามารถบอกองคป์ ระกอบของภาษา SQL ได้
3. นกั ศึกษาสามารถบอกหนา้ ทีข่ องคําส่ังสาํ หรบั การนิยามข้อมลู คําส่ังสําหรับ
การจัดการข้อมูล และคาํ สงั่ สําหรับการควบคมุ ขอ้ มูลได้
4. นกั ศกึ ษาสามารถจําแนกคาํ สงั่ สาํ หรบั การนยิ ามข้อมูล คาํ สง่ั สาํ หรับ
การจัดการข้อมลู และคาํ สง่ั สาํ หรับการควบคมุ ขอ้ มลู ได้
5. นกั ศกึ ษาสามารถใช้คําสง่ั สําหรบั การนยิ ามข้อมลู คําสงั่ สําหรบั
การจัดการข้อมลู และคําสงั่ สําหรับการควบคุมข้อมูลได้

ZZZ กจิ กรรมการเรยี นการสอน

1. ครใู ห้นกั ศึกษาทาํ แบบทดสอบกอ่ นเรียน
2. ครูอธิบายความเปน็ มาของภาษา SQL
3. ครอู ธบิ ายองค์ประกอบของภาษา SQL
4. ครอู ธิบายภาษาสําหรับการนิยามขอ้ มูล และนําตวั อย่างระบบงานจรงิ ใหน้ กั ศึกษาดู
5. ครอู ธบิ ายภาษาสําหรบั การจัดการข้อมูล และนาํ ตวั อยา่ งระบบงานจรงิ ให้นกั ศึกษาดู
6. ครูอธิบายภาษาสาํ หรับการควบคมุ ข้อมลู และนําตวั อยา่ งระบบงานจริงใหน้ กั ศกึ ษาดู
7. ครใู หน้ ักศึกษาสอบถามและครูตอบข้อซกั ถาม
8. ครูให้นักศึกษาทําแบบฝึกหัดทา้ ยหนว่ ยและแบบทดสอบหลังเรียน
9. ครูให้นกั ศึกษารว่ มกันตรวจแบบฝกึ หดั ทา้ ยหนว่ ยและแบบทดสอบกอ่ นเรยี น

และหลงั เรียน
10. ครเู ปรยี บเทียบคะแนนแบบทดสอบก่อนเรียนและหลงั เรยี นเพื่อใชเ้ ป็นข้อมลู ในการ

ปรับปรุงการเรียนการสอนในครั้งตอ่ ไป

3204-2005 ระบบฐานขอ้ มูล

  55

หน่วยที่ 5 ภาษาฐานขอ้ มลู

ZZZ สื่อการเรยี นการสอน

1. แผนการจดั การเรียนรู้
2. ตัวอย่างระบบงานจริง ระบบทะเบียนนักศึกษาแผนกวิชาคอมพิวเตอร์ธุรกิจ

อธบิ ายในส่วนของการใช้คําสงั่ ภาษาฐานขอ้ มลู SQL (Structured Query Language)
โดยใชร้ ะบบจัดการฐานข้อมลู (DBMS) phpMyAddmin มาจัดการฐานขอ้ มลู MySQL
พัฒนาระบบด้วยภาษา PHP และผพู้ ฒั นาระบบโดย ครูพยอม เหลา่ ชมุ พล
3. ตัวอย่างคําส่งั ภาษาฐานขอ้ มลู SQL (Structured Query Language)
4. ส่ือ Power Point
5. แหล่งอนิ เทอรเ์ นต็ สาํ หรบั ศึกษาเพมิ่ เติม http://www.payom.bctsakon.com

ZZZ การประเมนิ ผล

1. ประเมินผลจากแบบทดสอบหลังเรยี น
2. ประเมินผลจากการปฏิบัตติ ามตัวอย่างคาํ สั่งภาษาฐานข้อมลู SQL
3. ประเมินผลจากความตงั้ ใจ และความสนใจในการเรยี น

3204-2005 ระบบฐานขอ้ มลู

  56

หนว่ ยท่ี 5 ภาษาฐานข้อมลู

ภาษาฐานขอ้ มลู

ภาษา SQL เป็นภาษามาตรฐานท่ีเป็นที่ยอมรับและมีการใช้งานกันอย่างกว้างขวาง ซ่ึงเป็น
ภาษาที่ใช้ในการจัดการข้อมูลของฐานข้อมูลเชิงสัมพันธ์ และเป็นภาษาสอบถามเชิงโครงสร้าง
(Structured Query Language) หรือท่ีเรียกสั้นๆ ว่าเอสคิวแอล (SQL) ซ่ึงรูปแบบของ SQL ที่ใช้ใน
ระบบจัดการฐานข้อมูลแต่ละชนิดจะแตกต่างกันไป ทั้งน้ีเพ่ือเป็นการแสดงความสามารถและจุดเด่น
ของระบบจัดการฐานข้อมูลของแต่ละโปรแกรม หน่วยงาน American National Standards
Institute (ANSI) จึงไดก้ ําหนดรปู แบบ SQL มาตรฐานข้ึนเพ่ือให้เป็นมาตรฐานทั่วไป ภาษา SQL เป็น
ภาษาที่มีรูปแบบเป็นภาษาอังกฤษ ง่ายต่อการเรียนรู้และการเขียนโปรแกรม ซ่ึงเป็นภาษาท่ีมีอยู่ใน
DBMS หลายตัว เป็นภาษาทีพ่ บไดใ้ น RDBMS (Relational Database Management System)

ในหน่วยที่ 5 น้ีจะกล่าวถึงความเป็นมาของภาษา SQL องค์ประกอบของภาษา SQL คําสั่ง
สําหรับการนิยามข้อมูล (Data Definition Language:DDL) คําสั่งสําหรับการจัดการข้อมูล (Data
Manipulation Language:DML) และคําส่ังสําหรับการควบคุมข้อมูล (Data Control Language:
DCL) ซงึ่ มีรายละเอียดดงั นี้

1. ความเป็นมาของภาษา SQL

ในปี ค.ศ 1974 ศูนย์วิจัย IBM ได้พัฒนา RDBMS (Relational database Management
System) ท่ีชื่อว่า System R เพื่อทดลองใช้งาน และแสดงให้เห็นถึงความง่ายของการใช้งาน
ฐานข้อมูลเชิงสัมพันธ์ จึงได้ทําการพัฒนาภาษาท่ีเรียกว่า SEQUEL (Structured English Query
language) เป็นส่วนประกอบของ RDBMS ที่สามารถรองรับการสืบค้นข้อมูลจากหลายตารางและ
การเขา้ ถงึ ฐานขอ้ มลู โดยผู้ใชห้ ลายคน และตอ่ มาไดถ้ กู เปล่ียนชอื่ เปน็ SQL ซึง่ ในปจั จุบันได้มี RDBMS
หลายตวั ถูกสร้างข้นึ มา โดยมีภาษา SQL เปน็ องค์ประกอบที่สาํ คญั

เน่ืองจากความหลากหลายของ RDBMS ที่ถูกสร้างโดยบริษัทต่างๆ สถาบันมาตรฐาน
แห่งชาติอเมริกา (American National Standards institute–ANSI) และองค์กรมาตรฐานระหว่าง
ประเทศ (International Standard Organization–ISO) จึงได้กําหนดมาตรฐานของภาษา SQL ขึ้น
เพื่อให้ทุก DBMS มีภาษา SQL ที่เป็นมาตรฐานเดียวกัน ในปี 1980 จึงได้เกิดภาษา SQL-89 หรือท่ี
เรียกว่า SQL1 ขึ้น และในปี 1992 ก็ได้มีการพัฒนาปรับปรุง SQL-89 ให้มีความสามารถเพิ่มขึ้นอีก
และพัฒนาเป็นภาษา SQL- 92 หรือ SQL2 ซ่ึงเปน็ เวอร์ช่นั ทก่ี ลุ่มผู้ผลติ DBMS ใช้เป็นมาตรฐาน SQL
ในปัจจุบัน ในปี ค.ศ.1999 มีการพัฒนาเป็นภาษา SQL-99 หรือ SQL3 ที่มีการรวมแนวคิดเชิงวัตถุ
(Object-Oriented Concept) เข้าไปดว้ ย แต่ SQL-99 กไ็ ม่เปน็ ที่นยิ มในกลมุ่ ผูผ้ ลติ DBMS

3204-2005 ระบบฐานขอ้ มูล

  57

หน่วยที่ 5 ภาษาฐานขอ้ มลู

2. องค์ประกอบของภาษา SQL

ภาษา SQL (Structured English Query language) เป็นภาษาที่มีรูปแบบเป็นภาษาอังกฤษ
ง่ายต่อการเรียนรู้และการเขียนโปรแกรม ซ่ึงเป็นภาษาที่มีอยู่ใน DBMS หลายตัว มีความสามารถใช้
นิยามโครงสร้างตารางภายในฐานข้อมูล การจัดการข้อมูล รวมไปถึงการควบคุมสิทธิการใช้งาน
ฐานข้อมูล SQL จะประกอบด้วยภาษา 3 รูปแบบดว้ ยกนั แตล่ ะแบบกจ็ ะมีหนา้ ทีเ่ ฉพาะแตกต่างกนั ไป
แสดงดงั รปู ท่ี 5.1

1. ภาษาสําหรับการนิยามขอ้ มลู (Data Definition Language : DDL)
2. ภาษาสาํ หรับการจัดการข้อมลู (Data Manipulation Language : DML)
3. ภาษาสาํ หรบั การควบคมุ ข้อมลู (Data Control Language : DCL)

ภาษา SQL (Structured English Query language)

ภาษานยิ ามขอ้ มลู ภาษาจัดการขอ้ มูล ภาษาควบคมุ ข้อมลู
(DDL) (DML) (DCL)
CREATE SELECT
ALTER UPDATE GRANT
DROP INSERT REVOKE
DELETE

รปู ท่ี 5.1 แสดงองคป์ ระกอบของภาษา 3 รูปแบบของภาษา SQL
(สมจิตร อาจอนิ ทร์ และงามนจิ อาจอนิ ทร,์ 2540 : 35)

3. ภาษาสําหรบั การนิยามขอ้ มูล (Data Definition Language : DDL)

การออกแบบฐานข้อมูลจะทําให้ทราบถึงโครงสร้างของฐานข้อมูลว่าประกอบด้วยรีเลช่ันใดบ้าง
แต่ละรีเลช่ันมีความสัมพันธ์กันอย่างไร คีย์ใดเป็นคีย์หลักของรีเลช่ัน ขั้นตอนต่อไปคือการสร้าง
ฐานขอ้ มลู ลงบนเคร่ืองคอมพิวเตอร์ โดยการแปลงรีเลชน่ั ต่างๆ ใหอ้ ยู่ในรูปของภาษาสําหรับการนิยาม
ขอ้ มลู หรือ DDL ซงึ่ คําสั่งตา่ งๆ ในภาษาสําหรบั นยิ ามขอ้ มลู มีดังน้ี

3204-2005 ระบบฐานขอ้ มลู

  58

หน่วยที่ 5 ภาษาฐานข้อมูล

คาํ สัง่ ความหมาย

CREATE DATABASE สร้างฐานข้อมลู ใหม่

CREATE TABLE นิยามโครงสร้างขอ้ มูลในตารางท่สี ร้างขึ้น

DROP TABLE ลบโครงสรา้ งตารางขอ้ มูลออกจากระบบ

ALTER TABLE แกไ้ ขปรับปรุงโครงสรา้ งตาราง

CREATE INDEX สร้างดชั นีของตารางโดยอาจใช้ 1 คอลัมนห์ รอื มากกวา่

DROP INDEX ลบดชั นขี องตารางออกจากระบบ

CREATE VIEW กําหนดโครงสร้างวิวของผูใ้ ช้

DROP VIEW ลบโครงสร้างววิ ออกจากระบบ

3.1 การกาํ หนดฐานขอ้ มูล
หมายถึงคาํ ส่งั ในการสร้างฐานข้อมลู และลบฐานข้อมลู ซึ่งมรี ูปแบบคาํ สงั่ ดังน้ี
1) คาํ สง่ั ในการสรา้ งฐานข้อมูล
คําสงั่ CREATE DATABASE เปน็ คําสงั่ ทใ่ี ช้สร้างฐานข้อมลู โดยการระบชุ อื่

ฐานขอ้ มูลท่ตี อ้ งการสรา้ ง

รปู แบบคาํ สง่ั

CREATE DATABASE <Database Name>;

Database Name คือ ช่ือฐานขอ้ มลู ทต่ี ้องการสรา้ ง
ตวั อย่าง กาํ หนดใหส้ ร้างฐานขอ้ มลู ชื่อ student_db แสดงดงั รปู ท่ี 5.2

CREATE DATABASE student_db;

ผลลัพธท์ ่ีได้

คาํ ส่งั ในการสร้างฐานขอ้ มูล
รูปท่ี 5.2 แสดงผลลพั ธ์ท่ีไดจ้ ากคําสั่ง SQL ในการสรา้ งฐานข้อมลู ใหม่

3204-2005 ระบบฐานขอ้ มูล

  59

หนว่ ยที่ 5 ภาษาฐานขอ้ มลู

2) คําส่ังในการลบฐานข้อมลู
คําส่ัง DROP DATABASE เป็นคําส่งั ทใี่ ชล้ บฐานข้อมลู ทเ่ี คยสรา้ งไว้ โดยการระบุช่อื

ฐานขอ้ มลู ทีต่ ้องการลบ
รปู แบบคําสั่ง

DROP DATABASE <Database Name>;

Database Name คือ ชื่อฐานข้อมูลท่ีตอ้ งการลบ
ตัวอยา่ ง กาํ หนดใหล้ บฐานขอ้ มูลชื่อ student_db ทเ่ี คยสร้างไว้ แสดงดงั รปู ท่ี 5.3

DROP DATABASE student_db;
ผลลพั ธท์ ีไ่ ด้

รปู ที่ 5.3 แสดงผลลัพธ์ทไี่ ด้จากคาํ ส่ัง SQL ในการลบฐานขอ้ มลู ท่เี คยสรา้ งไว้
3.2 การสรา้ งโครงสร้างตาราง

คําสั่ง CREATE TABLE เป็นคําส่ังที่ใช้สร้างตาราง/รีเลช่ัน โดยการระบุชื่อแอททริบิวต์
ตา่ งๆ ขนาดความกวา้ งของแอททรบิ ิวต์ ประเภทของข้อมูลทจี่ ัดเกบ็ ในแอททริบวิ ต์น้นั รวมถึงการระบุ
วา่ แอททรบิ วิ ตใ์ ดเป็นคยี ์หลักหรือคียน์ อก

รูปแบบคาํ สงั่
CREATE TABLE <Table Name>
(<Column Name> <Data Type> [<Width>] ,
……
[PRIMARY KEY <ชือ่ คอลัมน>์ ]
[FOREIGN KEY <ช่ือคอลัมน>์ ]);
3204-2005 ระบบฐานขอ้ มลู

  60

หน่วยท่ี 5 ภาษาฐานขอ้ มลู

COLUMN NAME คือ เป็นช่ือของแอททริบวิ ต์ของรเี ลชนั่

DATA TYPE คือ ประเภทค่าของข้อมลู ตวั อย่างประเภทของข้อมูล มดี ังน้ี

WIDTH คอื ขนาดความกว้างของขอ้ มูล

PRIMARY KEY คือ กําหนดคีย์หลกั

FOREIGN KEY คอื กาํ หนดคีย์นอก

ชนดิ ขอ้ มลู

ชนดิ ความหมาย
SMALLINT เปน็ ประเภทของขอ้ มูลทเ่ี ป็นเลขจาํ นวนเต็ม
INT เป็นประเภทของข้อมลู ทเ่ี ป็นเลขจํานวนเตม็ ที่มีขนาดกวา้ งกว่า SMALLINT
NUMBER (X, Y) เปน็ ประเภทของตัวเลขท่มี เี ครื่องหมายและจุดทศนยิ มรวม X จํานวน และ

Y คือ จาํ นวนเลขหลังจุดทศนิยม
FLOAT (X, Y) เป็นประเภทของตวั เลขท่ีกาํ หนดในรูปแบบยกกาํ ลัง
CHARACTER (N) เปน็ สตรงิ ทีม่ ีขนาดคงทต่ี ามท่ีระบุ
VARCHAR สตริงขนาดไมค่ งที่
DATE เปน็ ขอ้ มูลประเภท เดอื น/วนั /ปี
LOGICAL เป็นขอ้ มูลท่มี คี า่ เปน็ ตรรกะที่เปน็ “T” (True) หรอื “F”(False)

ตวั อยา่ ง ให้สร้างตาราง/รเี ลชน่ั ช่อื login ในฐานขอ้ มูลชื่อ student_db แสดงดังรูปท่ี 5.4

รูปที่ 5.4 แสดงโครงสรา้ งตาราง login
3204-2005 ระบบฐานขอ้ มลู

  61

หนว่ ยที่ 5 ภาษาฐานขอ้ มูล

ตาราง/รเี ลช่นั login คาํ สั่งทใี่ ชด้ ังน้ี แสดงดงั รูปที่ 5.5
CREATE TABLE `login` (
`user` varchar(20) NOT NULL,
`pass` varchar(20) NOT NULL,
`fullname` varchar(60) NOT NULL,
`room` varchar(20) NOT NULL,
`teach` varchar(60) NOT NULL,
`score` int(3) NOT NULL,
PRIMARY KEY (`user`)
) ENGINE=MyISAM DEFAULT CHARSET=tis620;

ผลลพั ธท์ ไ่ี ด้

รูปท่ี 5.5 แสดงผลลพั ธ์ทีไ่ ดจ้ ากคําสงั่ SQL ในการสรา้ งโครงสรา้ งตาราง Login
3.3 คาํ สงั่ การเปลย่ี นแปลงโครงสร้างตาราง

คําสั่ง ALTER TABLE เป็นคําส่ังที่ใช้ในการเปล่ียนแปลงโครงสร้างที่มีการนิยามไว้แล้ว
เชน่ อาจต้องการเพิม่ แอททรบิ ิวตห์ รอื คอลมั น์ในตาราง หรือตอ้ งการเปล่ยี นประเภทของข้อมูล รวมไป
ถึงการเปลยี่ นแปลงคาํ สงั่ ควบคมุ ความคงสภาพ โดยมรี ูปแบบของคําส่งั ดงั นี้

3204-2005 ระบบฐานขอ้ มลู

  62

หนว่ ยท่ี 5 ภาษาฐานขอ้ มลู

รปู แบบคาํ ส่ัง
ALTER TABLE <TABLE NAME>
ADD (<COLUMN NAME><DATA TYPE><WIDTH>[,<COLUMN NAME>
<DATA TYPE>< WIDTH>,…]);

ตัวอย่าง ต้องการเพิ่มแอททริบิวต์ชื่อ AGE เพ่ิมอีกหน่ึงแอททริบิวต์ลงในตาราง LOGIN โดย
ใหม้ ีลกั ษณะเป็นตวั เลขที่มีความยาว 2 ตัว คําสั่งทใ่ี ชม้ ีดังน้ี แสดงดังรูปที่ 5.6

ALTER TABLE `login` ADD `age` INT(2) NOT NULL AFTER `fullname`;

รูปท่ี 5.6 แสดงผลลัพธท์ ่ไี ดจ้ ากคําสงั่ SQL ในการเปลยี่ นแปลงโครงสรา้ งตาราง LOGIN
3.3 การลบโครงสร้างตาราง

คําสงั่ DROP TABLE เป็นคาํ สง่ั ทใ่ี ชใ้ นการลบตาราง มรี ปู แบบดังนี้
รูปแบบคําส่งั

DROP TABLE <TABLE NAME>;
ตัวอยา่ ง ตอ้ งการลบโครงสรา้ งตาราง LOGIN ออกจากฐานขอ้ มูล คาํ สัง่ ทใ่ี ชม้ ีดังน้ี
แสดงดังรปู ที่ 5.7

DROP TABLE `login` ;

3204-2005 ระบบฐานขอ้ มลู

  63

หนว่ ยที่ 5 ภาษาฐานขอ้ มลู

รปู ที่ 5.7 แสดงผลลัพธ์ที่ได้จากคาํ ส่งั SQL ในการลบโครงสรา้ งตาราง LOGIN
3.4 คาํ ส่งั สร้างดชั นี

ดัชนี (Index) มีความสําคัญต่อฐานข้อมูลเชิงสัมพันธ์ เนื่องจาก DBMS ของฐานข้อมูล
ประเภทนจี้ ะใชด้ ัชนีในการคน้ หาแถวขอ้ มูลทตี่ อ้ งการได้อยา่ งรวดเร็ว นอกจากนี้ยังสามารถนํามาใช้ใน
การควบคุมคอลมั นท์ ี่นํามาสร้างเปน็ ดชั นีใหม้ ีการเกบ็ ข้อมูลไม่ซ้าํ กันได้อีกด้วย

คาํ สงั่ CREATE INDEX เป็นคาํ ส่ังทใ่ี ชใ้ นการสร้างดชั นี มีรูปแบบดังนี้
รปู แบบคําส่งั

CREATE [UNIQUE] INDEX <INDEX NAME>
ON<TABLE NAME><COLUMN NAME>[,COLUMN NAME]);
ตวั อยา่ ง ตอ้ งการสร้างดัชนโี ดยใช้แอททรบิ วิ ต์ SCORE ในตาราง LOGIN มคี าํ สง่ั ดงั นี้
แสดงดงั รูปท่ี 5.8

CREATE INDEX SCORENDX
ON LOGIN (SCORE);

3204-2005 ระบบฐานขอ้ มูล

  64

หน่วยท่ี 5 ภาษาฐานข้อมลู

รูปท่ี 5.8 แสดงผลลัพธ์ที่ไดจ้ ากคําสงั่ SQL ในการสรา้ งดชั นี
3.5 คําสงั่ ลบดัชนี

คาํ ส่ัง DROP INDEX เป็นคําสัง่ ทีใ่ ชใ้ นการลบ INDEX มีรปู แบบดงั น้ี
รูปแบบคาํ ส่งั

DROP INDEX <INDEX NAME>;
ตัวอย่าง ต้องการลบดัชนชี อ่ื SCORENDX ในตาราง LOGIN มคี ําสั่งดงั นี้
แสดงดงั รปู ท่ี 5.9

DROP INDEX `SCORENDX`;

รูปที่ 5.9 แสดงผลลพั ธ์ท่ีไดจ้ ากคาํ สง่ั SQL ในการลบดัชนี
3204-2005 ระบบฐานขอ้ มลู

  65

หน่วยที่ 5 ภาษาฐานข้อมลู
3.6 คาํ สง่ั สรา้ งววิ

คาํ สงั่ CREATE VIEW เป็นคาํ ส่งั ที่ใช้ในการสรา้ ง VIEW มีรปู แบบดงั น้ี
รปู แบบคําสง่ั

CREATE VIEW <VIEW NAME>
AS SELECT Statement;
ตัวอย่าง ต้องการสร้างววิ จากตาราง LOGIN โดยแสดงขอ้ มลู เฉพาะทมี่ ี SCORE มากกวา่ 50
มคี ําส่ังดงั น้ี แสดงดังรปู ท่ี 5.10

CREATE VIEW SCOREVIEW
AS SELECT USER, FULLNAME, ROOM, TEACH, SCORE
FROM LOGIN
WHERE SCORE>50;

รูปท่ี 5.10 แสดงผลลัพธ์ที่ไดจ้ ากคาํ สง่ั SQL ในการสร้างวิว ชอ่ื SCOREVIEW
3204-2005 ระบบฐานขอ้ มลู

  66

หนว่ ยที่ 5 ภาษาฐานข้อมลู
3.7 คาํ สงั่ ลบวิว

คาํ สัง่ DROP VIEW เป็นคําส่งั ในการลบ VIEW มีรูปแบบดงั น้ี
รปู แบบคําสงั่

DROP VIEW <VIEW NAME>;
ตัวอย่าง ต้องการลบวิว View ชื่อ scoreview ออกจากฐานขอ้ มลู Student_db มคี าํ ส่งั ดังนี้
แสดงดังรปู ท่ี 5.11

รูปที่ 5.11 แสดงผลลพั ธท์ ไ่ี ด้จากคําสงั่ SQL ในการลบววิ ช่อื SCOREVIEW

4. ภาษาสําหรบั การจดั การขอ้ มลู (Data Manipulation Language : DML)

การใช้คําสั่งสําหรับการนิยามข้อมูล (DDL) ในการสร้างโครงสร้างของฐานข้อมูล ท่ี
ประกอบด้วยตารางต่างๆ และดัชนีของตาราง ซึ่งตารางที่ถูกสร้างน้ียังไม่มีข้อมูล การป้อนข้อมูลเข้า
ไปในตาราง เพ่มิ เติมขอ้ มูล เรยี กคน้ ขอ้ มูล ลบแถวข้อมลู จะต้องใชค้ ําส่ังสําหรับการจดั การข้อมูล หรือ
เรียกย่อๆ ว่า DML คาํ ส่งั ตา่ งๆ ทีม่ ใี นภาษาสําหรับการจัดการขอ้ มลู มดี ังนี้

3204-2005 ระบบฐานขอ้ มูล

  67

หน่วยท่ี 5 ภาษาฐานข้อมลู

คาํ สั่ง ความหมาย
SELECT เรียกค้นขอ้ มลู ในตาราง
INSERT เพ่มิ แถวขอ้ มลู ลงไปในตาราง
UPDATE ปรบั ปรุงแถวข้อมูลในตาราง
DELETE ลบแถวขอ้ มูลในตาราง

4.1 คาํ ส่ังเรยี กคน้ ขอ้ มลู
คาํ สั่ง SELECT เป็นคําสงั่ ทใี่ ชใ้ นการเรียกข้อมลู จากฐานข้อมลู ตามทผ่ี ใู้ ชต้ อ้ งการ มี

รปู แบบดงั นี้

รปู แบบคาํ สง่ั

SELECT [*|DISTINCT] <TARGET LIST>
FROM <TABLE NAME> [<ALIASES.]

[WHERE PREDICATE]
[GROUP BY <COLUMN LIST>] [HAVING PREDICATE]
[ORDER BY <COLUMN LIST>];

*|DISTINCT เป็นการสั่งใหเ้ ลอื กขอ้ มูลท่ตี อ้ งการท้ังหมด ซง่ึ สามารถใช้
เครอ่ื งหมาย * แทนไดแ้ ตถ่ า้ ใช้ DISTINCT จะเลอื กข้อมลู ที่เปน็ ไป
ตามเงอ่ื นไขเฉพาะทูเพิลท่ีมขี อ้ มลู ไม่ซํา้ กนั

TARGET LIST เปน็ ชื่อของแอททริบิวต์ และนพิ จน์ทีต่ อ้ งการให้แสดงค่าออกมาตาม
ท่ตี ้องการ

FROM <TABLE NAME[ALIASES]> เปน็ การระบถุ ึงชอ่ื รเี ลชนั่ ที่ตอ้ งการใหด้ ึงขอ้ มูลออกมา
ส่วน ALIASES คือช่อื ของรเี ลชั่นทต่ี ั้งข้ึนใหม่

[WHERE <PREDICATE>] หมายถงึ เงื่อนไขทีร่ ะบขุ น้ึ เพอ่ื ดงึ ขอ้ มูลของทเู พิลตามท่ีต้องการใน
ส่วนของเงอ่ื นไขน้ี

[GROUP BY <COLUMN LIST>] [HAVING PREDICATE] เปน็ การจัดกลุ่มตามเงื่อนไขท่รี ะบุ
และภายใต้การจัดกลมุ่ กจ็ ะมเี ง่ือนไขที่จะใหแ้ สดงผลทเี่ กดิ จากการจดั
กล่มุ โดยใช้ HAVING

[ORDER BY <COLUMN LIST>] เป็นการระบุใหเ้ รียงลาํ ดบั ข้อมูลตามแอททรบิ ิวต์ทต่ี ้องการ
ถ้ามี ASC ตอ่ ท้ายช่อื ของแอททริบิวตเ์ ป็นการเรียงจากนอ้ ยไปหามาก
และถา้ เป็น DESC เปน็ การเรียงจากมากไปหาน้อย

3204-2005 ระบบฐานขอ้ มลู

  68

หน่วยท่ี 5 ภาษาฐานข้อมลู
ในการเรียกดูข้อมูล ข้อมูลที่ใช้เรียกดูจากตารางต่างๆ อาจจะไม่มีเงื่อนไขหรือมีระบุเง่ือนไข
โดยเงอื่ นไขทรี่ ะบุหลงั WHEREสามารถทําไดห้ ลายรปู แบบ อาจมเี พียงเงอื่ นไขเดยี ว หรือหลายเง่อื นไข
นอกจากนี้ยังสามารถระบุเงื่อนไขโดยเขียนเป็นข้อคําถามย่อย (Sub query) ได้เช่นกันรายละเอียดที่
เก่ยี วขอ้ งกับการเรยี กดูข้อมูลมดี ังนี้ คอื

1) การเรยี กดขู อ้ มลู แบบไมม่ ีเง่อื นไข
การเรียกดูข้อมูลแบบไม่มีเงื่อนไข อาจจะเป็นการเรียกดูข้อมูลท้ังตาราง หรือเรียกดู

เพยี งบางแอททรบิ วิ ต์ หรอื การเรยี กดขู อ้ มูลโดยการใหจ้ ดั เรยี งข้อมลู
ตวั อยา่ ง ใหแ้ สดงข้อมูลทง้ั หมดของตาราง LOGIN
SELECT *
FROM LOGIN;

ผลลัพธ์ท่ไี ด้ แสดงดังรปู ท่ี 5.12

รปู ท่ี 5.12 แสดงผลลัพธท์ ่ไี ด้จากคําสง่ั SQL ในการเรียกดขู อ้ มลู แบบไมม่ ีเง่อื นไข

3204-2005 ระบบฐานขอ้ มูล

  69

หนว่ ยท่ี 5 ภาษาฐานขอ้ มลู
ตวั อย่าง ใหแ้ สดง รหัสนักศกึ ษา ช่อื นักศึกษา และกลมุ่ เรยี น

SELECT USER, FULLNAME, ROOM
FROM LOGIN;
ผลลัพธท์ ไ่ี ด้ แสดงดงั รูปท่ี 5.13

รปู ที่ 5.13 แสดงผลลัพธเ์ ฉพาะรหสั นกั ศึกษา ชอ่ื นกั ศึกษา และกลุ่มเรียน
2) การเรียกดูขอ้ มูลแบบมีเงือ่ นไข

การเรียกดูข้อมูลแบบมเี งือ่ นไข เปน็ การระบชุ ่อื แอททรบิ วิ ต์ทีต่ อ้ งการระบุเปน็ เงือ่ นไข
และข้อมลู เฉพาะในอนุประโยค WHERE โดยการระบเุ ง่อื นไขจะนาํ โอเปอเรเตอรต์ า่ งๆ เข้ามาใช้ใน
การแสดงเงอื่ นไข โอเปอเรเตอร์ดงั กลา่ วมีดังนี้

(1) การเรยี กดขู ้อมลู แบบมเี งอื่ นไขโดยใชโ้ อเปอเรเตอร์ทางตรรกะและโอเปอเรเตอร์
บลู ีน

3204-2005 ระบบฐานขอ้ มลู

  70

หนว่ ยที่ 5 ภาษาฐานขอ้ มูล

โอเปอเรเตอรท์ างตรรกะ (Logical Operator) ใช้แสดงการเปรียบเทยี บค่าของ
ข้อมลู ซึ่งจะแสดงอย่รู ะหว่างชอ่ื คอลมั น์และขอ้ มูลเฉพาะท่ตี อ้ งการแสดงเป็นเงื่อนไข โอเปอเรเตอร์
ซง่ึ ประกอบด้วย

โอเปอเรเตอร์ ความหมาย
> มากกวา่
< นอ้ ยกวา่
= เทา่ กบั
>= มากกว่า เทา่ กับ
<= น้อยกวา่ เทา่ กบั
<> ไม่เทา่ กบั

ส่วนโอเปอเรเตอรบ์ ลู ีน (Boolean Operator) ใชส้ ําหรับการเรียกดูข้อมลู ทมี่ ี
เงอื่ นไขมากกว่าหนึ่งเงื่อนไข เชน่ AND หรือ OR หรอื ใชใ้ นการปฏเิ สธเง่ือนไข เชน่ NOT

ตวั อย่าง ให้แสดงรหสั นกั ศกึ ษา และชอ่ื นกั ศึกษา สาํ หรบั นักศึกษาที่มคี รูทปี่ รกึ ษา
เปน็ ครพู ยอม เหลา่ ชมุ พล หรอื นกั ศกึ ษาทม่ี ีคะแนนมากกว่า 80

SELECT USER, FULLNAME
FROM LOGIN
WHERE TEACH = ‘ครูพยอม เหลา่ ชมุ พล’ OR SCORE > 80;
ผลลพั ธ์ท่ีได้ แสดงดังรปู ท่ี 5.14

รูปที่ 5.14 แสดงผลลพั ธ์ทไ่ี ดจ้ ากคําส่ัง SQL ในการเรียกดขู ้อมลู แบบมีเง่ือนไข OR

3204-2005 ระบบฐานขอ้ มลู

  71

หนว่ ยท่ี 5 ภาษาฐานข้อมลู
(2) การเรียกดขู อ้ มลู แบบมีเงอื่ นไขโดยใช้โอเปอเรเตอร์ของ SQL โอเปอเรเตอรข์ อง SQL
ท่ใี ช้ในการกาํ หนดเง่ือนไขของขอ้ มลู ในอนุประโยค WHERE มีดงั น้ี

โอเปอเรเตอร์ BETWEEN AND
เป็นโอเปอเรเตอร์ท่ีกําหนดเง่ือนไขของแอททริบิวต์เป็นค่าระหว่างสองค่า โดย
โอเปอเรเตอร์ BETWEEN จะแสดงตอ่ จากชื่อแอททรบิ วิ ต์ท่ถี กู กําหนดใหเ้ ปน็ เงือ่ นไข
ตัวอย่าง ให้แสดงข้อมูลแอททริบิวต์ USER, FULLNAME และ SCORE จาก
รเี ลช่ัน LOGIN ทีม่ คี ะแนนระหวา่ ง 75 และ 85
SELECT USER, FULLNAME, SCORE
FROM LOGIN
WHERE SCORE BETWEEN 75 AND 85;
ผลลพั ธ์ที่ได้ แสดงดงั รูปที่ 5.15

รปู ที่ 5.15 แสดงผลลพั ธ์ท่ไี ด้จากคําสัง่ SQL ในการเรยี กดูขอ้ มูลแบบมเี งอ่ื นไข AND
3204-2005 ระบบฐานขอ้ มูล

  72

หน่วยท่ี 5 ภาษาฐานขอ้ มลู
โอเปอเรเตอร์ IN
เป็นโอเปอเรเตอร์ที่ใช้กับเง่ือนไขของคอลัมน์ที่ต้องการระบุเง่ือนไขเป็นกลุ่มของ
ข้อมูล โดยโอเปอเรเตอร์ IN จะแสดงต่อท้ายชื่อแอททริบิวต์ท่ีถูกระบุเป็นเงื่อนไข และกลุ่มของข้อมูล
ท่เี ป็นขอ้ มูลเฉพาะของแอททริบิวตท์ ี่เป็นเงอื่ นไขนี้ จะอยู่ในวงเลบ็ ( ) และมเี ครื่องหมาย , คัน่
ตวั อย่าง ใหแ้ สดงรายละเอียดของ รหัสนกั ศึกษา และช่ือนกั ศึกษา ท่ีกลมุ่ เรยี น
ปวส.1/1 หรอื ปวส.2/1

SELECT USER, FULLNAME
FROM LOGIN
WHERE ROOM IN (‘ปวส.1/1’, ‘ปวส.2/1’);
ผลลพั ธท์ ี่ได้ แสดงดังรปู ที่ 5.16

รูปที่ 5.16 แสดงผลลพั ธ์ที่ได้จากคําสั่ง SQL ในการเรยี กดูข้อมูลแบบมีเงื่อนไขโอเปอเรเตอร์ IN
3204-2005 ระบบฐานขอ้ มูล

  73

หน่วยท่ี 5 ภาษาฐานขอ้ มลู

โอเปอเรเตอร์ LIKE
เป็นโอเปอเรเตอร์ที่ใช้ในการค้นหาข้อมูลของคอลัมน์ท่ีเก็บข้อมูลประเภทตัวอักษร
เท่าน้ัน (CHARACTER) โดยท่ียังไม่ทราบค่าท่ีแน่นอนทั้งหมดของข้อมูลท่ีจะค้นหา หรือรู้เพียงบาง
อักษรเท่าน้ัน โดยโอเปอเรเตอร์ LIKE จะระบุต่อท้ายช่ือคอลัมน์ที่เป็นเงื่อนไข โดยจะใช้สัญลักษณ์ ที่
ช่วยในการค้นหาข้อมูลเป็นตัวช่วยในการค้นหาข้อมูลท่ีเรียกว่า “Wide Card” สัญลักษณ์ดังกล่าว
ประกอบด้วย % และ _ (เคร่ืองหมายขีดเส้นใต้) โดยข้อมูลบางส่วนท่ีใช้ในการค้นหาพร้อมกับ
สญั ลักษณท์ ัง้ สองนี้ จะต้องมีเครอ่ื งหมาย ‘ ’ กํากับเสมอ ความหมายของสญั ลกั ษณ์ทั้งสองเป็นดงั น้ี
สญั ลกั ษณ์ ความหมาย

% ใช้แทนจาํ นวนตัวอกั ษรได้หลายตัว
_ ใชแ้ ทนตัวอักษรทไี่ มท่ ราบคา่ 1 ตวั
เช่น นกั ศึกษาทม่ี ชี ื่อข้นึ ต้นด้วย พ จะเขยี นเงอ่ื นไขได้ดงั น้ี
WHERE FULLNAME LIKE พ%
นักศึกษาท่มี ีชอื่ ข้ึนด้วย ก และมคี วามหมายยาวรวม 7 ตวั อักษร จะเขยี นเง่อื นไขไดด้ ังนี้
WHERE FULLNAME LIKE ‘ก_______’
ตัวอยา่ ง ใหแ้ สดง ชือ่ นกั ศกึ ษา ท่ขี ึ้นต้นด้วยอักษร พ
SELECT *
FROM LOGIN
WHERE FULLNAME LIKE ‘พ%’;
ผลลพั ธท์ ไ่ี ด้ แสดงดังรปู ท่ี 5.17

รปู ที่ 5.17 แสดงผลลพั ธท์ ไ่ี ด้จากคาํ สัง่ SQL ในการเรียกดูขอ้ มูลแบบมีเง่อื นไขโอเปอเรเตอร์ LIKE

3204-2005 ระบบฐานขอ้ มลู

  74

หน่วยที่ 5 ภาษาฐานขอ้ มูล

(3) การเรียกดขู อ้ มลู จากรเี ลช่นั มากกว่าหนึง่ รีเลชั่น
คําสั่ง SELECT ยังสามารถใช้ในการเรียกดูข้อมูลหรือเช่ือมโยงข้อมูลจากตาราง

มากกวา่ หนึง่ ตาราง หรอื ท่ีเรียกว่า JOIN การเชอื่ มโยงขอ้ มลู จากหลายตาราง อาจจะเรียกดูข้อมูลแบบ
มเี ง่อื นไขหรือไม่มเี งอ่ื นไขกไ็ ด้

Equi Join
เป็นการเชื่อมโยงข้อมูลจากตารางหลายตาราง ซ่ึงตารางที่จะเช่ือมโยงกันจะต้องมี
แอททรบิ วิ ต์ทีจ่ ะอ้างองิ กนั ได้ โดยเงอื่ นไขที่ระบุจะเปรยี บเทยี บกันโดยใชเ้ ครื่องหมาย = (เทา่ กบั )

ตัวอย่าง ให้แสดงขอ้ มูลของรเี ลช่ัน LOGIN และ TEACHER ทอ่ี ยแู่ ผนกวิชา

เดียวกนั

SELECT L.USER ,L.FULLNAME,L.CODE_TEA , T.CODE_TEA, T.NAME_TEA
FROM LOGIN L , TEACHER T
WHERE L.CODE_TEA=T.CODE_TEA;

ผลลัพธท์ ไ่ี ด้ แสดงดังรปู ที่ 5.18

รูปที่ 5.18 แสดงผลลัพธ์ท่ีไดจ้ ากการเรียกดูข้อมูลจากรเี ลช่นั มากกวา่ หน่ึงรีเลช่นั Equi Join
3204-2005 ระบบฐานขอ้ มลู

  75

หนว่ ยท่ี 5 ภาษาฐานข้อมูล
Non-Equi Join
เป็นการเชื่อมโยงข้อมูล โดยเงื่อนไขที่แสดงไม่ใช่เคร่ืองหมาย = (เท่ากับ) แต่อาจ
เปน็ > < >= <= <> หรอื between and หรอื in เปน็ ต้น
ตวั อยา่ ง ใหแ้ สดงข้อมูลของนกั ศึกษา และคะแนนระหวา่ ง 70 ถึง 80

SELECT T.CODE_TEA, T.NAME_TEA , L.USER,L.FULLNAME, L.SCORE
FROM TEACHER T, LOGIN L WHERE SCORE BETWEEN 70 AND 80
AND T.CODE_TEA=L.CODE_TEA;
ผลลพั ธ์ท่ไี ด้ แสดงดังรปู ท่ี 5.19

รูปท่ี 5.19 แสดงผลลพั ธ์ท่ไี ดจ้ ากการเรยี กดูข้อมูลจากรีเลช่นั มากกว่าหน่ึงรเี ลชัน่ Non-Equi Join
Self Join
เป็นการเชื่อมโยงข้อมูลโดยใช้ตารางเดียวกัน และตั้งชื่อให้ตารางเป็นชื่ออีกช่ือหน่ึง

ทั้งนเ้ี พือ่ ประโยชน์ในการเชอื่ มโยงข้อมูล

3204-2005 ระบบฐานขอ้ มลู

  76

หนว่ ยท่ี 5 ภาษาฐานข้อมลู

ตวั อย่าง ใหแ้ สดงรหสั ครู และชือ่ ครู ท่ีอยแู่ ผนกวิชาเดียวกัน

SELECT T1.CODE_TEA, T1.NAME_TEA ,T2.CODE_TEA ,T2.NAME_TEA
FROM TEACHER T1, TEACHER T2
WHERE T1.DEPART_TEA = T2.DEPART_TEA
AND T1.CODE_TEA <> T2.CODE_TEA;

ผลลัพธ์ทีไ่ ด้ แสดงดงั รูปท่ี 5.20

รูปท่ี 5.20 แสดงผลลัพธท์ ไ่ี ดจ้ ากการเช่ือมโยงข้อมูลโดยใชต้ ารางเดยี วกัน Self Join

(4) การเรยี กขอ้ มูลโดยใช้ฟังก์ชั่นท่ีเก่ียวกับการรวม (Built-in Functions) ฟังก์ชั่นท่ีใช้
ใน SQL ประกอบด้วย AVG (ค่าเฉล่ีย) COUNT (นับจํานวน) MAX (ค่าสูงสุด) MIN (ค่าตํ่าสุด) และ
SUM (ผลรวม) ฟังกช์ ั่นทงั้ หา้ น้ีสามารถใช้ในคาํ สง่ั SELECT หรอื อนุประโยค HAVING

ฟังกช์ ั่นทางคณิตศาสตร์ (Numeric Functions)

ฟงั ก์ชน่ั ผลทไี่ ด้จากการใชฟ้ งั กช์ ่นั

AVG [*DISTINCT]<column name> หรอื เป็นฟงั กช์ น่ั ทใ่ี ช้ในการหาค่าเฉล่ยี ของคอลมั น์หนึง่ ๆ

AVG[*DISTINCT]<column expression> ท่ีเกบ็ ขอ้ มลู ประเภทตวั เลข

COUNT[*DISTINCT]<column name> เป็นฟงั ก์ชนั่ ทใ่ี ชใ้ นการนบั จํานวนแถว

MAX [*DISTINCT]<column name> หรอื เปน็ ฟงั กช์ นั่ ที่ใช้ในการคาํ นวณหาคา่ สงู สุดของ

MAX[*DISTINCT]<column expression> คอลมั นท์ กี่ าํ หนดใหห้ าค่า

MIN[*DISTINCT]<column name> หรือ เป็นฟงั ก์ช่นั ที่ใชใ้ นการคาํ นวณหาค่าตาํ่ สดุ ของ

MIN[*DISTINCT]<column expression> คอลมั น์ทกี่ ําหนดให้หาค่า

3204-2005 ระบบฐานขอ้ มลู

  77

หนว่ ยท่ี 5 ภาษาฐานขอ้ มลู

SUM[*DISTINCT]<column name> หรือ เป็นฟังก์ชั่นทีใ่ ชใ้ นการหาผลรวมของคอลัมน์หนึ่งๆ
SUM[*DISTINCT]<column expression> ท่เี กบ็ ขอ้ มูลประเภทตวั เลข

นอกเหนือจากการใช้ฟังก์ชั่นทางคณิตศาสตร์แล้ว การแสดงผลในลักษณะของการจัด
กลุ่มข้อมูลยังสามารถใช้ GROUP BY เพื่อสั่งให้จัดกลุ่มตามแอททริบิวต์ท่ีต้องการให้จัดกลุ่มเฉพาะลง
ไป เช่น การให้แสดงยอดรวมของการส่งสินค้าตามรหัสผู้ผลิตรายใดรายหน่ึง เป็นต้น ในกรณีที่ใช้
GROUP BY การระบุชื่อแอททริบิวต์ที่จะเรียกข้อมูลออกมาจะต้องเป็นข้อมูลของแอททริบิวต์ท่ีถูก
ระบุให้จดั กลุม่ โดยอนปุ ระโยค GROUP BY

การใช้อนุประโยค GROUP BY อาจจะใช้ร่วมกับอนุประโยค HAVING เพ่ือให้แสดง
ข้อมูลท่ีได้ผ่านการจัดกลุ่มโดย GROUP BY และแสดงเพียงบางข้อมูลท่ีเป็นตามเงื่อนไขที่ระบุใน
อนปุ ระโยค HAVING

ตวั อยา่ ง ใหแ้ สดงผลรวมรายไดร้ ะหว่างเรยี นของนกั ศกึ ษากลมุ่ เรียน ปวส.2/1
SELECT SUM(INCOME)
FROM LOGIN
WHERE ROOM = 'ปวส.2/1';
ผลลัพธท์ ี่ได้ แสดงดังรูปที่ 5.21

รปู ที่ 5.21 แสดงผลลัพธท์ ไ่ี ด้จากการใชฟ้ งั ก์ช่นั ในการหาผลรวม

ตวั อย่าง ให้แสดงรหัสนักศกึ ษา และชือ่ นักศกึ ษา ท่มี รี ายได้ระหว่างเรยี น
SELECT USER, FULLNAME
FROM LOGIN
GROUP BY INCOME HAVING COUNT(*);

3204-2005 ระบบฐานขอ้ มูล

  78

ผลลัพธท์ ่ีได้ แสดงดังรปู ที่ 5.22 หน่วยที่ 5 ภาษาฐานขอ้ มูล

รปู ที่ 5.22 แสดงผลลัพธท์ ่ไี ด้จากการใชฟ้ ังกช์ น่ั ในการนับจาํ นวนแถว

4.2 คาํ สั่งเพิ่มแถวขอ้ มูล
คาํ สัง่ INSERT เป็นคาํ ส่งั ทใ่ี ชใ้ นการใสข่ ้อมลู ทูเพลิ ลงในตารางหนึ่ง โดยการเพมิ่ ข้อมูลจะ

เพิ่มไดท้ ลี ะหน่งึ ทเู พลิ ตอ่ ครง้ั มรี ูปแบบดงั น้ี

รูปแบบคําสง่ั

INSERT INTO <TABLE NAME>
[<COLUMN LIST>] VALUES (<VALUE LIST>);

TABLE NAME คอื ช่อื ของตาราง ซึ่งจะมกี ารเพม่ิ ขอ้ มูล
COLUMN LIST คือ ชื่อของแอททรบิ วิ ตท์ ่ตี ้องการเพมิ่ ขอ้ มูลลงไป ถ้าตารางมีมากกว่า

1 แอททริบวิ ต์ ใหร้ ะบุโดยเครอ่ื ง , คน่ั
VALUE LIST คือ ค่าของแอททรบิ ิวตท์ ่ตี ้องการเพ่ิมเขา้ ไปในรเี ลชัน่ และถา้ เป็น

ขอ้ มลู ประเภทตวั อักษรจะตอ้ งมเี ครอ่ื งหมาย ‘ ’ กาํ กับ

3204-2005 ระบบฐานขอ้ มูล

  79

หนว่ ยท่ี 5 ภาษาฐานข้อมลู

ตวั อย่าง ใหใ้ ส่ข้อมลู ในตาราง TEACHER
INSERT INTO `student_db`.`teacher` (`code_tea`, `name_tea`,
`depart_tea`, `class_tea`) VALUES ('5430000215', 'นวรตั น์ วฒั นาวารกี ุล',
'คอมพิวเตอร์ธุรกิจ', 'ปวส.1/1');

ผลลัพธ์ที่ได้ แสดงดงั รูปที่ 5.23

รูปท่ี 5.23 แสดงผลลพั ธ์ท่ไี ดจ้ ากการเพม่ิ แถวข้อมูลลงในตาราง TEACHER
4.3 คําสง่ั ปรบั ปรงุ แถวขอ้ มลู

คําสัง่ UPDATE เป็นคาํ ส่ังทใ่ี ช้ในการเปลีย่ นแปลงข้อมลู ในแต่ละรีเลชั่น มีรปู แบบดังนี้
รปู แบบคาํ สัง่

UPDATE <TABLE NAME>
SET <COLUMN NAME 1> = <VALUE 1>

[,<COLUMN NAME 2> = <VALUE 2>
…, <COLUMN NAME N> = <VALUE N>]

[WHERE <CONDITIONS>];
3204-2005 ระบบฐานขอ้ มูล

  80

หน่วยที่ 5 ภาษาฐานข้อมลู

TABLE NAME หมายถึง ตารางท่ขี ้อมูลตอ้ งการเปลย่ี นแปลงเป็นค่าใหม่

COLUMN NAME หมายถงึ ชอ่ื ของแอททริบิวต์ท่ตี อ้ งการเปล่ยี นค่าใหม่

VALUE หมายถึง คา่ ใหมข่ องแอททรบิ วิ ตท์ ี่จะเปลีย่ นข้อมูล

CONDITION หมายถึง เง่ือนไขของข้อมลู ทีจ่ ะนาํ มาปรบั ปรุง

ตวั อย่าง ปรับคะแนนให้กับนักศกึ ษาเฉพาะนกั ศึกษาทม่ี รี ายได้ระหว่างเรยี น ปรบั
คะแนนเป็น 85 คะแนน

UPDATE LOGIN SET SCORE = 85 WHERE INCOME > 0;

ผลลัพธท์ ไี่ ด้ แสดงดังรูปท่ี 5.24

รูปท่ี 5.24 แสดงผลลัพธท์ ี่ได้จากการปรับปรุงแถวข้อมลู ในตาราง LOGIN
4.4 คาํ ส่ังลบแถวข้อมลู

คําสง่ั DELETE เป็นคําสั่งที่ใชใ้ นการลบขอ้ มลู ในแตล่ ะทูเพลิ มีรูปแบบดังนี้
รูปแบบคําสั่ง

DELETE FROM <TABLE NAME> [WHERE <CONDITIONS>];
ตัวอย่าง ใหล้ บนักศึกษาท่มี รี หัส 5332040111

DELETE FROM LOGIN WHERE USER = ‘5332040111’;

3204-2005 ระบบฐานขอ้ มลู

  81

ผลลพั ธท์ ไี่ ด้ แสดงดังรูปท่ี 5.25 หน่วยท่ี 5 ภาษาฐานข้อมูล

รปู ที่ 5.25 แสดงผลลพั ธ์ทีไ่ ด้จากการลบแถวข้อมูลในตาราง LOGIN

5. ภาษาสําหรบั การควบคมุ ขอ้ มูล (Data Control Language : DCL)

การกําหนดสิทธ์ิในการใช้ข้อมูลในตาราง กําหนดระดับของข้อมูลในการเรียกใช้ เช่น ผู้ใช้บาง
กลุ่มสามารถดูข้อมูลได้อย่างเดียว ไม่สามารถแก้ไขปรับปรุงข้อมูลได้ หรือผู้ใช้บางกลุ่มสามารถแก้ไข
ปรับปรงุ ข้อมลู ได้ แต่หา้ มลบขอ้ มูล เปน็ ตน้ คาํ สั่งในภาษาสาํ หรับการควบคุมขอ้ มลู มดี ังน้ี

คาํ สัง่ ความหมาย
GRANT กาํ หนดสิทธใ์ิ หแ้ กผ่ ใู้ ช้
REVOKE ยกเลิกสทิ ธิ์แกผ่ ้ใู ช้

5.1 คาํ สง่ั กําหนดสิทธใิ์ หแ้ ก่ผู้ใช้
คาํ สง่ั GRANT เป็นคาํ ส่ังกําหนดสิทธ์ใิ ห้แกผ่ ู้ใช้ มรี ูปแบบดงั นี้

รูปแบบคาํ ส่งั

GRANT <PRIVILEGE LIST> ON TABLE
<RELATION OR VIEW NAME> TO <USER LIST>

PRIVILEGE LIST หมายถงึ สิทธิใ์ นการจดั การข้อมูลหรอื ตาราง เชน่ การสืบค้นข้อมูล (SELECT)
การเพม่ิ (INSERT) การลบ (DELETE) หรอื การแกไ้ ขปรับปรงุ (UPDATE) ฯลฯ

RELATION OR VIEW NAME หมายถงึ ตารางหรอื ววิ ทใี่ ห้สทิ ธใิ์ นการจดั การข้อมลู ในตารางหรอื
วิวทก่ี าํ หนดน้ี

USER LIST หมายถงึ กลมุ่ ผูใ้ ช้ทถ่ี กู ใหส้ ทิ ธิ์ในการจัดการขอ้ มลู น้ัน

3204-2005 ระบบฐานขอ้ มลู

  82

หนว่ ยท่ี 5 ภาษาฐานขอ้ มลู
ตวั อย่าง ต้องการกาํ หนดสทิ ธิ์ให้ pasin ในการเรยี กดขู อ้ มลู จากตาราง LOGIN ได้
อยา่ งเดยี ว จะกาํ หนดสิทธิไ์ ดด้ ว้ ยคาํ สงั่ ตอ่ ไปนี้

GRANT SELECT ON TABLE LOGIN TO PASIN;
ผลลพั ธ์ท่ไี ด้ แสดงดงั รูปท่ี 5.26

รปู ท่ี 5.26 แสดงผลลพั ธ์ท่ีได้จากการกําหนดสิทธ์ิใหแ้ กผ่ ู้ใช้
5.2 คาํ ส่ังยกเลกิ สทิ ธแ์ิ กผ่ ใู้ ช้

คําสัง่ REVOKE เปน็ คาํ ส่งั ท่ใี ชย้ กเลกิ สทิ ธ์ิใดๆ ท่เี คยใหแ้ กผ่ ใู้ ช้ มรี ูปแบบดงั นี้
รปู แบบคาํ สง่ั

REVOKE <PRIVILEGE> ON TABLE
<RELATION OR VIEW NAME> FROM < USERS LIST>

ตัวอยา่ ง ต้องการยกเลกิ สทิ ธ์แิ ก่ PASIN ในการสบื ค้นขอ้ มลู จากตาราง LOGIN ทาํ ได้
ด้วยคาํ สง่ั ต่อไปน้ี

REVOKE SELECT ON TABLE LOGIN FROM PASIN

3204-2005 ระบบฐานขอ้ มลู

  83

หน่วยที่ 5 ภาษาฐานข้อมูล

ZZZ สรุป

ภาษาเอสคิวแอล (SQL) ที่มีชื่อเต็มว่า Structured Query Language เป็นภาษาท่ีใช้ใน
การจัดการข้อมูลท่ีอยู่ภายในฐานข้อมูลเชิงสัมพันธ์ สามารถแบ่งหน้าท่ีของภาษา SQLตาม
องค์ประกอบหลักของภาษาได้ 3 องค์ประกอบ คือ ภาษาสําหรับการนิยามข้อมูล (Data Definition
Language:DDL) ภาษาสําหรับการจัดการข้อมูล (Data Manipulation Language:DML) และภาษา
สําหรบั การควบคุมขอ้ มูล (Data Control Language:DCL)

ภาษาสําหรับการนิยามข้อมูล เป็นภาษาที่ผู้ออกแบบฐานข้อมูลใช้ในการสร้างโครงสร้างตาราง
ต่างๆ ภายในฐานข้อมูล ประกอบด้วยคําส่ังท่ีใช้ในการสร้างโครงสร้างตาราง การเพิ่มแอททริบิวต์ใน
ตาราง การลบตาราง การสร้างดัชนี การลบดชั นี การสร้างและลบวิว เป็นตน้ ภาษาสาํ หรับการจัดการ
ข้อมูล เป็นภาษาที่ใช้ในการบันทึกข้อมูลเข้าไปเก็บไว้ในตาราง ประกอบด้วยคําส่ังท่ีใช้ในการเรียกค้น
ข้อมูล คําสั่งเพ่ิมแถวข้อมูล คําสั่งปรับปรุง และลบแถวข้อมูล ส่วนภาษาสําหรับการควบคุมข้อมูล
เป็นภาษาที่ใช้ในการกําหนดสิทธิ์ในการใช้ข้อมูลในตาราง และกําหนดระดับของการใช้งาน
ประกอบดว้ ยคําสั่งทีใ่ ชใ้ นการกําหนดสิทธิ์ให้แก่ผู้ใช้ และการยกเลิกสิทธิ์แก่ผู้ใช้ คําส่ังภาษาฐานข้อมูล
ทั้งหมดในหน่วยการเรียนนี้ จะใช้ระบบจัดการฐานข้อมูล phpMyAdmin ในการจัดการฐานข้อมูล
MySQL

3204-2005 ระบบฐานขอ้ มูล

  84

หน่วยที่ 5 ภาษาฐานขอ้ มลู

แบบฝึกหดั ทา้ ยหนว่ ยท่ี 5

คาํ ส่งั ใหน้ ักศกึ ษาตอบคําถามตอ่ ไปน้ี (ใหเ้ ขียนคําตอบลงในสมุด)
1. SQL มาจากคาํ ว่าอะไร.....................................................................................................................
2. ภาษา SQL ทมี่ ีการรวมแนวความคดิ เชิงวัตถุ (Object-Oriented Concept) ไวด้ ว้ ย ได้แก่

ภาษา SQL เวอร์ช่นั .........................................................................................................................
3. องคป์ ระกอบของภาษา SQL มกี ี่องค์ประกอบ ประกอบด้วยอะไรบ้าง

.........................................................................................................................................................
4. คาํ สั่งทใี่ ชใ้ นภาษาสําหรบั นิยามข้อมูล ไดแ้ กค่ าํ สง่ั อะไรบา้ ง และมีความหมายอยา่ งไร

.........................................................................................................................................................
5. คาํ สั่งทใี่ ช้ในภาษาสําหรับการจัดการขอ้ มูล ได้แก่คาํ สั่งอะไรบา้ ง และมีความหมายอยา่ งไร

.........................................................................................................................................................
6. คําสัง่ ที่ใชใ้ นภาษาสําหรบั การควบคุมข้อมูล ได้แก่คาํ สั่งอะไรบ้าง และมีความหมายอยา่ งไร

.........................................................................................................................................................
7. ใหส้ ร้างตาราง staff ในฐานขอ้ มูล employee ดงั รายละเอยี ดต่อไปน้ี

3204-2005 ระบบฐานขอ้ มลู

  85

staff หนว่ ยท่ี 5 ภาษาฐานขอ้ มูล

จากฐานข้อมลู employee ตาราง staff ขา้ งตน้ ใหน้ ักศึกษาให้เขียนคาํ สงั่ ภาษา SQL
ขอ้ ท่ี 7.1 - 7.6

7.1 สรา้ งฐานขอ้ มลู ชอื่ employee
..................................................................................................................................................

7.2 สร้างโครงสรา้ งตาราง staff
..................................................................................................................................................

7.3 ปอ้ นข้อมลู ในตาราง staff
..................................................................................................................................................

7.4 เขียนคําสัง่ เพ่ือเพ่มิ เงนิ เดือนจํานวน 1,000 บาท ให้กับพนกั งานท่ีมเี งนิ เดือนน้อยกว่า
10,000 บาท
..................................................................................................................................................

7.5 เขยี นคําส่ังแสดงรายชื่อ และเงนิ เดือนเฉพาะพนกั งานท่มี เี งนิ เดอื น อยูร่ ะหวา่ ง 10,000 ถึง
20,000 บาท
..................................................................................................................................................

7.6 เขยี นคาํ สง่ั แสดงขอ้ มลู พนกั งานทีม่ ตี ําแหนง่ พนกั งานธรุ การ
..................................................................................................................................................

3204-2005 ระบบฐานขอ้ มูล


Click to View FlipBook Version