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

30
S S tructured tructured Q Q uery uery L L anguage anguage SQL เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเ สสสสสสสสสสสสส 3 สสสสสส 1. สสสสสสสสสสสสสสส (Data Definition Language :DDL) 2. สสสสสสสสสสสสสสสส (Data Manipulation Language :DML) 3. สสสสสสสสสสสสสสสส (Data Control Language :DCL)

Upload: jenchoke-tachagomain

Post on 28-May-2015

670 views

Category:

Documents


0 download

DESCRIPTION

การสร้างสรรค์ การพัฒนาและการจัดการเอกสารออนไลน์ ปฏิสัมพันธ์ขั้นสูง ในเรื่องการพัฒนาเว็บไซต์ ปฏิสัมพันธ์ภาพเคลื่อนไหวสำหรับเว็บ การออกแบบปฏิสัมพันธ์ และการพัฒนาสื่อดิจิทัลออนไลน์รูปแบบต่างๆ

TRANSCRIPT

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

SStructured tructured QQuery uery LLanguageanguage

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

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

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

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

ชนิ�ด้ข้�อม�ลท"#ใช�ก�บ่ค%าส�#ง ชนิ�ด้ข้�อม�ลท"#ใช�ก�บ่ค%าส�#ง SQLSQL

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

ช้น,ดต์�วอ�กษรั (Character Data) ข้�อมู�ลช้น,ดน$จัะไมู0สำามูารัถน�ามูาคำ�านวณได�มูการัใช้� 2 ล�กษณะ คำ1อ

- แบบคำวามูยาวคำงที่� (Fixed Length) การัก�าหนดช้น,ดต์�วอ�กษรัแบบน$ที่�าได�โดยรัะบ5คำ�าว0า CHAR เช้0น รัะบ5 50 คำวามูยาวได� 50 ต์�ว

- แบบคำวามูยาวไมู0คำงที่� (Variable Length) การัก�าหนดช้น,ดข้องข้�อมู�ลต์�วอ�กษรั โดยข้%$นอย�0ก�บคำวามูยาวและจัะจั�ดเก6บข้�อมู�ลจัรั,ง จั%งป็รัะหย�ดเน1$อที่�ในการัเก6บข้�อมู�ล ที่�าได�โดยรัะบ5คำ�าว0า VARCHAR

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

ชนิ�ด้ข้�อม�ลท"#ใช�ก�บ่ค%าส�#ง ชนิ�ด้ข้�อม�ลท"#ใช�ก�บ่ค%าส�#ง SQL SQL ต่�อต่�อ

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

ช้น,ดว�นเวลา (Data Time Data) เป็�นช้น,ดข้�อมู�ลเพ1�อเก6บข้�อมู�ล ว�น โดยรัะบ5ว0าDate, ข้�อมู�ลเวลา โดยรัะบ5ว0า Time

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

1. 1. ภาษานิ�ยามข้�อม�ล ภาษานิ�ยามข้�อม�ล (Data Definition Language :DDL)(Data Definition Language :DDL)

เป็�นช้5ดคำ�าสำ��งที่�ใช้�การัน,ยามู ก�าหนด หรั1อการัสำรั�างข้�อมู�ลบนฐานข้�อมู�ล เช้0น Table, Index, View ได�แก0คำ�าสำ��ง Create Table, Create view เป็�นต์�น

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

ต์�วอย0าง รั�ป็แบบการัสำรั�างต์ารัาง

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)(DDL)

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

ผิลล�พธ์)sid name major level

ต่าราง student

- sid (ค"ย'หล�ก) ข้นิาด้ 10 ต่�วอ�กษร จัะเป)นิค�าว�างไม�ได้� และจัะม"ค�าไม�ซ้ำ%+าก�นิ- name ข้นิาด้ 50 ต่�วอ�กษรแบ่บ่ไม�คงท"# และเป)นิค�าว�างไม�ได้�- major ข้นิาด้ 3 ต่�วอ�กษรเป)นิค�าว�างไม�ได้� หร,อเป)นิค�าในิวงเล-บ่- level ข้นิาด้ 1 ต่�วอ�กษร

(DDL)(DDL)

Desc student ด�โคำรังสำรั�างต์ารัาง

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

รั�ป็แบบการัยกเล,กต์ารัาง

DROP TABLE student;

ต์�วอย0าง

DROP TABLE TableName [RESTRICT | CASCADE];

คำ�าสำ��งที่�ใช้�สำ�าหรั�บการัยกเล,กต์ารัางมูรั�ป็แบบด�งน$

(DDL)(DDL)

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

รั�ป็แบบการัเป็ล�ยนแป็ลงโคำรังสำรั�างต์ารัาง เมู1�อต์�องการัเป็ล�ยนแป็ลงโคำรังสำรั�างต์ารัาง เช้0น ป็รั�บเป็ล�ยนช้1�อคำอล�มูน)

