วันจันทร์ที่ 23 พฤษภาคม พ.ศ. 2559

A2 Group.7

PostgreSQL
เนื้อหาของงาน : http://db5630060.blogspot.com/2016/05/whats-postgresql-and-introduces.html

Security of Database
เนื้อหาของงาน : http://db5630060.blogspot.com/2016/05/security-of-database.html

SQL Injection
เนื้อหาของงาน :http://db5630060.blogspot.com/2016/05/sql-injection.html

Normal Form

สมาชิกกลุ่ม
1.นพรัตน์ ไพโรจน์พัฒนกุล 5601012620072
2.ชนานันน์ พงศ์กีรติกานต์ 5601012630043
3.นสิทธิ์ จูรอด 5601012630175

เนื้อหาของงาน :http://db5620072.blogspot.com/2016/05/normal-form.html

วันพุธที่ 13 เมษายน พ.ศ. 2559

PostgreSQL

PostgreSQL คืออะไร
     PostgreSQL เป็นระบบจัดการฐานข้อมูลแบบ ORDBMS มีความสามารถ ACID และสนับสนุน SQL92 และ SQL99 โดยมีชนิดข้อมูลหลายประเภทรวมถึงมีชนิดข้อมูลแบบ user define ซึ่งผู้ใช้กำหนดขึ้น ทำงานในหลายแพลทฟอร์มได้แก่ Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), และ Windows เป็นซอฟต์แวร์ใช้ได้ฟรีโดยมีลิขสิทธิ์แบบ BSD ซึ่งหมายถึงผู้ใช้สามารถนำไปใช้งานได้ฟรี

วิธีลงโปรแกรมใน Ubuntu14.04
- เปิดหน้าต่าง Terminal
- พิมพ์คำสั่ง $ sudo apt-get install postgresql postgresql-contrib

การเข้าใช้งานโปรแกรม
- พิมพ์คำสั่ง $ sudo -i -u postgres

รูปแสดง การพิมพ์คำสั่งเพื่อเปิดโปรแกรม

การสร้าง Database
- หลังจากเปิดโปรแกรมแล้วให้พิมคำสั่ง 
  $ createdb ชื่อdatabase 
- เลือกใช้ database โดยพิมคำสั่ง
  $ psql -d ชื่อdatabase
รูปแสดง การสร้างและการเช้าใช้ database

- หากต้องการดู database ที่มีอยู่ ให้พิมพ์คำสั่ง 
$ \l 
รูปแสดง database ที่มีอยู่

การสร้างตาราง
-ใช้คำสั่งเหมือน Mysql ทุกอย่าง
ตัวอย่างการสร้างตาราง
create table time_slot(time_slot_id int,
day varchar(100),
start_time varchar(100),
end_time varchar(100),
primary key(time_slot_id)
);

หากต้องการดูtable ที่มีอยู่ ให้พิม \d
หากต้องการดูรายละเอียดของแต่ละ table ที่มีอยู่ ให้พิม \d ชื่อตาราง 

วันจันทร์ที่ 28 มีนาคม พ.ศ. 2559

Assignment 1 : University_enterprise

สมาชิกกลุ่ม
1.นพรัตน์ ไพโรจน์พัฒนกุล 5601012620072
2.ชนานันน์ พงศ์กีรติกานต์ 5601012630043
3.นสิทธิ์ จูรอด 5601012630175

อ้างอิง: เนื้อหาของ A1

วันจันทร์ที่ 8 กุมภาพันธ์ พ.ศ. 2559

