Back to Home

DataBase System

Lesson1234579101112131415

Lesson 6 : SQL



Lesson Plan
Section No.
Section 1
Section 2
Section 3
Test
PDF file
PPT File


<<Prev pageCourse MapNext page>>

Print content of this page
Save content of this page

 

การบันทึกข้อมูล การปรับปรุงข้อมูลและการลบข้อมูล

ในระบบฐานข้อมูล การบันทึกข้อมูล การปรับปรุงข้อมูลและการลบข้อมูลถือเป็นสิ่งสำคัญ ในภาษา SQL มีภาษาสำหรับการจัดการข้อมูล (Data manipulation Language : DML) ซึ่งเป็นภาษาที่ใช้ในการบันทึกข้อมูล การปรับปรุงข้อมูลและการลบข้อมูล ภาษาสำหรับการจัดการข้อมูล เป็นส่วนประกอบหนึ่งในภาษา SQL โดยภาษาสำหรับการจัดการข้อมูลใช้สำหรับจัดการข้อมูลภายในตารางของฐานข้อมูล ในการใช้คำสั่งที่เป็นภาษาสำหรับนิยามข้อมูลของภาษา SQL เช่น CREATE TABLE จะทำให้ได้โครงสร้างตารางว่างๆ ที่ยังไม่มีข้อมูลใดๆเก็บอยู่ คำสั่งในภาษาสำหรับการจัดการข้อมูลจะเป็นคำสั่งที่ช่วยในการจัดการข้อมูลภายในโครงสร้างตารางที่สร้างขึ้น ตัวอย่างของคำสั่งในภาษาสำหรับการจัดการข้อมูล จะเป็นคำสั่งการปรับปรุงข้อมูล ได้แก่ การเพิ่มข้อมูล (INSERT) การปรับปรุง (UPDATE) และ การลบข้อมูล (DELETE)ซึ่งจะกล่าวต่อไป และคำสั่งการเรียกค้นข้อมูลได้แก่คำสั่ง(SELECT)ซึ่งจะกล่าวในเรื่องต่อไป

คำสั่งที่ใช้ในการปรับปรุงข้อมูลของภาษา SQL คือ การเพิ่มข้อมูล (INSERT) การปรับปรุงข้อมูล (UPDATE) และ การลบข้อมูล (DELETE) เป็นคำสั่งในภาษาการจัดการข้อมูล เมื่อโครงสร้างหลักของตารางได้ถูกกำหนดขึ้นเรียบร้อยแล้ว ก็จะทำการบันทึกข้อมูลลงในตารางหลักหรืออาจทำการปรับปรุง หรือลบข้อมูลในภายหลัง คำสั่งทั้ง 3 นี้ เมื่อดำเนินการในภาษา SQL จะไม่แสดงผลลัพธ์ออกมาทางหน้าจอ แต่ผลของคำสั่งจะมีผลต่อข้อมูล ผู้ใช้สามารถดูผลของการใช้คำสั่งในการเพิ่มข้อมูล การปรับปรุงและการลบข้อมูล โดยใช้คำสั่งการเรียกค้นข้อมูล(SELECT)

1. คำสั่งการเพิ่มข้อมูล

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

1.1 คำสั่งการเพิ่มข้อมูลทีละแถวโดยระบุข้อมูลที่จะ INSERTเข้าไปโดยตรง รูปแบบของคำสั่งเป็นดังนี้

INSERT INTO <tablename>[(column 1, column 2,…)]

VALUE(<value1,value2, …>);

INSERT INTO เป็นคำสั่งที่ต้องมีทุกครั้งที่ต้องการเพิ่มข้อมูล

tablename ชื่อตารางที่จะเพิ่มข้อมูล

column 1, column 2,…คอลัมที่ต้องการเพิ่มข้อมูล

value1,value2, ค่าข้อมูลของแต่ละคอลัมภ์ที่ต้องการเพิ่ม

ตัวอย่าง ถ้าต้องการจะใส่ข้อมูลทุกคอลัมน์ลงในตารางลูกค้า

INSERT INTO SALESTAB

VALUES( 1001, “Chaiwat”, “Bangkok”,0.12);

ผลของคำสั่งนี้ จะมีข้อมูลปรากฎในทุกคอลัมน์ในตารางพนักงานขายดังนี้