เพ,�มูหรั1อลบคำอล�มูน)ในต์ารัาง

เพ,�มู=> ALTER TABLE TableName ADD ColumnName DataType (Size);ลบ => ALTER TABLE TableName DROP ColumnName;ป็รั�บช้1�อ=> 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;

ป็รั�บช้1�อ=> ALTER TABLE `student ` CHANGE `name ` `fname ` VARCHAR( 50 )

ต์�วอย0าง

(DDL)(DDL)

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

2. 2. ภาษาจั�ด้การข้�อม�ลภาษาจั�ด้การข้�อม�ล (Data Manipulation (Data Manipulation Language :DML)Language :DML)

เป็�นช้5ดคำ�าสำ��งที่�ใช้�ป็รัะมูวลผิล จั�ดการัก�บข้�อมู�ลในฐานข้�อมู�ล ได�แก0 การัเพ,�มู การัแก�ไข้ การัลบ และการัคำ�นข้�อมู�ล

SELECT, INSERT,UPDATE

การัเพ,�มูข้�อมู�ลในต์ารัางที่�าได� 2 แบบคำ1อ การัเพ,�มูคำ0าโดยต์รัง,การัด%งจัากคำ0าต์ารัาง

รัะบ5คำ0าที่�ต์�องการัเพ,�มูโดยต์รัง มูรั�ป็แบบคำ�าสำ��งด�งน$INSERT INTO TableName (Column1,ColumnN)VALUES (Value1,ValueN);

Column = ช้1�อคำอล�มูน)ที่�ต์�องการัเพ,�มูValue = คำ0าข้�อมู�ลที่�ต์�องการัเพ,�มู DML

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

ต์�วอย0าง การัเพ,�มูข้�อมู�ลโดยการัรัะบ5คำ0า

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

sid name major level

4700112001

อาภรัณ) คำ�าก�อน IS 3

4600102004

ช้าญ อ,สำรัะ CS 4

ผิลล�พธ์) ต่าราง student

DML

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

การัเพ,�มูข้�อมู�ล โดยการัด%งข้�อมู�ลมูาจัากต์ารัางมูรั�ป็แบบคำ�าสำ��งด�งน$

INSERT INTO TableName (Column1,Column2,..)SELECT Statement;

INSRET INTO studentSELECT*FROM student_Old;

DML

ต์�วอย0าง

รั�ป็แบบ

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

การัแก�ไข้ ข้�อมู�ลในต์ารัางมูรั�ป็แบบคำ�าสำ��งด�งน$

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

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

DML

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

sid name major level

4700112001

อาภรัณ) คำ�าก�อน IS 3

4600102002

จัารั5ณ ใจักล�า IS 4

4600102003

สำมูพล กล�าหาญ NMD 4

4600102004

ช้าญ อ,สำรัะ CS 4

4600102005

กรัว,ภา ใจัด MIS 4

ต่าราง student

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

1. UPDATE student SET major= ‘MIS’;

DML

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

sid name major level

4700112001

อาภรัณ) คำ�าก�อน MIS 3

4600102002

จัารั5ณ ใจักล�า MIS 4

4600102003

สำมูพล กล�าหาญ MIS 4

4600102004

ช้าญ อ,สำรัะ MIS 4

4600102005

กรัว,ภา ใจัด MIS 4

ผิลล�พธ์) 1. UPDATE student SET major= ‘MIS’;

DML

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

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

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

sid name major level

4700112001

อาภรัณ) คำ�าก�อน IS 3

4600102002

จัารั5ณ ใจักล�า IS 4

4600102003

สำมูพล กล�าหาญ NMD 4

4600102004

ช้าญ อ,สำรัะ CS 4

4600102005

กรัว,ภา ใจัด MIS 4

ต่าราง student

DML

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

ผิลล�พธ์)

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

sid name major level

4700112001

อาภรัณ) คำ�าก�อน MIS 3

4600102002

จัารั5ณ ใจักล�า MIS 4

4600102003

สำมูพล กล�าหาญ NMD 4

4600102004

ช้าญ อ,สำรัะ CS 4

4600102005

กรัว,ภา ใจัด MIS 4

ต่าราง student

DML

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

การัลบข้�อมู�ลในต์ารัางมูรั�ป็แบบคำ�าสำ��งด�งน$

DELETE FROM TableName[WHERE Criteria];

ต์�วอย0าง 1. การัลบข้�อมู�ล

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

DML

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

ผิลล�พธ์)

sid name major level

4700112001

อาภรัณ) คำ�าก�อน IS 3

4600102002

จัารั5ณ ใจักล�า IS 4

4600102003

สำมูพล กล�าหาญ NMD 4

4600102004

ช้าญ อ,สำรัะ CS 4

4600102005

กรัว,ภา ใจัด MIS 4

ต่าราง student

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

DML

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

ต์�วอย0าง 2. การัลบข้�อมู�ลDELETE FROM student;