To Do week4(Relational Algebra)

    More examples of queries in Relational Algebra
     Relational Algebra คือ การแสดงถึงความสัมพันธ์ของข้อมูล ซึ่งเป็นพื้นฐานของการสร้างฟังก์ชันของคำสั่งต่างๆใน SQL
     Relational Algebra มี operations พื้นฐานได้แก่
    1.  Select *      
    2.  Project     
    3.  Rename *   
    4.  Union **
    5.  Set difference **
    6.  Cartesian-product  **
       *  Unary operations คือการมี Operand เพียงตัวเดียว
       ** Binary operations คือการมี Operand 2 ตัว
     นอกจากนี้ยังมีคำสั่งอื่นๆอีกเช่น 
    1. set intersection
    2. natural join
    3. division
    4. assignment
     ในที่นี้จะเริ่มอธิบาย operations พื้นฐาน ก่อนได้แก่




  • Select operation
    การทำงาน : เป็นคำสั่งที่ใช้เลือกข้อมูล ในแถวที่ตรงกับเงื่อนไขที่กำหนด คล้ายกับคำสั่ง where ในภาษา SQL
    แทนด้วยสัญลักษณ์ : 
     

    วิธีการใช้งาน : 
                

    condition สามารถใช้เครื่องหมาย :
    การเปรียบเทียบ  = , > , < ,  ≥  ,     , 
    ตัวอย่างการใช้งาน :
     
    เช่นในตารางความสัมพันธ์ของสมุดโทรศัพท์ มีข้อมูลของผู้ติดต่ออยู่
    ภาพแสดงตารางข้อมูลทั้งหมด ของ ความสัมพันธ์ Contact

    เราจะเลือกเอาข้อมูลเฉพาะผู้ติดต่อที่ อยู่ใน Home ซึ่งสามารถเขียนโดยใช้ Select operation ได้ดังนี้

    ภาพแสดงการใช้งานRelational Algebra

    ภาพแสดงตารางใหม่ ตามเงื่อนไขที่ได้กำหนด
    โดย relational algebra ดังกล่าวมีความหมายเดียวกับ คำสั่ง SQL ดังต่อไปนี้
                      select * from contact
                      where department="Home" ;




  • Project operationการทำงาน : เป็นคำสั่งที่ใช้แสดงข้อมูล ในcolumn(attribute) ที่ตรงกับเงื่อนไขที่กำหนด คล้ายกับคำสั่ง select ในภาษา SQLแทนด้วยสัญลักษณ์ : 
    วิธีการใช้งาน :



    • ตัวอย่างการใช้งาน :
       
      เช่นต้องการแสดงข้อมูลName และ Phone โดยไม่สนใจข้อมูลใน column อื่นๆ
        ภาพแสดงตารางข้อมูลทั้งหมด ของ ความสัมพันธ์ Contact

      เราจะเลือก attribute ที่นำมาแสดงซึ่งสามารถเขียนโดยใช้ Project operation ได้ดังนี้
      ภาพแสดงการใช้งานRelational Algebra

      ภาพแสดงตารางใหม่ ตามเงื่อนไขที่ได้กำหนด

      โดย relational algebra ดังกล่าวมีความหมายเดียวกับ คำสั่ง MySQL ดังต่อไปนี้
                          select name,phone from contact;


  • Rename  operation
    การทำงาน :  ใช้ในการเปลี่ยชื่อตาราง หรือ attribute ในตาราง คล้ายกับคำสั่ง alter ในภาษาSQL
    แทนด้วยสัญลักษณ์ : 
    วิธีการใช้งาน :
     
                
    ตัวอย่างการใช้งาน :
    เช่นต้องการเปลี่ยนชื่อ ตารางจากContact เป็น Mycontact และต้องการเปลี่ยน attribute ในตารางจาก Phone เป็น call

    ภาพแสดงตารางข้อมูลทั้งหมด ของ ความสัมพันธ์ Contact

    จากความต้องการด้านบน สามารถเขียนโดยใช้ Rename operation ได้ดังนี้

    ภาพแสดงการใช้งานRelational Algebra


    ภาพแสดงตารางใหม่ ตามเงื่อนไขที่ได้กำหนด


  • Union operation 
    การทำงาน :  ใช้เมื่อต้องการเชื่อมข้อมูล กับตารางมากกว่า1ตาราง โดยจะเอาข้อมูลทุกตัว ถ้ามีข้อมูลซ้ำกันจะแสดงข้อมูลนั้นเพียง1ตัว
    แทนด้วยสัญลักษณ์ :  U
    วิธีการใช้งาน :  A U B    //โดย A และ B เป็นความสัมพันธ์

    ตัวอย่างการใช้งาน :
    เช่น ต้องการหาชื่อของสมาชิก  ลูกค้าปกติ และลูกค้า VIP ซึ่งเราต้องการแค่ชื่อของสมาชิก จึงใช้ Project operation เข้ามาช่วย ในการใช้ร่วมกับคำสั่ง Union operation 

    ภาพแสดงตาราง member และตาราง VIP

    จากความต้องการด้านบน สามารถเขียนโดยใช้ Project operation และ Union operation  ได้ดังนี้

    ∏name(member) U ∏name(vip)

    ซึ่งตรงกับการทำงานของ SQL ดังรูป


    ภาพแสดงการทำงานของคำสั่งข้างต้น และผลลัพธ์ที่ได้
  • Set difference 
    การทำงาน :  เลือกแสดงค่าที่อยู๋ในความสัมพันธ์หนึ่งแต่ ไม่พบค่านั้นในอีกความสัมพันธ์หนึ่ง
    แทนด้วยสัญลักษณ์ :  - (เครื่องหมาย - )
    วิธีการใช้งาน :  A - B    //โดย A และ B เป็นความสัมพันธ์
                                          //ค่าที่ได้จะอยู่ใน A แต่ไม่อยู๋ใน B 
               
    ภาพแสดงพื้นที่ที่จะเลือกข้อมูล
    ตัวอย่างการใช้งาน :
     
    เช่นต้องต้องการหาชื่อลูกค้าที่เป็น member และไม่ได้เป็น VIP

    ภาพแสดงการทำงานของคำสั่งข้างต้น และผลลัพธ์ที่ได้

    จากความต้องการด้านบน สามารถเขียนโดยใช้ 
    Project operation และ Union operation  ได้ดังนี้
     ∏name(member) - ∏name(vip)

    ภาพแสดงผลลัพธ์ที่ได้
  • Cartesian-product
    การทำงาน :  ใช้สำหรับนำข้อมูลทั้ง 2 ตารางมา cross กันซึ่งค่าที่ได้ออกมาจะเป็นการจับคู่กันทั้ง 2 ตารางซึ่งจะไม่มีประโยชน์อะไร เราจึงต้องใช้การ select และ project เข้ามาช่วย
    แทนด้วยสัญลักษณ์ :  X
    วิธีการใช้งาน :  A x B
    เมื่อนำมาใช้รวมกับ select operation 

    จะทำให้มีลักษณะการทำงานเหมือน join

    ตัวอย่างการใช้งาน :
    ------
