SQL Tutorial
ศึกษาการใช้งาน SQL จากเว็บ http://www.w3schools.com/sql/
SQL Home
SQL คือ ภาษาพื้นฐานที่ใช้ในการเข้าถึงและติดต่อกับฐานข้อมูล
การศึกษาข้อมูล จาก http://www.w3schools.com/sql/ จะสอนวิธีการใช้ SQL เพื่อเข้าถึงและจัดการข้อมูล ใน MySQL, SQL Server, Access, Oracle, Sybase, DB2 และระบบฐานข้อมูลอื่น ๆ
SQL Quick Reference : http://www.w3schools.com/sql/sql_quickref.asp
SQL Data Types for Various DBs : http://www.w3schools.com/sql/sql_datatypes.asp
SQL Intro
What is SQL?
SQL เป็นพื้นฐานโครงสร้างสำหรับ Query ช่วยให้เข้าถึงจัดการข้อมูลได้ และเป็นมาตรฐานANSI (American National Standards Institute)
What Can SQL do?
- สามารถสอบถามข้อมูลกับฐานข้อมูล
- สามารถดึงข้อมูลจากฐานข้อมูล
- สามารถเพิ่มบันทึกลงฐานข้อมูล
- สามารถปรับปรุงเปลี่ยนแปลงฐานข้อมูล
- สามารถลบข้อมูลบนฐานข้อมูล
- สามารถสร้างฐานข้อมูลใหม่
- สามารถสร้างตารางใหม่ในฐานข้อมูล
- สามารถสร้างกระบวนการการจัดเก็บในฐานข้อมูล
- สามารถสร้างมุมมองในฐานข้อมูล
- สามารถกำหนดสิทธิ์ในการเข้าใช้ต่างๆ
SQL Syntax
ใน database ส่วนใหญ่แล้วมักจะมีการเก็บข้อมูลเป็นตาราง
รูปตัวอย่างแสดงการจัดเก็บข้อมูลใน database
SQL Statements
เป็นการจัดการข้อมูลในdatabase โดยจะสามารถเลือกข้อมูลทั้งหมดที่อยู่ใน table ที่สนใจ โดยใช้คำสั่ง SELECT * FROM[tablename ที่เราต้องการเลือก]
*การเขียนคำสั่ง SQL ไม่ต้องคำนึงถึงตัวพิมเล็กหรือใหญ่
SQL SELECT Statement
เป็นวิธีการเลือกข้อมูลจาก database โดยใช้คำสั่ง
SELECT column_name,column_name FROM table_name; (ในกรณีที่ต้องการแค่บางcolumn)
SELECT * FROM table_name; (ในกรณีที่ต้องการทุก column จากตารางที่ระบุ)
เป็นวิธีการเลือกข้อมูลจาก database โดยใช้คำสั่ง
SELECT column_name,column_name FROM table_name; (ในกรณีที่ต้องการแค่บางcolumn)
SELECT * FROM table_name; (ในกรณีที่ต้องการทุก column จากตารางที่ระบุ)
รูปตัวอย่างการเลือกข้อมูลจาก ข้อมูล Customers table และเลือกแสดงข้อมูลแค่CustomerNameและCity
โดยใช้คำสั่ง SELECT CustomerName,City FROM Customers;
รูปตัวอย่างการเลือกข้อมูลจาก ข้อมูล Customers table และเลือกแสดงข้อมูลทั้งหมด
โดยใช้คำสั่ง SELECT * FROM customers;
จากรูปจะเห็นว่าข้อมูลที่ได้มีทั้งหมด 69 records ซึ่งข้อมูล customers มีทั้งหมด 91 records
SQL DISTINCT
เป็นวิธีการเลือกข้อมูลที่ไม่ซ้ำกันจาก database โดยใช้คำสั่ง
SELECT DISTINCT column_name,column_name FROM table_name;
SELECT DISTINCT column_name,column_name FROM table_name;
ในการศึกษานี้จะใช้ข้อมูลจากCustomers" table
เมื่อพิมพ์คำสั่ง SELECT DISTINCT City FROM Customers; จะได้ผลลัพธ์ดังนี้
SQL WHERE
เป็นวิธีการค้นหาข้อมูลตามที่ระบุไว้คล้ายๆกับการกรองข้อมูล โดยใช้คำสั่ง
SELECT column_name,column_name FROM table_name
WHERE column_name operator value;
SQL AND & OR Operators
เป็นคำสั่งที่ใช้ในการกรองข้อมูล โดยมีเงื่อนไข โดยจะแสดงข้อมูลเมื่อเงื่อนไขเป็นจริง
AND จะแสดงเมื่อ2เงื่อนไขเป็นจริง or จะแสดงเมื่อเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง
ตัวอย่างเช่น ใช้คำสั่ง AND
SELECT * FROM Customers
WHERE Country='Germany'
AND City='Berlin';
จะแสดง customers ที่อยู่ในประเทศGermany และอยู่ในเมืองBerlin
ใช้คำสั่ง OR
SELECT * FROM Customers
WHERE City='Berlin'
OR City='Mannheim';
จะแสดง customers ที่อยู่ในอยู่ในเมืองBerlin หรือเมืองMannheim ทั้ง2เมือง
หรือใช้ทั้ง AND OR
SELECT * FROM Customers
WHERE Country='Germany'
AND (City='Berlin' OR City='Mannheim');
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
ทำการทอลองโดยใช้คำสั่ง
UPDATE Shippers
SET ShipperName='Chananan', Phone='081-111-1111'
WHERE ShipperName='Book';
ข้อควรระวัง
ถ้าลืมใส่ where ลงในคำสั่งจะทำให้เกิดการเปลี่ยนแปลงทุกค่าใน Column นั้นๆ ดังภาพด้านล่าง
รูปแสดงการแก้ไขค่า เมื่อไม่ใส่คำสั่ง where
เป็นวิธีการค้นหาข้อมูลตามที่ระบุไว้คล้ายๆกับการกรองข้อมูล โดยใช้คำสั่ง
SELECT column_name,column_name FROM table_name
WHERE column_name operator value;
จากภาพจะเห็นว่า เราค้นหาเฉพาะข้อมูลที่อยู่ใน Customers table ในColumn Country ที่มีคำว่าMexico
โดยใช้คำสั่งSELECT * FROM Customers WHERE Country='Mexico';
โดยใช้คำสั่งSELECT * FROM Customers WHERE Country='Mexico';
Operators in The WHERE Clause
| Operator | Description |
|---|---|
| = | Equal |
| <> | Not equal. Note: In some versions of SQL this operator may be written as != |
| > | Greater than |
| < | Less than |
| >= | Greater than or equal |
| <= | Less than or equal |
| BETWEEN | Between an inclusive range |
| LIKE | Search for a pattern |
| IN | To specify multiple possible values for a column |
เป็นคำสั่งที่ใช้ในการกรองข้อมูล โดยมีเงื่อนไข โดยจะแสดงข้อมูลเมื่อเงื่อนไขเป็นจริง
AND จะแสดงเมื่อ2เงื่อนไขเป็นจริง or จะแสดงเมื่อเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง
ตัวอย่างเช่น ใช้คำสั่ง AND
SELECT * FROM Customers
WHERE Country='Germany'
AND City='Berlin';
จะแสดง customers ที่อยู่ในประเทศGermany และอยู่ในเมืองBerlin
ใช้คำสั่ง OR
SELECT * FROM Customers
WHERE City='Berlin'
OR City='Mannheim';
จะแสดง customers ที่อยู่ในอยู่ในเมืองBerlin หรือเมืองMannheim ทั้ง2เมือง
หรือใช้ทั้ง AND OR
SELECT * FROM Customers
WHERE Country='Germany'
AND (City='Berlin' OR City='Mannheim');
จะแสดง customers ที่อยู่ในประเทศGermany และอยู่ในเมืองBerlin หรือเมืองMannheim ทั้ง2เมือง แสดงดังรูป
รูปแสดงการใช้คำสั่ง AND OR
SQL ORDER BY Keyword
เป็นคำสั่งที่ในการเรียงข้อมูลของผลลัพธ์ จากมากไปน้อย หรือจากน้อยไปมาก โดยใช้คำสั่ง
SELECT column_name, column_name
FROM table_name
ORDER BY column_name ASC|DESC, column_name ASC|DESC;
FROM table_name
ORDER BY column_name ASC|DESC, column_name ASC|DESC;
โดย ASC ย่อมาจาก ascending คือ เรียงจากน้อยไปมาก DESC ย่อมากจาก descending คือ เรียงจากมากไปน้อยแต่ถ้าเราไม่ระบุชนิดของ ORDER BY column_name ASC|DESC ค่าเริ่มต้นที่กำหนดไว้คือ ASC
ทำการทดลองโดยใช้คำสั่ง
จากรูปจะเห็นว่า column Country จะเรียงข้อมูลแบบ ASC คือ AไปจนถึงZ และใน column CustomerName จะเรียงข้อมูลแบบ DESC คือ Z ไปยัง A
SQL INSERT INTO Statement
เป็นคำสั่งที่ใช้ในการเพิ่มข้อมูลเข้าไปใน database เดิมโดยใช้คำสั่ง
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
ทำกาทดลองโดยใช้คำสั่ง
INSERT INTO Shippers (ShipperName, Phone)
VALUES ('Book','123-456-789');
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
ทำกาทดลองโดยใช้คำสั่ง
INSERT INTO Shippers (ShipperName, Phone)
VALUES ('Book','123-456-789');
รูปแสดงข้อมูลของ Shippers table ก่อนที่จะเพิ่มข้อมูล
รูปแสดงข้อมูลของ Shippers table ที่เพิ่มข้อมูลแล้ว
SQL UPDATE Statement
เป็นคำสั่งที่ใช้ในการแก้ไขข้อมูลที่มีอยู่แล้วใน database โดยใช้คำสั่ง
UPDATE table_nameSET column1=value1,column2=value2,...
WHERE some_column=some_value;
ทำการทอลองโดยใช้คำสั่ง
UPDATE Shippers
SET ShipperName='Chananan', Phone='081-111-1111'
WHERE ShipperName='Book';
รูปแสดงข้อมูลของ Shippers table
รูปแสดงข้อมูลของ Shippers table เมื่อมีการแก้ไขข้อมูลแล้ว
ข้อควรระวัง
ถ้าลืมใส่ where ลงในคำสั่งจะทำให้เกิดการเปลี่ยนแปลงทุกค่าใน Column นั้นๆ ดังภาพด้านล่าง
รูปแสดงการแก้ไขค่า เมื่อไม่ใส่คำสั่ง where
SQL DELETE Statement
เป็นคำสั่งที่ใช้ในการลบข้อมูลใน rows นั้นๆออกจาก table ในdatabase โดยใช้คำสั่ง
DELETE FROM table_name
WHERE some_column=some_value;
WHERE some_column=some_value;
ทำการทดลองโดยใช้คำสั่ง
รูปแสดงข้อมูลShippers table ก่อนใช้คำสั่งDELETE
รูปแสดงข้อมูลShippers table หลังจากใช้คำสั่งDELETE จะเห็นว่าข้อมูลShipperName='United Package' ได้หายไป
หากต้องการลบข้อมูลทั้ง Table ใช้คำสั่ง
DELETE FROM table_name; หรือ DELETE * FROM table_name;
ข้อควรระวัง เมื่อทำการลบข้อมูลแล้ว จะไม่สามารถย้อนกลับหรือยกเลิกได้
ข้อควรระวัง เมื่อทำการลบข้อมูลแล้ว จะไม่สามารถย้อนกลับหรือยกเลิกได้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น