sql - wordpress.com · ได้เปลี่ยนชื่อเป็น sql...

28
SQL (Structured Query Language)

Upload: others

Post on 07-Apr-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

SQL(Structured Query Language)

Page 2: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

วตถประสงคประวตของ SQL

เรยนรค ำสง SQL พนฐำนส ำหรบกำรสรำงโครงสรำงของฐำนขอมลเรยนรค ำสงส ำหรบกำร update ขอมล (เพม, ลบ, แกไข)

เรยนรค ำสงส ำหรบกำรเรยกดขอมลเบองตน SQL โดยใชฐำนขอมล MySQL

Page 3: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

เบองตน SQLภาษา SQL

ระบบฐำนขอมลทนยมใชกนทวโลกมดวยกนหลำยระบบ แตทไดรบควำมนยมใชกน ในปจจบนสวนใหญพฒนำขนมำจำกพนฐำนของภำษำ SQL (Structure Query Language) พฒนำโดยบรษท IBM

Page 4: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

เบองตน 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

Page 5: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

วตถประสงคของ SQL1. สรำงฐำนขอมลและรเลชน2. สนบสนนดำนกำรฐำนขอมล

• เพม • ลบ • แกไข ปรบปรง• กำรลบขอมลออกจำกกำร รเลชน

3. สนบสนนกำรควรขอมล (Query)

Page 6: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

กลมค ำสงของภำษำ SQL1. กลมค ำสง Data Definition Language (DDL)

เปนกลมค ำสงทใชส ำหรบสรำงฐำนขอมล และก ำหนด

โครงสรำงใหกบตำรำง

2. กลมค ำสง Data Manipulation Language (DML)เปนกลมค ำสงทใชส ำหรบเพม ลบ หรอเปลยนแปลงขอมล

3. กลมค ำสง Data Query Language (DQL)เปนกลมค ำสงทใชส ำหรบสรำงฐำนขอมล และก ำหนด

โครงสรำงใหกบตำรำง

Page 7: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

การใชงาน SQLกำรใชงำนค ำสง SQL สำมำรถใชได 2 ลกษณะ1. แบบโตตอบ Interactive SQL

2. แบบฝงในโปรแกรม Embedded SQL

Page 8: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

การใชงาน SQL1. แบบโตตอบ Interactive SQL

แบบโตตอบเปนกำรปฏบตกำรทผใชสำมำรถเขยนค ำสงภำษำ SQL โตตอบกนบนจอภำพ เพอเรยกขอมลในขณะท ำงำนไดทนท

ตวอยำงเชน ตองกำรทรำบวำพนกงำนอย สำขำ 003 กใชค ำสง SELECT * FROM Employee WHERE branchNo = ‘003’;

Page 9: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

การใชงาน SQL1. แบบฝงในโปรแกรม Embedded SQL แบบฝงโปรแกรมเปนกำรน ำค ำสง SQL ไปใช

โปรแกรมภำษำระดบสง ซงปจจบนมสนบสนนหลำยภำษำทสนบสนน เชน ภำษำซ ภำษำโคบอล

1. Embedded SQL

2. Application Programming Interface (API)

Page 10: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

1. การสบคนขอมลดวยค าสง SQL

ฐานขอมลขอมลผลลพธ

Name Subject Gradeแสนด VB Aสดสวย VB Cสมบต Database Bสมศกด Database Bสมบรณ Database Aสมหวง VB A

SQL สบคนขอมล

Page 11: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ 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

Page 12: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

User ProgramPHP

DBMS

Relational Calculus - WhatRelational Algebra - How

Where is SQL?

mySQL

•SQL มพนฐำนมำจำกพชคณตเชงสมพนธ และมพนฐำนมำจำกแคลลลสเชงสมพนธ

(น.อ.ดร. ธนพนธ หรำยเจรญ ระบบฐำนขอมล)

Page 13: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

ความหมายของ SQLSQL ไมใชภำษำคอมพวเตอรแตใชเพอในกำรจดกำรขอมลSQL มหนำทหลำยประกำรดงน

