SQL - Structured Query Language

Download Report

Transcript SQL - Structured Query Language

SQL - Structured Query Language
เป็ นภาษามาตรฐานสําหรับระบบฐานข ้อมูลซงึ่ เป็ นภาษาทีพ
่ ัฒนาขึน
้ มา
โดยบริษัทไอบีเอ็ม ภาษา SQL เป็ นสว่ นหนึง่ ของระบบฐานข ้อมูลแบบ
ั่ เนล(Relational Database) ทีไ่ ด ้รับความนิยมมากเพราะง่ายต่อ
รีเลชน
ความเข ้าใจ และอยูใ่ นรูปภาษาอังกฤษ แบ่งออกเป็ น 2 สว่ น คือ
 ภาษาทีใ่ ชส้ ําหรับนิยามข ้อมูล (Data Definition Language : DDL)
 ภาษาสําหรับการจัดการข ้อมูลล (Data Manipulation Language:
DML)
 ภาษาควบคุม (Control Language)
 ภาษาในการเลือกข ้อมูล (Data Query Language)
SQL - Structured Query Language
้ า
ํ หร ับนิยามข้อมูล – DDL
1. ภาษาทีใ่ ชส
คําสง่ ั
ความหมาย
CREATE TABLE
DROP TABLE
ALTER TABLE
นิยามโครงสร ้างข ้อมูลในรูปตารางบนฐานข ้อมูล
ลบโครงสร ้างตารางข ้อมูลออกจากระบบ
แก ้ไขปรับปรุงโครงสร ้างตาราง
SQL - Structured Query Language
1.1 คําสง่ ั การสร้าง (Create) ได ้แก่ การสร ้างตารางและอินเด็กซ ์
CREATE TABLE <Table name>
( Attribute 1 Type 1,
Attribute 2 Type 2
)
CREATE Unique Index on X<Table name>
ต ัวอย่างคําสง่ ั
CREATE TABLE S1
(
SNO CHAR(5) Not NULL,
SNAME CHAR(10) ,
STATUS integer
)
CREATE Unique Index S1 on S1(SNO)
SQL - Structured Query Language
1.2 คําสง่ ั เปลีย
่ นแปลงโครงสร้าง
ื่ ตารางทีต
ALTER TABLE < ชอ
่ งั ้ ขึน
้ >
ื่ คอลัมน์ ประเภทข ้อมูล>);
<คําสงั่ การเปลีย
่ นแปลง> (<ชอ
่
ต ัวอย่างเชน
ALTER TABLE S1
ADD (SNAME CHAR(50));
ALTER TABLE S1
ADD (LNAME CHAR(50));
ALTER TABLE S1
DROP (LNAME CHAR(50));
SQL - Structured Query Language
1.3 คําสง่ ั ยกเลิก (Drop) ต่างๆ
การลบโครงสร ้างตาราง
ื่ ตารางทีต
DROP TABLE < ชอ
่ งั ้ ขึน
้ >
่
ต ัวอย่างเชน
DROP TABLE S1
SQL - Structured Query Language
1.3 คําสง่ ั ยกเลิก (Drop) ต่างๆ
การลบโครงสร ้างตาราง
ื่ ตารางทีต
DROP TABLE < ชอ
่ งั ้ ขึน
้ >
่
ต ัวอย่างเชน
DROP TABLE S1
SQL - Structured Query Language
ํ หร ับการจ ัดการข้อมูล (Data Manipulation Language 2. ภาษาสา
DML)
 Select Statement : การค ้นหาข ้อมูลจากฐานข ้อมูล
 Insert Statement : การเพิม
่ เติมข ้อมูลลงในตาราง (Table) จาก
ฐานข ้อมูล
 Delete Statement: การลบข ้อมูลลงออกจากตาราง (Table) จาก
ฐานข ้อมูล
 Update Statement: การเปลีย
่ นแปลงข ้อมูลลงในตาราง (Table) จาก
ฐานข ้อมูล
SQL - Structured Query Language
2.1 คําสง่ ั ค้นหาข้อมูล (Query Statement)
คําสงั่ SELECT เป็ นคําสงั่ การเรียกดูข ้อมูลหรือ ค ้นข ้อมูลตามเงือ
่ นไขทีร่ ะบุบ
้
เนือ
่ งจากคําสงั่ SELECT เป็ นคําสงั่ ทีม
่ รี ป
ู แบบการใชงานที
ง่ า่ ยเพือ
่ ชว่ ยใน
ั ซอน
้ ดังมีรป
การค ้นหาข ้อมูลทีซ
่ บ
ู แบบดังนี้
ื่ คอลัมน์ทต
SELECT <ชอ
ี่ ้องการดูข ้อมูล>
ื่ ตาราง>
FROM <ชอ
WHERE <เงือ
่ นไขตามทีร่ ะบุบ>
่
ต ัวอย่างเชน
SELECT SNO,SNAME,STATUS
FROM S1
WHERE SNO = “001”
SQL - Structured Query Language
2.1 คําสง่ ั ค้นหาข้อมูล (Query Statement)
คําสงั่ SELECT เป็ นคําสงั่ การเรียกดูข ้อมูลหรือ ค ้นข ้อมูลตามเงือ
่ นไขทีร่ ะบุบ
้
เนือ
่ งจากคําสงั่ SELECT เป็ นคําสงั่ ทีม
่ รี ป
ู แบบการใชงานที
ง่ า่ ยเพือ
่ ชว่ ยใน
ั ซอน
้ ดังมีรป
การค ้นหาข ้อมูลทีซ
่ บ
ู แบบดังนี้
ื่ คอลัมน์ทต
SELECT <ชอ
ี่ ้องการดูข ้อมูล>
ื่ ตาราง>
FROM <ชอ
WHERE <เงือ
่ นไขตามทีร่ ะบุบ>
่
ต ัวอย่างเชน
SELECT SNO,SNAME,STATUS
FROM S1
WHERE SNO = “001”
SELECT *
FROM S1
WHERE SNO = “001”
SQL - Structured Query Language
2.1 คําสง่ ั ค้นหาข้อมูล + หลายตาราง
SELECT [Table-Name1].Column1, [Table-Name2].Column1,...
FROM [Table-Name1],[Table-Name2]
WHERE [Table-Name1].Column = [Table-Name2].Column
่
ต ัวอย่างเชน
SELECT customer.*,audit.* FROM customer,audit
WHERE customer.CustomerID = audit.CustomerID
SQL - Structured Query Language
2.2 คําสง่ ั เติมข้อมูล (Insert Statement)
ื่ ตาราง >
INSERT INTO < ชอ
ื่ คอลัมน์_1> [,< ชอ
ื่ คอลัมน์_2>]…);
VALUES (< ชอ
่
ตัวอย่างเชน
INSERT INTO S1 (SNO,SNAME,STATUS)
VALUES (‘001’,’TONGPOOL’,1)
หรือ
INSERT INTO S1 (SNO,SNAME,STATUS)
VALUES (‘$no’,’$name’,$status)
SNO
001
SNAME
STATUS
TONGPOOL 1
SQL - Structured Query Language
2.3 คําสง่ ั แก้ไข (Update Statement )
ื่ ตาราง >
UPDATE < ชอ
SET <ค่าทีต
่ ้องการ>
WHERE <เงือ
่ นไข> // จะมีหรือไม่มก
ี ็ได ้
่
ตัวอย่างเชน
UPDFATE S1 (SNO,SNAME,STATUS)
SET SNAME = ‘LEXKuNG’
WHERE SNO = ‘001’
หรือ
UPDFATE S1 (SNO,SNAME,STATUS)
SET SNAME = ‘$name’
WHERE SNO = ‘$sno’
SNO
001
SNAME
LEXKuNG
STATUS
1
SQL - Structured Query Language
2.4 คําสง่ ั ลบข้อมูล (Delete Statement )
ื่ ตาราง >
DELETE FROM < ชอ
WHERE <เงือ
่ นไข> // จะมีหรือไม่มก
ี ็ได ้
่
ตัวอย่างเชน
DELETE FROM S1
WHERE SNO = ‘001’
หรือ
DELETE FROM S1
WHERE SNO = ‘$sno’
SNO
SNAME
STATUS
การใชง้ าน MySQL – by LexKuNG
หน้าแรกของ
AppServ
เข้าใชง้ าน MySQL
phpMyAdmin
http://localhost
เปลีย
่ นภาษา
การใชง้ าน MySQL – by LexKuNG
หน้าแรกของ
MySQL
เลือกฐานข้อมูล
เลือกภาษาที่
สน ับสนุน
สร้างฐานข้อมูลใหม่
การใชง้ าน MySQL – by LexKuNG
หน้าแรกการสร้าง
ฐานข้อมูลใหม่
newDatabase
เมนูการใชง้ าน
การสร้างตาราง
โจทย์การสร้างฐานข้อมูล
DB : Students
TABLE : Student
SID (VARCHAR 20),
(INT)
54000000001
54000000002
54000000003
54000000004
54000000005
SNAME (VARCHAR 100), SAGE (INT), SGENDER (VARCHAR 5), SCLASS
สมชาย มาดเท่ห ์
เอกราช เก่งทุกทาง
สมหญิง กุลสตรี
สมศักดิ์ บุญถึง
ศรี ทนได ้
20
19
20
18
19
ชาย
ชาย
หญิง
ชาย
หญิง
2
1
2
1
1
TABLE : Login
USER (VARCHAR 10), PASSWORD (VARCHAR 100), STATUS (INT), SID (VARCHAR 20)
user1
12345
1
54000000001
user2
55555
1
54000000002
user3
44444
1
54000000003
user4
12345
1
54000000004
user5
88888
1
54000000005
การบ้าน
จากข ้อมูลในตารางตัวอย่างข ้อมูลข ้างล่าง จงออกแบบตารางเพือ
่ เก็บข ้อมูลลูกค ้า
ื่ ตารางเป็ น customer ) โดยกําหนดชอ
ื่ ฟิ ลด์ ชนิดข ้อมูล ขนาด
(กําหนดชอ
และคุณสมบัตอ
ิ น
ื่ ๆ ตามความเหมาะสม
001
นายสมชาย ใจดี
151 ถนนพิบล
ู สงคราม
ื่
บางซอ
กรุงเทพ
10800
08000100
99
สง่ เข ้าเมล์ [email protected]
หัวข ้อ : รายงงานครัง้ ที่ 5 – นาย xxxx รหัส
xxxxx
รายละเอียด :
CREATE TABLE …
การบ้าน
จากข ้อมูลในตารางตัวอย่างข ้อมูลข ้างล่าง จงออกแบบตารางเพือ
่ เก็บข ้อมูลลูกค ้า
ื่ ตารางเป็ น customer ) โดยกําหนดชอ
ื่ ฟิ ลด์ ชนิดข ้อมูล ขนาด
(กําหนดชอ
และคุณสมบัตอ
ิ น
ื่ ๆ ตามความเหมาะสม
001
นายสมชาย ใจดี
151 ถนนพิบล
ู สงคราม
ื่
บางซอ
กรุงเทพ
10800
08000100
99
สง่ เข ้าเมล์ [email protected]
หัวข ้อ : รายงงานครัง้ ที่ 5 – นาย xxxx รหัส
xxxxx
รายละเอียด :
CREATE TABLE …
Q&A