การพัฒนาเอกสารออนไลน์ขั้นสูง lect 03
DESCRIPTION
การสร้างสรรค์ การพัฒนาและการจัดการเอกสารออนไลน์ ปฏิสัมพันธ์ขั้นสูง ในเรื่องการพัฒนาเว็บไซต์ ปฏิสัมพันธ์ภาพเคลื่อนไหวสำหรับเว็บ การออกแบบปฏิสัมพันธ์ และการพัฒนาสื่อดิจิทัลออนไลน์รูปแบบต่างๆTRANSCRIPT
SStructured tructured QQuery uery LLanguageanguage
SQL เป็�นภาษาที่�ใช้�สำ�าหรั�บจั�ดการัฐานข้�อมู�ลโดยเฉพาะ ด�งน�$นจั%งน�ามูาใช้�ใน ซอฟต์)แวรั)รัะบบข้�อมู�ลเช้,งสำ�มูพ�นธ์)
สามารถแบ่�งได้� 3 ประเภท
1 . ภาษานิ�ยามข้�อม�ล (Data Definition Language :DDL)2 . ภาษาจั�ด้การข้�อม�ล (Data Manipulation Language :DML)3 . ภาษาควบ่ค มข้�อม�ล (Data Control Language :DCL)
ชนิ�ด้ข้�อม�ลท"#ใช�ก�บ่ค%าส�#ง ชนิ�ด้ข้�อม�ลท"#ใช�ก�บ่ค%าส�#ง 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
ชนิ�ด้ข้�อม�ลท"#ใช�ก�บ่ค%าส�#ง ชนิ�ด้ข้�อม�ลท"#ใช�ก�บ่ค%าส�#ง SQL SQL ต่�อต่�อ
ช้น,ดเลข้จั�านวน (Numeric Data) เป็�นช้น,ดข้�อมู�ลที่�คำ�านวณได� แบ0งออกได�หลายป็รัะเภที่ เช้0น จั�านวนเต์6มู โดยรัะบ5ว0า Integer, จั�านวนจัรั,ง โดยรัะบ5ว0าDecimal
ช้น,ดว�นเวลา (Data Time Data) เป็�นช้น,ดข้�อมู�ลเพ1�อเก6บข้�อมู�ล ว�น โดยรัะบ5ว0าDate, ข้�อมู�ลเวลา โดยรัะบ5ว0า Time
1. 1. ภาษานิ�ยามข้�อม�ล ภาษานิ�ยามข้�อม�ล (Data Definition Language :DDL)(Data Definition Language :DDL)
เป็�นช้5ดคำ�าสำ��งที่�ใช้�การัน,ยามู ก�าหนด หรั1อการัสำรั�างข้�อมู�ลบนฐานข้�อมู�ล เช้0น Table, Index, View ได�แก0คำ�าสำ��ง Create Table, Create view เป็�นต์�น
ต์�วอย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)
ผิลล�พธ์)sid name major level
ต่าราง student
- sid (ค"ย'หล�ก) ข้นิาด้ 10 ต่�วอ�กษร จัะเป)นิค�าว�างไม�ได้� และจัะม"ค�าไม�ซ้ำ%+าก�นิ- name ข้นิาด้ 50 ต่�วอ�กษรแบ่บ่ไม�คงท"# และเป)นิค�าว�างไม�ได้�- major ข้นิาด้ 3 ต่�วอ�กษรเป)นิค�าว�างไม�ได้� หร,อเป)นิค�าในิวงเล-บ่- level ข้นิาด้ 1 ต่�วอ�กษร
(DDL)(DDL)
Desc student ด�โคำรังสำรั�างต์ารัาง
รั�ป็แบบการัยกเล,กต์ารัาง
DROP TABLE student;
ต์�วอย0าง
DROP TABLE TableName [RESTRICT | CASCADE];
คำ�าสำ��งที่�ใช้�สำ�าหรั�บการัยกเล,กต์ารัางมูรั�ป็แบบด�งน$
(DDL)(DDL)
รั�ป็แบบการัเป็ล�ยนแป็ลงโคำรังสำรั�างต์ารัาง เมู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)
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
ต์�วอย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
การัเพ,�มูข้�อมู�ล โดยการัด%งข้�อมู�ลมูาจัากต์ารัางมูรั�ป็แบบคำ�าสำ��งด�งน$
INSERT INTO TableName (Column1,Column2,..)SELECT Statement;
INSRET INTO studentSELECT*FROM student_Old;
DML
ต์�วอย0าง
รั�ป็แบบ
การัแก�ไข้ ข้�อมู�ลในต์ารัางมูรั�ป็แบบคำ�าสำ��งด�งน$
UPDATE TableNameSET Column1 = Value1,[Column2 = Value2,..][WHERE Criteria];
Column1 = ช้1�อคำอล�มูน)ที่�ต์�องการัแก�ไข้ข้�อมู�ลValue1 = คำ0าข้�อมู�ลที่�ต์�องการัแก�ไข้Criteria = เง1�อนไข้ในการัแก�ไข้ข้�อมู�ล
DML
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
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
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
ผิลล�พธ์)
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
การัลบข้�อมู�ลในต์ารัางมูรั�ป็แบบคำ�าสำ��งด�งน$
DELETE FROM TableName[WHERE Criteria];
ต์�วอย0าง 1. การัลบข้�อมู�ล
DELETE FROM student[WHERE major=‘IS’];
DML
ผิลล�พธ์)
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
ต์�วอย0าง 2. การัลบข้�อมู�ลDELETE FROM student;
ผิลล�พธ์)
sid name major level
ต่าราง student
การัคำ�นหาข้�อมู�ล มูรั�ป็แบบคำ�าสำ��งที่��วไป็ ด�งน$
การค�นิหาข้�อม�ลการค�นิหาข้�อม�ล
SELECT [DISTINCT] Column,…FROM TableName,….[WHERE Criteria][GROUP BY GroupColumn,..][HAVING Criteria][ORDER BY OrderColumn,..]
GroupColumn = ช้1�อคำอล�มูน)ที่�ให�จั�ดกล50มูต์ามูOrderColumn = ช้1�อคำอล�มูน)ที่�ให�จั�ดล�าด�บข้�อมู�ล
ต์�วอย0าง 1. การัคำ�นข้�อมู�ล
SELECT student.sid,student.nameFROM student;
DML
ผิลล�พธ์)sid name
4700112001
อาภรัณ) คำ�าก�อน
4600102002
จัารั5ณ ใจักล�า
4600102003
สำมูพล กล�าหาญ
4600102004
ช้าญ อ,สำรัะ
4600102005
กรัว,ภา ใจัด
ต่าราง student
ต์�วอย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
คำ�าสำ��ง DISTINCT จัะใช้�ในกรัณที่�ต์�องการัคำอล�มูน)ที่�ไมู0ซ�$าก�น
ต์�วอย0าง 1. ถ�$าไมู0ใช้�คำ�าสำ��ง DISTINCT
SELECT major FROM student;
ผิลล�พธ์) major
IS
IS
NMD
CS
MIS DML
คำ�าสำ��ง DISTINCT จัะใช้�ในกรัณที่�ต์�องการัคำอล�มูน)ที่�ไมู0ซ�$าก�น
ต์�วอย0าง 2. ถ�$าใช้�คำ�าสำ��ง DISTINCT
SELECT DISTINCT major FROM student;
ผิลล�พธ์) major
IS
NMD
CS
MIS
DML
คำ�าสำ��ง WHERE ใช้�ในกรัณต์�องการัข้�อมู�ลบางเรัคำอรั)ด
ต่�วอย�าง 1. การค�นิหา
SELECT *FROM studentWHERE student.major = ‘NMD’;
DML
ผิลล�พธ์) ต่าราง student
sid name major level
4600102003
สำมูพล กล�าหาญ NMD 4
ค%าส�#ง 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;
ผิลล�พธ์)
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;
ภาษาควบ่ค มข้�อม�ล ภาษาควบ่ค มข้�อม�ล (Data Control Language :DCL)(Data Control Language :DCL)
เป็�นคำ�าสำ��งสำ�าหรั�บที่�ใช้�ในการัคำวบคำ5มูสำ,ที่ธ์,8ข้องผิ��ใช้�ในการัใช้�ข้�อมู�ล รัวมูที่�$งคำวบคำ5มูใช้�งานฐานข้�อมู�ลเช้0น คำ�าสำ��ง GRANT, REVOKE เป็�นต์�น
ต์�วอย0าง การัก�าหนดสำ,ที่ธ์,
GRANT SELECTON studentTO student
ผิลคำ1อ ผิ��ใช้� student มูสำ,ที่ธ์,ในการั Select ข้�อมู�ลในต์ารัาง student
ต์�วอย0าง การัยกเล,กสำ,ที่ธ์,
REVOKE SELECTON studentFROM student
ผิลคำ1อ ผิ��ใช้� student ถ�กยกเล,กสำ,ที่ธ์,ในการั Select ข้�อมู�ลในต์ารัาง student