Data Definition- ก ำหนดโครงสรำงกำรสรำงฐำนขอมลData Manipulation/Updates- ปรบปรงฐำนขอมลData Retrieval (Queries)- แบบสอบถำมAnd others (not covered in this chapter)

Data control

Transaction control

Page 14: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

โหมดการท างานของ SQLInteractive mode

สามารถรนค าสง SQL ไดโดยตรง

เชนการควรผานโปรแกรม MS Access หรอ SQL plus ของ Oracle

จะไดผลลพธทนท

Embedded modeใชค าสง SQL รวมกบโปรแกรมทเขยนขนดวยภาษาอน

ค าสง SQL จะท างานเมอโปรแกรมท างาน

ขอดคอสามารถน าขอมลมาประมวลผลตอได

เชน การท ารายงานทตองแสดงเปนกราฟ, การน าขอมลไปแสดงบนเวบ

Page 15: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

ลกษณะการท างานของภาษา SQL

EmployeeNumber FirstName LastName100 Mary Abermany700 Jerry Caldera300 Jasan Copley40 Murugan Jacksoni

เลอกคาคอลมน FirstName

ทคอลมน EmployeeNumber=300

SQL FirstName

Jasan

Page 16: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

ประเภทของค าสง SQLData Definition Language (DDL)

- ใชส ำหรบก ำหนดโครงสรำงของขอมล อนไดแก สรำง ลบ หรอเปลยนแปลงโครงสรำงของตำรำง

- คอค าสง CREATE(สรางdatabase), ALTER(เปลยนแปลง), DROP(ลบdatabase)

StudentID Name Birthday Class

Page 17: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

Data Manipulation Language (DML)ใชงำนมำกทสดใชเรยกดขอมล (Retrieval operation)

SELECT

ใชอพเดตขอมล (Update operation)

INSERT ใชเกบขอมลลงในตำรำงUPDATE ใชแกไขคำของขอมลทเกบอยDELETE ใชลบแถวในตำรำง

ประเภทของค าสง SQL (Continued)

Page 18: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

Data Control Language (DCL)ใชในการก าหนดสทธในกรณทมผใชงานหลายคน

ค าสง GRANT ใชก าหนดสทธใหกบผใช

ค าสง REVOKE ใชยกเลกหรอเรยกสทธคน

ใชควบคม Transaction

ค าสง COMMIT ใชยนยนการท างานหลงจากเสรจ Transaction

ค าสง ROLLBACK ใชยกเลกการกระท าทเกดขนกบ Transaction

ประเภทของค าสง SQL (Continued)

Page 19: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

การก าหนดเงอนไข 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

Page 20: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

เครองหมายทางคณตศาสตร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 “<=“

Page 21: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

Match OperatorsMultiple matching criteria may be specified using

• AND (และ)• สวนทมกำรซอนทบระหวำงขอมล 2 ชด

(intersection)• OR (หรอ)

• สวนของขอมลทง2 ชดท union

Page 22: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

intersection

Page 23: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

A UNION B

Page 24: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

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

Page 25: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

ชนดของขอมล ชนดของขอมล(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;

Page 26: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

ชนดของขอมล ชนดของขอมล(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");

Page 27: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

ชนดของขอมล ชนดของขอมล(Data type) ไดแก ตอ

Data type ค ำอธบำย ตวอยำง

SET เปนกลมของขอมลทยอมใหเลอกได 1 คาหรอหลายๆ คา สามารถก าหนดไดถง 64 คา เราสามารถเลอกได เปน "", "BUS", "UBU" หรอ "BUS,UBU";

university SET("BUS", "UBU", "UB", "Ubon");

Page 28: SQL - WordPress.com · ได้เปลี่ยนชื่อเป็น SQL และเป็นต้นแบบภำษำ SQL ของ ผลิตภณัฑด์ำ้นฐำนขอ้มูล

นายไมตร รมทอง ระบบสารสนเทศเพอการจดการ คณะบรหารศาสตร ม.อบลฯ

แบบฝกหดใหนกศกษำสรปค ำสง SQL

ใหนกศกษำสรป กลมค ำสงของภำษำ SQL

ก ำหนดเครองหมำย เครองหมำยทำงคณตศำสตร มอะไรบำง