What is an inner join? outer join?
Ans Inner join นั้นคือการนำค่าระหว่าง set หรือข้อมูลที่มีการซ้อนทับกันหรือเหมือนกัน ส่วน Outer join นั้นคือการเอาค่าทั้งหมดของระหว่าง set นั้นเอง และยังมี join ประเภทอื่นๆอีกมากมาย


ภาพแสดงการ Join ในรูปแบบต่างๆ

What is a division operation?
Ans การทำ division operation คือการนำเอาค่าของ Attribute ตารางที่เป็น Divisor(S) ไปเทียบกับค่า Attributeในตาราง Dividend(R) เมื่อมีค่าที่เหมือนกันเราจะนำเอาค่านั้นออกมาแสดงเป็นผลลัพธ์ดังตัวอย่างที่เขียนในด้านล่างนี้

ภาพแสดงตัวอย่างการใช้ division

จากรูปจะเห็นว่า การนำข้อมูลของตาราง s ไปเทียบกับ attribute ในตาราง r ซึ่งได้ข้อมูลออกมาเป็น set  โดยข้อมูลที่ได้ คือการที่ attribute A ตัวเดียวกันมีค่าใน attribute B ทั้งสองค่า ไม่ใช่แค่มีค่าใดค่า  1


ข้อมูลอ้างอิงจาก :
http://www.srisangworn.go.th/home/databaselearnx/ms2t2-2.htm

