sql - wordpress.com · 2017-05-21 · ประวัติของ sql...
Post on 12-Jul-2020
2 Views
Preview:
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