sql - wordpress.com · 2017-05-21 · ประวัติของ sql...

Post on 12-Jul-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

กลมค าสงของภาษา SQL

1. กลมค าสง Data Definition Language (DDL) เปนกลมค าสงทใชส าหรบสรางฐานขอมล และก าหนด

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

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

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

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

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

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

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

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

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

การใชงาน SQL 1. แบบฝงในโปรแกรม 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 , Price FROM Books WHERE Price BETWEEN 500 AND 1000

Title Price Windows98 500 C 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 Program PHP

DBMS

Relational Calculus - What Relational Algebra - How

Where is SQL?

mySQL

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

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

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

SQL มหนาทหลายประการดงน

Data Definition- ก าหนดโครงสรางการสรางฐานขอมล Data Manipulation/Updates- ปรบปรงฐานขอมล

Data Retrieval (Queries)- แบบสอบถาม And others (not covered in this chapter)

Data control

Transaction control

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

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

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

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

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

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

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

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

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

EmployeeNumber FirstName LastName 100 Mary Abermany 700 Jerry Caldera 300 Jasan Copley 40 Murugan Jacksoni

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

ทคอลมน EmployeeNumber=300

SQL FirstName

Jasan

ประเภทของค าสง SQL Data 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 include 1. (เทากบ) Equals “=“

2. (ไมเทากบ) Not Equals “<>”

3. (มากกวา) Greater than “>”

4. (นอยกวา) Less than “<“

5. (มากกวาและเทากบ) Greater than or Equal to “>=“

6. (นอยกวาและเทากบ) Less than or Equal to “<=“

Match Operators Multiple matching criteria may be specified using

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

(intersection) • OR (หรอ)

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

intersection

A UNION B

Operator Examples SELECT 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

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

top related