วันอาทิตย์ที่ 31 มกราคม พ.ศ. 2559

To Do week3(Constraints)

What constraints does your selected DBMS support?
  -SQL มีข้อจำกัดในการระบุลงในตาราง เพื่อให้การเลือกและการจัดเก็บข้อมูลใน database เป็นไปอย่างถูกต้อง อธิเช่น

  1.  NOT NULL - คือการกำหนดให้ columns นั้น เป็น null ไม่ได้
  2. UNIQUE - คือการกำหนดให้ข้อมูลใน columns นั้นไม่สามารถซ้ำกันได้
  3. PRIMARY KEY - คือการกำหนดให้ columns นั้น เก็บค่า null  ไม่ได้ และ มีข้อมูลที่ไม่ซ้ำกัน
  4. FOREIGN KEY - คือการกำหนดให้ columns นั้นเก็บข้อมูลเดียวกันกับ column ในtable อื่น เพื่อใช้เป็นตัวเชื่อมโยงกันระหว่าง table 
  5. CHECK - คือการกำหนดให้ columns นั้นเก็บค่าที่เฉพาะเจาะจง
  6. DEFAULT - คือการระบุค่าเริ่มต้นสำหรับ columns นั้นๆ

 โดยการระบุ constraints  นั้นจะทำตั้งแต่การสร้างตาราง(created) หรือการแก้ไขรายละเอียดของตาราง(ALTER)เมื่อตารางนั้นได้ถูกสร้างขึ้นแล้ว
อ้างอิงจาก: http://www.w3schools.com/sql/sql_constraints.asp

