Upload
others
View
22
Download
0
Embed Size (px)
Citation preview
SQL(Structured Query Language)
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
วตถประสงคประวตของ SQL
เรยนรค ำสง SQL พนฐำนส ำหรบกำรสรำงโครงสรำงของฐำนขอมลเรยนรค ำสงส ำหรบกำร update ขอมล (เพม, ลบ, แกไข)
เรยนรค ำสงส ำหรบกำรเรยกดขอมลเบองตน SQL โดยใชฐำนขอมล MySQL
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
เบองตน SQLภาษา SQL
ระบบฐำนขอมลทนยมใชกนทวโลกมดวยกนหลำยระบบ แตทไดรบควำมนยมใชกน ในปจจบนสวนใหญพฒนำขนมำจำกพนฐำนของภำษำ SQL (Structure Query Language) พฒนำโดยบรษท IBM
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
เบองตน SQLค ำวำ SQL สำมำรถอำนออกเสยงได 2 แบบ คอ S Q L และ Sequel เรมพฒนำครงแรกในตนทศวรรษท 1970 ท San Jose Research Laboratory (ปจจบนเปลยนชอเปน Almaden Research Center) โดยมชอแรกวำ Sequel ตอมำไดเปลยนชอเปน SQL และเปนตนแบบภำษำ SQL ของผลตภณฑดำนฐำนขอมล เชน Oracle, DB2, MS-SQL Server, Progress, SyBase, Informic, dBASE, FoxPro, Access, Paradox, SQLite รวมทง MySQL
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
วตถประสงคของ SQL1. สรำงฐำนขอมลและรเลชน2. สนบสนนดำนกำรฐำนขอมล
• เพม • ลบ • แกไข ปรบปรง• กำรลบขอมลออกจำกกำร รเลชน
3. สนบสนนกำรควรขอมล (Query)
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
กลมค ำสงของภำษำ SQL1. กลมค ำสง Data Definition Language (DDL)
เปนกลมค ำสงทใชส ำหรบสรำงฐำนขอมล และก ำหนด
โครงสรำงใหกบตำรำง
2. กลมค ำสง Data Manipulation Language (DML)เปนกลมค ำสงทใชส ำหรบเพม ลบ หรอเปลยนแปลงขอมล
3. กลมค ำสง Data Query Language (DQL)เปนกลมค ำสงทใชส ำหรบสรำงฐำนขอมล และก ำหนด
โครงสรำงใหกบตำรำง
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
การใชงาน SQLกำรใชงำนค ำสง SQL สำมำรถใชได 2 ลกษณะ1. แบบโตตอบ Interactive SQL
2. แบบฝงในโปรแกรม Embedded SQL
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
การใชงาน SQL1. แบบโตตอบ Interactive SQL
แบบโตตอบเปนกำรปฏบตกำรทผใชสำมำรถเขยนค ำสงภำษำ SQL โตตอบกนบนจอภำพ เพอเรยกขอมลในขณะท ำงำนไดทนท
ตวอยำงเชน ตองกำรทรำบวำพนกงำนอย สำขำ 003 กใชค ำสง SELECT * FROM Employee WHERE branchNo = ‘003’;
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
การใชงาน SQL1. แบบฝงในโปรแกรม Embedded SQL แบบฝงโปรแกรมเปนกำรน ำค ำสง SQL ไปใช
โปรแกรมภำษำระดบสง ซงปจจบนมสนบสนนหลำยภำษำทสนบสนน เชน ภำษำซ ภำษำโคบอล
1. Embedded SQL
2. Application Programming Interface (API)
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
1. การสบคนขอมลดวยค าสง SQL
ฐานขอมลขอมลผลลพธ
Name Subject Gradeแสนด VB Aสดสวย VB Cสมบต Database Bสมศกด Database Bสมบรณ Database Aสมหวง VB A
SQL สบคนขอมล
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
แสดงขอมลทเปนชวง
Books
SELECT Title , PriceFROM BooksWHERE Price BETWEEN 500 AND 1000
Title Price
Windows98 500C Algorithm 1000
BookID Title PID Price
1001 Windows98 12 500
1002 Office97 12 150
1003 Java Vs C++ 5 250
1004 Database 4 155
1005 Netcape 4 490
1006 C Algorithm 12 1000
1007 Networking 4 1950
1008 Digitalimage
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
User ProgramPHP
DBMS
Relational Calculus - WhatRelational Algebra - How
Where is SQL?
mySQL
•SQL มพนฐำนมำจำกพชคณตเชงสมพนธ และมพนฐำนมำจำกแคลลลสเชงสมพนธ
(น.อ.ดร. ธนพนธ หรำยเจรญ ระบบฐำนขอมล)
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
ความหมายของ SQLSQL ไมใชภำษำคอมพวเตอรแตใชเพอในกำรจดกำรขอมลSQL มหนำทหลำยประกำรดงน
Data Definition- ก ำหนดโครงสรำงกำรสรำงฐำนขอมลData Manipulation/Updates- ปรบปรงฐำนขอมลData Retrieval (Queries)- แบบสอบถำมAnd others (not covered in this chapter)
Data control
Transaction control
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
โหมดการท างานของ SQLInteractive mode
สามารถรนค าสง SQL ไดโดยตรง
เชนการควรผานโปรแกรม MS Access หรอ SQL plus ของ Oracle
จะไดผลลพธทนท
Embedded modeใชค าสง SQL รวมกบโปรแกรมทเขยนขนดวยภาษาอน
ค าสง SQL จะท างานเมอโปรแกรมท างาน
ขอดคอสามารถน าขอมลมาประมวลผลตอได
เชน การท ารายงานทตองแสดงเปนกราฟ, การน าขอมลไปแสดงบนเวบ
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
ลกษณะการท างานของภาษา SQL
EmployeeNumber FirstName LastName100 Mary Abermany700 Jerry Caldera300 Jasan Copley40 Murugan Jacksoni
เลอกคาคอลมน FirstName
ทคอลมน EmployeeNumber=300
SQL FirstName
Jasan
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
ประเภทของค าสง SQLData Definition Language (DDL)
- ใชส ำหรบก ำหนดโครงสรำงของขอมล อนไดแก สรำง ลบ หรอเปลยนแปลงโครงสรำงของตำรำง
- คอค าสง CREATE(สรางdatabase), ALTER(เปลยนแปลง), DROP(ลบdatabase)
StudentID Name Birthday Class
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
Data Manipulation Language (DML)ใชงำนมำกทสดใชเรยกดขอมล (Retrieval operation)
SELECT
ใชอพเดตขอมล (Update operation)
INSERT ใชเกบขอมลลงในตำรำงUPDATE ใชแกไขคำของขอมลทเกบอยDELETE ใชลบแถวในตำรำง
ประเภทของค าสง SQL (Continued)
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
Data Control Language (DCL)ใชในการก าหนดสทธในกรณทมผใชงานหลายคน
ค าสง GRANT ใชก าหนดสทธใหกบผใช
ค าสง REVOKE ใชยกเลกหรอเรยกสทธคน
ใชควบคม Transaction
ค าสง COMMIT ใชยนยนการท างานหลงจากเสรจ Transaction
ค าสง ROLLBACK ใชยกเลกการกระท าทเกดขนกบ Transaction
ประเภทของค าสง SQL (Continued)
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
การก าหนดเงอนไข Criteria: WHERE
The WHERE clause stipulates the matching criteria for the record that are to be displayed
SELECT EmpName FROM Emp
WHERE DeptID =32 ;
John
EmpID EmpName DeptID
27 Mike 31
28 John 32
29 Jack 39
30 Krone 44
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
เครองหมายทางคณตศาสตรThe WHERE clause match criteria may include1. (เทากบ) Equals “=“
2. (ไมเทากบ) Not Equals “<>”
3. (มากกวา) Greater than “>”
4. (นอยกวา) Less than “<“
5. (มากกวาและเทากบ) Greater than or Equal to “>=“
6. (นอยกวาและเทากบ) Less than or Equal to “<=“
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
Match OperatorsMultiple matching criteria may be specified using
• AND (และ)• สวนทมกำรซอนทบระหวำงขอมล 2 ชด
(intersection)• OR (หรอ)
• สวนของขอมลทง2 ชดท union
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
intersection
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
A UNION B
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
Operator ExamplesSELECT EmpName FROM
Emp
WHERE DeptID < 31 OR
DeptID > 35;
SELECT EmpName FROM Emp
WHERE DeptID <= 31 AND
DeptID <= 32;
EmpID EmpName DeptID
27 Mike 31
28 John 32
29 Jack 39
30 Krone 44
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
ชนดของขอมล ชนดของขอมล(Data type) ไดแก
Data type ค ำอธบำย ตวอยำง
CHAR จะเอาไวเกบขอมลทเปน string(สายอกษร) โดยทขนาดของการเกบมความคงท เกบรวมชองวางดวย 1-255 อกษร
firstname CHAR(25);
VARCHAR ขอมลทเปน string(สายอกษร) โดยทขนาดของการเกบมความคงท คาวางดานทายจะตดออกไป 1-255 ตวอกษร
firstname CHAR(25);
INT(M) Unsigned INT เกบคาจ านวนเตม มคาตงแต -2147483648 ถง +2147483647 แตถาใส Unsigned จะมคาไดตงแต 0 ถง4294967295
light_year INT;electron INT unsigned;
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
ชนดของขอมล ชนดของขอมล(Data type) ไดแก ตอ
Data type ค ำอธบำย ตวอยำง
FLOAT ใชเกบเลขทศนยม เลข 4 และ 2 บอกวา ตวแปรนเกบคาได 4 ตว และเปนเลขทศนยม 2 ต าแหนงNote: 42.35 เกบคาไดถกตอง324.56 เกบคาเปน 324.5 ,2.2 เกบคาไดถกตอง , 34.524 ปดเปน 34.52
rainfall FLOAT(4,2);
DATE เกบขอมลในรป "YYYY-MM-DD" today DATE;
TEXT/BLOB เกบขอมลตงแต 255-65535 ตวอกษร ขอแตกตางระหวาง TEXT กบ BLOB คอ BLOB จะถอ cases sensitivity
comment BLOB;
SET เปนกลมของขอมลทยอมใหเลอกได 1 คาหรอหลายๆ คา สามารถก าหนดไดถง 64 คา เราสามารถเลอกได เปน "", "BUS", "UBU" หรอ "BUS,UBU";
university SET("BUS", "UBU", "UB", "Ubon");
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
ชนดของขอมล ชนดของขอมล(Data type) ไดแก ตอ
Data type ค ำอธบำย ตวอยำง
SET เปนกลมของขอมลทยอมใหเลอกได 1 คาหรอหลายๆ คา สามารถก าหนดไดถง 64 คา เราสามารถเลอกได เปน "", "BUS", "UBU" หรอ "BUS,UBU";
university SET("BUS", "UBU", "UB", "Ubon");
นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ
แบบฝกหดใหนกศกษำสรปค ำสง SQL
ใหนกศกษำสรป กลมค ำสงของภำษำ SQL
ก ำหนดเครองหมำย เครองหมำยทำงคณตศำสตร มอะไรบำง