SALENO

SALENAME

ADDRESS

SALECOM

1001

Chaiwat

Bangkok

0.12

ตัวอย่าง ถ้าต้องการจะใส่ข้อมูลบางคอลัมน์ เช่น ชื่อเมือง Bangkok ชื่อลูกค้า Arlee และหมายเลขลูกค้า 2001 ลงในตารางลูกค้า ใช้คำสั่งดังนี้

INSERT INTO CUSTOMERSTAB(ADDRESS,CUSNAME,CUSNO)

VALUES( 'Bangkok','Arlee', 2001);

ผลของคำสั่งในตารางลูกค้า จะทำให้คอลัมน์ ADDRESS มีค่าเป็น Bangkok คอลัมน์ CUSNAME จะมีค่าเป็น Arlee คอลัมน์ CUSNO จะมีค่าเป็น 2001ดังนี้

CUSNO

CUSNAME

ADDRESS

RATING

SALENO

2001

Arlee

Bangkok

   

จะเห็นว่าไม่ได้ใส่ค่าในคอลัมน์ RATING และ SALENO ไว้ ดังนั้นทั้งสองคอลัมน์นี้จะมีค่าเป็น NULL โดยอัตโนมัติ

1.2 คำสั่งการเพิ่มข้อมูลโดยการดึงกลุ่มข้อมูลด้วยคำสั่งค้นหาข้อมูล ในภาษา SQL สามารถใช้คำสั่ง INSERT ในการนำค่าหรือหาค่าจากตารางหนึ่งแล้วไปใส่ไว้ในอีกตาราหนึ่งได้ โดยได้ค่านั้นมาจากการสอบถามข้อมูล รูปแบบเป็นดังนี้

INSERT INTO <table name>[(column 1, column 2,…)]

SELECT statement;

INSERT INTO เป็นคำสั่งที่ต้องมีทุกครั้งที่ต้องการเพิ่มข้อมูล

tablename ชื่อตารางที่จะเพิ่มข้อมูล

SELECT statement ประโยคคำสั่ง SELECTที่ต้องการข้อมูลอีกตารางหนึ่ง

ตัวอย่าง ถ้าต้องการใส่ข้อมูลพนักงานลงในตาราง BANGKOKSTAFF โดยข้อมูลที่จะใส่ลงไปนั้นได้มาจากตารางพนักงานขายที่อาศัยอยู่ใน “Bangkok“

INSERT INTO BANGKOKSTAFF

SELECT *

FROM SALESTAB

WHERE ADDRESS = ‘Bangkok’;

ผลของคำสั่งนี้จะทำให้ได้ข้อมูลพนักงานที่อยู่ในเมือง Bangkok ( ADDRESS = ‘Bangkok’) ทั้งหมดไปใส่ไว้ในตาราง BANGKOKSTAFF โดยตาราง BANGKOKSTAFF ได้ถูกสร้างไว้แล้วด้วยคำสั่ง CREATE TABLE ในการสร้างตาราง BANGKOKSTAFF จะต้องสร้างให้มี 4 คอลัมน์และมีชนิดข้อมูลตรงกับคอลัมน์ของตารางพนักงานขาย (โดยไม่จำเป็นต้องมีชื่อคอลัมน์เหมือนกัน)

2. คำสั่งปรับปรุงแถวข้อมูล

หลังจากที่ป้อนข้อมูลเข้าไปเก็บไว้ในตารางแล้ว กรณีที่ต้องการปรับปรุงแก้ไขข้อมูลสามารถทำได้ด้วยภาษา SQL การปรับปรุงแถวข้อมูลเป็นการปรับปรุงหรือแก้ไขค่าคอลัมน์ ซึ่งในคำสั่งปรับปรุงข้อมูลอาจมีมากกว่า 1 คอลัมน์ในแถวทุกแถวที่มีเงื่อนไขสอดคล้องกับที่ระบุไว้หลังคำว่า WHERE

รูปแบบของคำสั่งปรับปรุงแถวข้อมูลมีดังนี้

UPDATE <table name> SET <column 1>[, column 2,…] = <expression |sunquery>

[WHERE<condition>];

UPDATE เป็นคำสั่งที่ต้องมีทุกครั้งที่ต้องการปรับปรุงข้อมูล