ผิลล�พธ์)

sid name major level

ต่าราง student

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

การัคำ�นหาข้�อมู�ล มูรั�ป็แบบคำ�าสำ��งที่��วไป็ ด�งน$

การค�นิหาข้�อม�ลการค�นิหาข้�อม�ล

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

GroupColumn = ช้1�อคำอล�มูน)ที่�ให�จั�ดกล50มูต์ามูOrderColumn = ช้1�อคำอล�มูน)ที่�ให�จั�ดล�าด�บข้�อมู�ล

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

ต์�วอย0าง 1. การัคำ�นข้�อมู�ล

SELECT student.sid,student.nameFROM student;

DML

ผิลล�พธ์)sid name

4700112001

อาภรัณ) คำ�าก�อน

4600102002

จัารั5ณ ใจักล�า

4600102003

สำมูพล กล�าหาญ

4600102004

ช้าญ อ,สำรัะ

4600102005

กรัว,ภา ใจัด

ต่าราง student

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

ต์�วอย0าง 2. การัคำ�นข้�อมู�ล

SELECT *FROM student;

DML

ผิลล�พธ์) ต่าราง student

sid name major level

4700112001

อาภรัณ) คำ�าก�อน IS 3

4600102002

จัารั5ณ ใจักล�า IS 4

4600102003

สำมูพล กล�าหาญ NMD 4

4600102004

ช้าญ อ,สำรัะ CS 4

4600102005

กรัว,ภา ใจัด MIS 4

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

คำ�าสำ��ง DISTINCT จัะใช้�ในกรัณที่�ต์�องการัคำอล�มูน)ที่�ไมู0ซ�$าก�น

ต์�วอย0าง 1. ถ�$าไมู0ใช้�คำ�าสำ��ง DISTINCT

SELECT major FROM student;

ผิลล�พธ์) major

IS

IS

NMD

CS

MIS DML

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

คำ�าสำ��ง DISTINCT จัะใช้�ในกรัณที่�ต์�องการัคำอล�มูน)ที่�ไมู0ซ�$าก�น

ต์�วอย0าง 2. ถ�$าใช้�คำ�าสำ��ง DISTINCT

SELECT DISTINCT major FROM student;

ผิลล�พธ์) major

IS

NMD

CS

MIS

DML

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

คำ�าสำ��ง WHERE ใช้�ในกรัณต์�องการัข้�อมู�ลบางเรัคำอรั)ด

ต่�วอย�าง 1. การค�นิหา

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

DML

ผิลล�พธ์) ต่าราง student

sid name major level

4600102003

สำมูพล กล�าหาญ NMD 4

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

ค%าส�#ง ORDER BY ใช�ในิกรณี"ต่�องการจั�ด้เร"ยงข้�อม�ล

ล�กษณะการัจั�ดเรัยง แบ0งเป็�น - เรัยงจัากน�อยไป็หามูาก (Ascending:ASC) ไมู0จั�าเป็�นต์�องรัะบ5 - เรัยงจัากมูากไป็หาน�อย (Descending:DESC)

ต์�วอย0าง

SELECT sid,name,major,levelFROM studentWHERE student.level IN (‘3’,’4’)ORDER BY major,level DESC;

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

ผิลล�พธ์)

sid name major level

4600102002

จัารั5ณ ใจักล�า CS 4

4600102003

ช้าญ อ,สำรัะ CS 4

4600102005

กรัว,ภา ใจัด MIS 4

4600102004

สำมูพล กล�าหาญ NMD 4

4700112001

อาภรัณ) คำ�าก�อน IS 3

SELECT sid,name,major,levelFROM studentWHERE student.level IN (‘3’,’4’)ORDER BY major,level DESC;

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

ภาษาควบ่ค มข้�อม�ล ภาษาควบ่ค มข้�อม�ล (Data Control Language :DCL)(Data Control Language :DCL)

เป็�นคำ�าสำ��งสำ�าหรั�บที่�ใช้�ในการัคำวบคำ5มูสำ,ที่ธ์,8ข้องผิ��ใช้�ในการัใช้�ข้�อมู�ล รัวมูที่�$งคำวบคำ5มูใช้�งานฐานข้�อมู�ลเช้0น คำ�าสำ��ง GRANT, REVOKE เป็�นต์�น

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

ต์�วอย0าง การัก�าหนดสำ,ที่ธ์,

GRANT SELECTON studentTO student

ผิลคำ1อ ผิ��ใช้� student มูสำ,ที่ธ์,ในการั Select ข้�อมู�ลในต์ารัาง student

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

ต์�วอย0าง การัยกเล,กสำ,ที่ธ์,

REVOKE SELECTON studentFROM student

ผิลคำ1อ ผิ��ใช้� student ถ�กยกเล,กสำ,ที่ธ์,ในการั Select ข้�อมู�ลในต์ารัาง student