How to specify them?
SQL CREATE TABLE + CONSTRAINT 
CREATE TABLE table_name
(
column_name1 data_type(sizeconstraint_name,
column_name2 data_type(sizeconstraint_name,
column_name3 data_type(sizeconstraint_name,
....
);

ทดลองสร้างตาราง และกำหนดCONSTRAINT 

รูปที่1 แสดงการสร้างตาราง และ แสดงรายละเอียดของตาราง 

 จากรูปที่1จะเห็นว่า 
  • id ให้เป็น PRIMARY KEY  และไม่สามารถเก็บค่า null ได้
  • name และ lastname ไม่สามารถเก็บค่า null ได้
  • age กำหนดCONSTRAINT  โดยใช้คำสั่ง CHECK   ให้ข้อมูลที่ใส่ต้องมีค่ามากกว่า20
  • status กำหนดค่า DEFAULT ให้เป็น S

ทอลองใส่ข้อมูล

รูปที่2 แสดงการใส่ข้อมูล

 จากรูปที่2จะเห็นว่า 

  • ถ้าเราไม่กำหนดค่าใน column status database จะเก็บข้อมูลเป็น s ซึ่งเป็นค่า DEFAULT ที่เราได้ตั้งไว้
  • มีข้อผิดพลาดในการใช้ CONSTRAINT  โดยใช้คำสั่ง CHECK  เนื่องจากเรากำหนดให้ age>20 แต่ค่าที่เราใส่เค้าไปเป็น 19 *จะหาทางแก้ไขต่อไป



รูปที่3 แสดงการใส่ข้อมูล

จากรูปที่3จะเห็นว่า

  • ถ้าหากไม่ใส่ข้อมูลช่อง lastname จะไม่สามารถเพิ่มข้อมูลได้เนื่องจาก เรากำหนดCONSTRAINT ไม่ให้เก็บค่า null

รูปที่4 แสดงการใส่ข้อมูล

จากรูปที่4จะเห็นว่า

  • ในกรอบสีแดง เป็นการใส่ค่าที่มี id ซ้ำกับค่าที่อยู๋ table อยู่แล้ว ทำให้ไม่สามารถใส่ค่าไปยังตารางได้ เนื่องจาก id เป็น PRIMARY KEY ซึ่งค่าที่เก็บไว้นั้นไม่สามารถซ้ำกันได้
  • ในกรอบสีเขียว เป็นการใส่ค่า โดยที่ id ไม่ซ้ำกัน แต่ name กับ lastname ซ้ำ แต่ยังสามารถใส่ค่าได้ เพราะ name และ lastname ไม่ได้ถูกกำหนดให้เป็น UNIQUE

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

To Do week2(cont. Try MySQL)

 บทความนี้เป็นการนำเสนอการใช้งาน MySQL เบื่องต้น ต่อจาก บทความ To Do week2(Try MySQL)
ในบทความนี้จำนำเสนอ
1.วิธีการลบข้อมูลใน table
2.วิธีการUpdate ข้อมูล
3.วิธีการแก้ไขลักษณะของตัวแปรใน columns
4.วิธีการกำหนด  PRIMARY KEY

1.วิธีการลบข้อมูลใน table 
  เริ่มแรกให้เข้าไปใน database ที่มีตารางที่เก็บข้อมูลที่เราต้องการลบ 
รูปแสดงข้อมูลที่อยู่ใน table 
  หลังจากนั้นให้ใช้คำสั่ง delete from ชื่อtable(Vip) where ชื่อcolumn(name) =" Book";


รูปแสดงข้อมูลที่อยู่ใน table หลังจากลบข้อมูล "Book" ไปแล้ว

*ปัญหาที่พบคือ เลข id ที่ถูกลบไปจะไม่ถูกแทนที่ 

2.วิธีการUpdate ข้อมูล 
   โดยในที่นี้จะทำการ Update เบอร์โทรศัพท์ของ Teng โดยใช้คำสั่ง 
   update vip
   set phone="084-444-4444"
   where name= "Teng";

รูปแสดงข้อมูลที่อยู่ใน table หลังจากUpdate เบอร์โทรศัพท์ของ Teng

3.วิธีการแก้ไขลักษณะของตัวแปรใน columns
 เริ่มแรกรายละเอียดข้อมูลของ table Vip เป็นดังภาพ
 รูปแสดงรายละเอียดข้อมูลของ table Vip 

ในที่นี้ต้องการเปลี่ยนแปลง column phone โดยดำหนดให้เป็น null ไม่ได้โดยใช้คำสั่ง
ALTER TABLE vip CHANGE phone  phone varchar(100) not null;
รูปแสดงรายละเอียดข้อมูลของ table Vip 

4.วิธีการกำหนด  PRIMARY KEY 
   กำหนด  PRIMARY KEY สำหรับตารางที่เราได้สร้างไปแล้วนั้นมีการกำหนดPRIMARY KEY อยู่ก่อนแล้วคือ id 
รูปแสดงรายละเอียดของ table vip

โดยในที่นี้ต้องการกำหนดให้ phone เป็น PRIMARY KEY ต้องทำการลบ PRIMARY KEY ตัวเก่าออกก่อน
   โดยใช้คำสั่ง
ALTER TABLE vip
DROP PRIMARY KEY;
    

รูปแสดงรายละเอียดของการลบPRIMARY KEY 
แต่เนื่องจาก colomn  Id สามารถเป็น PRIMARY KEY ได้จากการนิยามค่าให้ตั้งแต่ตอนสร้างตารางทำให้ค่าไม่ซ้ำกัน จึงไม่สามารถลบออกจากการเป็นPRIMARY KEY  ได้

 จากคำสั่งที่ใช้สร้างตาราง Vip 
create table VIP (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, 
name VARCHAR(50),
phone VARCHAR(50));

 จะเห็นว่ามีการกำหนด PRIMARY KEY ไว้ตั้งแต่ต้นแล้ว หากการสร้างตารางไม่ได้กำหนด PRIMARY KEY เอาไว้และต้องการ กำหนดPRIMARY KEY ภายหลังให้ใช้คำสั่ง 
ALTER TABLE ชื่อtableADD PRIMARY KEY (ชื่อcolumn);





วันจันทร์ที่ 25 มกราคม พ.ศ. 2559

To Do week2(Try MySQL)

 หลังจากได้ศึกษาการใช้ SQL เบื้องต้น จาก http://www.w3schools.com/sql/ แล้ว ได้ศึกษาหาโปรแกรมที่ใช้ในการจัดการฐานข้อมูล หรือ DBMS  (ย่อมาจาก Database Management System)
 ในที่นี้ผู้ศึกษาได้เลือกใช้โปรแกรม MySQL (version 5.7.10) เป็น Open Source License สามารถ Download จาก http://dev.mysql.com/downloads/windows/installer/
 เมื่อทำการติดตั้งเสร็จแล้ว จะได้โปรแกรมดังรูป
รูปแสดง icon โปรแกรม command line MySQL

 จากนั้นเมื่อกดเข้าโปรแกรมให้ใส่รหัสที่เราได้ตั้งไว้
รูปแสดงโปรแกรมเมื่อใส่รหัสและพร้อมทำงาน 

 ทำการสร้าง database ของเรา ในที่นี้จะสร้าง database ชื่อ contact โดยใช้คำสั่ง create database ชื่อที่เราต้องการ(contact); และเรียกดู database ที่เรามีโดยใช้คำสั่ง show databases;
รูปแสดง เมื่อทำการสร้าง database และ show database แล้ว
 เมื่อต้องการแก้ไขข้อมูลใน database ให้ใช้คำสั่ง use ชื่อdatabase(contact); และกดโชว์ตารางที่มีอยู่ใน database นั้น โดยใช้คำสั่ง show tables; จะเห็นว่าไม่มีข้อมูลใดอยู่เลยจากรุปด้านล่าง
รูปแสดง เมื่อเลือกใช้ database และเรียกดู table ที่อยู่ในนั้น

 ทำการสร้างtable โดยใช้คำสั่ง 
create table VIP (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, 
name VARCHAR(50),
phone VARCHAR(50));
ศึกษาชนิดของตัวแปรเพิ่มเติมจาก: http://www.w3schools.com/sql/sql_datatypes_general.asp 
เมื่อกดสร้างเสร็จให้เรา กด show tables; เพื่อจะดูว่ามี table อะไรบ้างที่อยู่ใน database นี้
รูปแสดงให้เห้นว่ามี table VIP ที่เราได้สร้างไว้แล้ว

 สามารถดูรายละเอียดชนิดของตัวแปลในแต่ละ column ได้โดยใช้คำสั่ง describe ชื่อตาราง(contact);

รูปแสดงรายละเอียดของ column  Table VIP

 เพิ่มข้อมูลในตารางโดยใช้คำสั่ง 
INSERT INTO vip (name, Phone)
VALUES ('Book','081-111-1111');
และเพิ่มข้อมูลไปเรื่อยๆ  และโชว์ข้อมูลในตารางโดยใช้คำสั่ง SELECT * FROM VIP;
รูปแสดงการเพิ่ม และโชว์ข้อมูลในตาราง VIP
หากต้องการลบตารางให้ใช้คำสั่ง drop table ชื่อตาราง(vip);

วันเสาร์ที่ 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;
ข้อควรระวัง เมื่อทำการลบข้อมูลแล้ว จะไม่สามารถย้อนกลับหรือยกเลิกได้