table name ชื่อตารางที่ต้องการปรับปรุง

SET <column > ชื่อคอลัมน์ที่ต้องการปรับปรุง

expression ค่าข้อมูลที่ต้องการปรับปรุง

WHERE<condition> เงื่อนไขในการปรับปรุง

ตัวอย่าง ถ้าต้องการเปลี่ยนค่า RATING ของลูกค้าทั้งหมดในตารางลูกค้าให้เป็น 200 จะต้องป้อนคำสั่งดังนี้

UPDATE CUSTOMERSTAB

SET RATING = 200;

ผลของคำสั่งจะทำให้คอลัมน์ RATING ของตารางลูกค้ามีค่าเป็น 200 ทุกแถวและเมื่อเข้าไปดูข้อมูลในตารางลูกค้าจะปรากฎข้อมูลดังนี้

หากต้องการจะเปลี่ยนเฉพาะแถวใดแถวหนึ่งเท่านั้นก็สามารถทำได้ดังนี้

ตัวอย่าง ถ้าต้องการจะเปลี่ยนค่า RATING ให้กับลูกค้าทั้งหมด ที่มีหมายเลขประจำตัวพนักงานขาย(SALENO) เป็น 1001 ให้มีค่า RATINGเป็น 200

UPDATE CUSTOMERSTAB

SET RATING = 200

WHERE SALENO = 1001;

ผลของคำสั่งจะทำให้ตารางลูกค้าเดิมเปลี่ยนเป็นตารางใหม่ในตารางใหม่นี้ ลูกค้าทั้งหมดที่มีหมายเลขประจำตัวเป็น 1001 จะมีค่า RATING เป็น 200 ดังนี้

3. คำสั่งการลบข้อมูลทั้งแถว

คำสั่งในการลบแถวข้อมูล เป็นคำสั่งที่ใช้ในการลบแถวข้อมูลทุกแถวที่มีเงื่อนไขสอดคล้องกับที่ระบุไว้หลัง WHERE คำสั่งการลบข้อมูลมีรูปแบบทั่วไปดังนี้

DELETE FROM <table name>

[WHERE<condition>];

DELETE FROM เป็นคำสั่งที่ต้องมีทุกครั้งที่ต้องการลบข้อมูล

table name ชื่อตารางที่ต้องการลบข้อมูล

WHERE<condition> เงื่อนไขในการลบข้อมูล

ตัวอย่าง ถ้าต้องการลบแบบมีเงื่อนไข เช่น ต้องการลบพนักงานขายชื่อ Ternjai ซึ่งมีหมายเลขพนักงาน (SALENO)=1003 ออกจากตารางจะใช้คำสั่งว่า

DELETE FROM SALESTAB

WHERE SALENO = 1003;

ผลของคำสั่งจากตารางพนักงานขายเดิมจะทำให้ได้ตารางใหม่ดังนี้

ตารางพนักงานขาย(SALESTAB)

SALENO

SALENAME

ADDRESS

SALECOM

1001

Chaiwat

Bangkok

0.12

1002

Mitree

Puket

0.13

1004

Benjawan

Bangkok

0.11

1007

Kanjana

Chiangmai

0.15

1003

Ternjai

Nonthaburi

0.10

SALENO

SALENAME

ADDRESS

SALECOM

1001

Chaiwat

Bangkok

0.12

1002

Mitree

Puket

0.13

1004

Benjawan

Bangkok

0.11

1007

Kanjana

Chiangmai

0.15

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

ตัวอย่าง ถ้าต้องการลบรายละเอียดทั้งหมดของตารางพนักงานขายจะต้องป้อนคำสั่งต่อไปนี้

DELETE FROM SALESTAB;

ในตารางพนักงานขายก็จะว่างไม่มีค่าใดๆ อยู่แต่ตารางยังปรากฎอยู่ ถ้าต้องการตารางออกไปจะใช้คำสั่ง DROP TABLE

ตัวอย่าง ถ้าต้องการลบตาราง SALESTABใช้คำสั่งดังนี้

DROP TABLE SALESTAB;

 

 

Last Updated: 12/13/2001 11:22:12 AM
© โครงการเครือข่ายสารสนเทศเพื่อพัฒนาการศึกษา ทบวงมหาวิทยาลัย