- SQL Home
- SQL Intro
- SQL Syntax
- SQL Select
- SQL Distinct
- SQL Where
- SQL And & Or
- SQL Order By
- SQL Insert Into
- SQL Update
- SQL Delete
SQL Home
SQL เป็นภาษามาตรฐานที่ใช้ในการเข้าถึง database (ฐานข้อมูล)SQL Tutorial จะสอนในหลายเรื่องวิธีการเข้าถึง SQL และการจัดการข้อมูลข้างใน (DBMS): MySQL, SQL server, Access, Oracle, Sybase, DB2 และอื่นๆ
รูปหน้าเว็บ w3schools ที่ SQL Home
**ศึกษาเพิ่มเติมที่ http://www.w3schools.com/sql/default.aspSQL Intro
What is SQL?
- SQL ย่อมาจาก Structured Query Language [1]
- SQL ช่วยให้เข้าถึงและจัดการข้อมูลใน database
- SQL ได้ถูกประกาศให้เป็นภาษามาตรฐานสำหรับระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) โดย องค์กร แอนซี (ANSI: American National Standards Institute)
- SQL QUERIES: สามารถดำเนินการสอบถามกับฐานข้อมูล
- SQL RETRIEVE: สามารถเรียกดูข้อมูลจากฐานข้อมูล
- SQL INSERT: สามารถที่จะเพิ่มข้อมูลหรือเพิ่มเรคอร์ดเข้าไปในฐานข้อมูล
- SQL UPDATE: สามารถปรับปรุงระเบียบในฐานข้อมูล
- SQL DELETE: สามารถลบข้อมูลหรือเรคอร์ดใดในฐานข้อมูล
- SQL CREATE Database: สามารถที่จะสร้างฐานข้อมูลใหม่
- SQL CREATE New Table: สามารถสร้างตารางใหม่ในฐานข้อมูล
- SQL CREATE Procedures: สามารถสร้างระเบียบการจัดเก็บในฐานข้อมูล
- SQL CREATE Views: สามารถสร้างมุมมองในฐานข้อมูล
- SQL SET: สามารถกำหนดสิทธิ์บนตาราง, ระเบียบการจัดเก็บ และมุมมอง
Using SQL in Your Web Site
ในการสร้างเว็บไซต์ที่จะแสดงข้อมูลจากฐานข้อมูล สิ่งที่ต้องมี มีดังนี้
- An RDBMS database Program (i.e. MS Access, SQL sever, MySQL)
- ใช้สคริปต์ด้านเซิร์ฟเวอร์[2] เช่น PHP หรือ ASP
- ใช้ SQL ที่จะรับข้อมูลที่ต้องการ
- ใช้ HTML/CSS จะแสดงทั้งข้มูลและรูปแบบแสดงผลเข้าด้วยกัน
**scripting language : โค้ดที่เขียนจะถูกตีความ(Interpreted) แบบแปลและ execute ไปทีละคำสั่งผ่าน software พวก script Engine ที่สนับสนุน script นั้นๆ สรุปคือ script language เป็น interpreted language ต้องอาศัย run บนโปรแกรมอื่น [3]
***server-side script เช่น PHP, ASP, JSP, CGI เป็นภาษา script ที่ประมวลผลที่ฝั่ง server แล้วส่งผลลัพธ์ไปแสดงผลที่ฝั่ง client ผ่านโปรแกรมเว็บบราวเซอร์ [3]
RDBMS ย่อมาจาก Relational Database Management System
ข้อมูลใน RDBMS จะถูกการจัดเก็บในฐานข้อมูลที่เรียกว่าตาราง ซึ่งในตารางจะมีกลุ่มของรายการข้อมูลที่เกี่ยวข้องและประกอบด้วยคอลัมน์และแถว
SQL Syntax
Database Table
ฐานข้อมูลส่วนใหญ่นั้นจะประกอบด้วยอย่างน้อยหนึ่งตาราง แต่ละตารางจะถูกระบุโดยชื่อ ในตารางจะมีแถวที่มีข้อมูลอยู่ ซึ่งในเว็บ w3school นี้จะใช้ตัวอย่าง Northwind
** ดูตัวอย่างตารางที่ http://www.w3schools.com/sql/sql_syntax.asp
SQL Statement
จะแสดงตัวอย่างการใช้คำสั่ง SELECT ข้อมูลทุกตัวที่บันทึกไว้ (*) ในตารางที่ชื่อ "Customers"
SELECT * FROM Customers; Try it yourself |
รูปผลลัพธ์ที่ได้เมื่อใช้คำสั่ง select ทั้งหมดในตาราง Customers
ที่อยู่ใน Northwind sample database
Keep in Mind That... SQL จะไม่สนใจ ตัวพิมพ์ใหญ่-พิมพ์เล็ก เช่น คำสั่ง select จะเหมือน SELECT
Semicolon after SQL statements?
ในบางระบบฐานข้อมูลจะต้องใส่เครื่องหมายอัฒภาค(;) เพื่อบอกว่าจบแต่ละ SQL statement
semicolon เป็นวิธีมาตรฐานที่การแยกแต่ละคำสั่ง SQL ในระบบฐานข้อมูล ที่จะช่วยให้เมื่อมีมากกว่าหนึ่งคำสั่ง SQL ที่จะ execute ในการเรียกร้องที่เหมือนกันไปยังเซิร์ฟเวอร์
ในที่นี้เราจะใช้ semicolon ในตอนท้ายของแต่ละคำสั่ง SQL
SQL SELECT Statement
SELECT เป็นคำสั่งใช้เลือกข้อมูลจากฐานข้อมูล ผลที่ได้จะถูกเก็บไว้ในตารางที่เรียกว่า result-set
SQL SELECT Syntax
SELECT column_name,column_name FROM table_name; |
และ
SELECT * FROM table_name; |
SELECT Column Example
ในตัวอย่างนี้จะเลือกที่คอลัมน์ "CustomerName" และ "City" จากตาราง "Customers"
SELECT CustomerName,City FROM Customers; Try it yourself |
รูปผลลัพธ์ที่ได้เมื่อใช้คำสั่ง select คอลัมน์ "CustomerName" และ "City"
จากตาราง Customers ที่อยู่ใน Northwind sample database
จากตาราง Customers ที่อยู่ใน Northwind sample database
Navigation in result-set
ส่วนใหญ่ระบบซอฟแวร์ database สามารถตั้งค่าในการเขียนโปรแกรมได้
SQL SELECT DISTINCT Statement
คำสั่ง SELECT DISTINCT ใช้เมื่อต้องการแค่ค่าที่แตกต่ากันSQL SELECT DISTINCT Syntax
SELECT DISTINCT column_name,column_name FROM table_name; |
SELECT DISTINCT Example
ในตัวอย่างนี้จะเลือกข้อมูลที่แตกต่างกันในคอลัมน์ "City" จากตาราง "Customers"
SELECT DISTINCT City FROM Customers; Try it yourself |
รูปผลลัพธ์ที่ได้ในคอลัมน์ "City" จะมีข้อมูลที่ไม่ซ้ำกัน
เห็นได้จากจำนวนข้อมูลที่แสดง 69 เรคอร์ด จากข้อมูลทั้งหมดใน Customers มีจำนวน 91 เรคอร์ด
เห็นได้จากจำนวนข้อมูลที่แสดง 69 เรคอร์ด จากข้อมูลทั้งหมดใน Customers มีจำนวน 91 เรคอร์ด
SQL WHERE Clause
WHERE เป็นคำสั่งที่ใช้ตัวส่วนที่ไม่ต้องการออกไป จะเป็นการเลือกที่เฉพาะเจาะจงSQL WHERE Syntax
SELECT column_name,column_name FROM table_name WHERE column_name operator value; |
WHERE Clause Example
ในตัวอย่างนี้จะใช้คำสั่ง SQL ที่เลือก Customers ที่มาจาก country "Mexico" ทั้งหมด จากตาราง "Customers"
SELECT * FROM Customers WHERE Country='Mexico'; Try it yourself |
รูปผลลัพธ์เมื่อเลือก Customers ทั้งหมด (*) ที่มาจาก (Country) "Mexico" จากตาราง Customers
เมื่อเราเพิ่มคำสั่ง WHERE Country='Mexico' จะพบว่า Customers ที่มาจาก Mexico มีจำนวน 5 เรคอร์ด จากข้อมูลทั้งหมดในตาราง Customers มีจำนวน 91 เรคอร์ด
Operators | Description |
= | Equal (เท่ากับ) |
<> | Not equal (ไม่เท่ากับ) Note: บาง version SQL ใช้ != |
> | Greater than (มากกว่า) |
< | Less than (น้อยกว่า) |
>= | Greater than or equal (มากกว่า หรือ เท่ากับ) |
<= | Less than or equal (น้อยกว่า หรือ เท่ากับ) |
BETWEEN | Between an inclusive range (ค่าที่อยู่ระหว่าง...) w3school |
LIKE | Search for a pattern (ค้นหา...) w3school |
IN | To specify multiple possible values for a column (เมื่อต้องการระบุค่าในหลายคอลัมน์) w3school |
รูปผลลัพธ์เมื่อเลือก Customers ทั้งหมด (*) ที่มี CustomerID น้อยกว่าหรือเท่ากับ 10
จากตาราง Customers
จากตาราง Customers
เมื่อเราเพิ่มคำสั่ง WHERE CustomerID<=10 จะแสดงผล Customers ที่มี CustomerID 1-10 ซึ่งมีจำนวน 10 เรคอร์ด จากข้อมูลทั้งหมดในตาราง Customers มีจำนวน 91 เรคอร์ด
SQL And & Or Operators
คำสั่ง AND และ OR เป็นโอเปอเรเตอร์พื้นฐานในการจัดระเบียบที่มากกว่าหนึ่งเงื่อนไขAND Operator Example
ในตัวอย่างนี้จะใช้คำสั่ง SQL เลือก Customers ที่มาจาก country "Germany" และ City "Berlin" ทั้งหมด จากตาราง "Customers"
SELECT * FROM Customers WHERE Country='Germany' AND City='Berlin'; Try it yourself |
รูปผลลัพธ์เมื่อเลือก Customers ทั้งหมด (*) ที่มาจาก (Country) "Germany"
และ City = "Berlin" จากตาราง Customers
และ City = "Berlin" จากตาราง Customers
ที่ country "Germany" และ City "Berlin" จากตาราง "Customers" จะมี 1 เรคอร์ด จะสังเกตว่าเมื่อใช้ AND ต้องตรงทั้งสองเงื่อนไขและไม่ขัดแย้งกันเองจึงจะแสดงผลลัพธ์
OR Operator Example
ในตัวอย่างนี้จะใช้คำสั่ง SQL ที่เลือก Customers ที่มาจาก City "München" หรือ City "Berlin" ทั้งหมด จากตาราง "Customers"
SELECT * FROM Customers WHERE City='Berlin' OR City='München'; Try it yourself |
รูปผลลัพธ์เมื่อเลือก Customers ทั้งหมด (*) ที่มาจาก City "München"
หรือ City "Berlin" จากตาราง Customers
หรือ City "Berlin" จากตาราง Customers
ที่มาจาก City "München" หรือ City "Berlin" จากตาราง "Customers" จะมี 2 เรคอร์ด จะสังเกตว่าเมื่อใช้ OR จะแสดงผลลัพธ์ถ้าเข้าอย่างน้อยหนึ่งเงื่อนไข
SQL ORDER BY keyword
SQL ORDER BY Keyword เป็นคำสั่งที่ใช้เรียงข้อมูลใน Result-setSQL ORDER BY Syntax
SELECT column_name,column_name FROM table_name ORDER BY column_name ASC|DESC, column_name ASC|DESC; |
ORDER BY Example
ในตัวอย่างนี้จะใช้คำสั่ง SQL เลือกตารางชื่อ Customers ให้เรียง (ORDER BY) ชื่อ Country ตามตัวอักษร
SELECT * FROM Customers ORDER BY Country; Try it yourself |
รูปผลลัพธ์เมื่อเรียงตาราง Customers ตามชื่อ Country
SQL INSERT INTO Statement
คำสั่ง INSERT INTO จะเพิ่มเรคอร์ดใหม่ในตารางSQL INSERT INTO Syntax
INSERT INTO table_name VALUES (value1,value2,value3,...); |
ถ้าต้องการแทรกมากกว่าหนึ่งคอลัมน์
INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...); |
INSERT INTO Example
ในตัวอย่างนี้จะใช้คำสั่ง SQL INSERT INTO ในตารางชื่อ Customers ที่คอลัมน์ CustomerName, ContactName, Address, City, PostalCode และ Country ตามลำดับ ให้ใส่ค่าในเรคอร์ดดังนี้ 'Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006' และ 'Norway' ตามลำดับ
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country) VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway'); Try it yourself |
รูปผลลัพธ์เมื่อ Run SQL ตามโค้ดข้างบน
จะพบว่ามีการเปลี่ยนแปลงข้อมูลใน Database จากเดิมที่มีเรคอร์ด 91 เปลี่ยนเป็น 92
SQL UPDATE Statement
คำสั่ง UPDATE จะปรับปรุงแก้ไขข้อมูลใน databaseSQL UPDATE Syntax
UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value; |
UPDATE Example
ในตัวอย่างนี้จะใช้คำสั่ง SQL UPDATE ที่ตารางชื่อ Customers โดย set ให้ CustomerName เป็น Alfreds Futterkiste และ ContactName เป็น Maria Anders
UPDATE Customers SET ContactName='Alfred Schmidt', City='Hamburg' WHERE CustomerName='Alfreds Futterkiste'; Try it yourself |
SQL DELETE Statement
DELETE เป็นคำสั่งใช้ลบเรคอร์ดในตารางSQL DELETE Syntax
DELETE FROM table_name |
DELETE Example
ในตัวอย่างนี้จะใช้คำสั่ง SQL DELETE ในตารางที่ชื่อ "Customers" ให้ลบที่ CustomerName เป็น Alfreds Futterkiste และ ContactName เป็น Maria Anders
DELETE FROM Customers WHERE CustomerName='Alfreds Futterkiste' AND ContactName='Maria Anders'; Try it yourself |
รูปผลลัพธ์เมื่อลบ CustomerName "Alfreds Futterkiste"
และ ContactName "Maria Anders" จากตาราง Customers
และ ContactName "Maria Anders" จากตาราง Customers
จะเกิดการเปลี่ยนแปลงจำนวนข้อมูลใน database จากเดิมที่ตาราง Customers มี 91 เรคอร์ด แต่เมื่อ DELETE ข้อมูลดังกล่าวไป แถวจะลดลง ข้อมูลในตารางจะเหลือ 90 เรคอร์ด
Ok
[1] ภาษาสอบถามเชิงโครงสร้าง (SQL) ศึกษาเพิ่มเติมที่: https://th.wikipedia.org/wiki/ภาษาสอบถาม
[2] ศึกษาเพิ่มเติมที่: https://th.wikipedia.org/wiki/สคริปต์ด้านเซิร์ฟเวอร์
[3] ศึกษาเพิ่มเติมที่: http://www.enjoyday.net/computer-language-programming-language-และ-scripting-language.html
......................................................
ไม่มีความคิดเห็น:
แสดงความคิดเห็น