วันเสาร์ที่ 23 มกราคม พ.ศ. 2559

To Do week2(SQL Tutorial)

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 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 ที่เราต้องการเลือก]
รูปตัวอย่างแสดงการเลือกข้อมูลจาก database (มีtableทั้งหมด8tableสามารถดูได้ทางด้านขวา)
*การเขียนคำสั่ง SQL ไม่ต้องคำนึงถึงตัวพิมเล็กหรือใหญ่

SQL SELECT Statement
 เป็นวิธีการเลือกข้อมูลจาก 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;


SQL DISTINCT
 เป็นวิธีการเลือกข้อมูลที่ไม่ซ้ำกันจาก database โดยใช้คำสั่ง
 SELECT DISTINCT column_name,column_name FROM table_name;
 ในการศึกษานี้จะใช้ข้อมูลจากCustomers" table
 เมื่อพิมพ์คำสั่ง SELECT DISTINCT City FROM Customers; จะได้ผลลัพธ์ดังนี้
จากรูปจะเห็นว่าข้อมูลที่ได้มีทั้งหมด 69 records ซึ่งข้อมูล customers มีทั้งหมด 91 records

SQL 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';

Operators in The WHERE Clause

OperatorDescription
=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
BETWEENBetween an inclusive range
LIKESearch for a pattern
INTo specify multiple possible values for a column
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');
จะแสดง 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;

 โดย ASC ย่อมาจาก ascending คือ เรียงจากน้อยไปมาก DESC ย่อมากจาก descending คือ เรียงจากมากไปน้อยแต่ถ้าเราไม่ระบุชนิดของ ORDER BY column_name ASC|DESC ค่าเริ่มต้นที่กำหนดไว้คือ ASC

ทำการทดลองโดยใช้คำสั่ง
SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;


        
จากรูปจะเห็นว่า 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');

     
รูปแสดงข้อมูลของ Shippers table ก่อนที่จะเพิ่มข้อมูล


รูปแสดงข้อมูลของ Shippers table ที่เพิ่มข้อมูลแล้ว

SQL UPDATE Statement

 เป็นคำสั่งที่ใช้ในการแก้ไขข้อมูลที่มีอยู่แล้วใน database โดยใช้คำสั่ง
UPDATE table_name
SET 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;

ทำการทดลองโดยใช้คำสั่ง
DELETE FROM Shippers
WHERE ShipperName='United Package' 
       
รูปแสดงข้อมูลShippers table ก่อนใช้คำสั่งDELETE

รูปแสดงข้อมูลShippers table หลังจากใช้คำสั่งDELETE  จะเห็นว่าข้อมูลShipperName='United Package'  ได้หายไป

หากต้องการลบข้อมูลทั้ง Table ใช้คำสั่ง
 DELETE FROM table_name; หรือ DELETE * FROM table_name;
ข้อควรระวัง เมื่อทำการลบข้อมูลแล้ว จะไม่สามารถย้อนกลับหรือยกเลิกได้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น