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
วันจันทร์ที่ 23 พฤษภาคม พ.ศ. 2559
Normal Form
สมาชิกกลุ่ม
1.นพรัตน์ ไพโรจน์พัฒนกุล 5601012620072
2.ชนานันน์ พงศ์กีรติกานต์ 5601012630043
3.นสิทธิ์ จูรอด 5601012630175
เนื้อหาของงาน :http://db5620072.blogspot.com/2016/05/normal-form.html
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
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 ชื่อตาราง
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
1.นพรัตน์ ไพโรจน์พัฒนกุล 5601012620072
2.ชนานันน์ พงศ์กีรติกานต์ 5601012630043
3.นสิทธิ์ จูรอด 5601012630175
อ้างอิง: เนื้อหาของ A1
วันจันทร์ที่ 8 กุมภาพันธ์ พ.ศ. 2559
To Do week4(Relational Algebra)
- Select *
- Project *
- Rename *
- Union **
- Set difference **
- Cartesian-product **
* Unary operations คือการมี Operand เพียงตัวเดียว
** Binary operations คือการมี Operand 2 ตัว - set intersection
- natural join
- division
- assignment
- Select operation
การทำงาน : เป็นคำสั่งที่ใช้เลือกข้อมูล ในแถวที่ตรงกับเงื่อนไขที่กำหนด คล้ายกับคำสั่ง where ในภาษา SQL
แทนด้วยสัญลักษณ์ :
วิธีการใช้งาน :
condition สามารถใช้เครื่องหมาย :การเปรียบเทียบ = , > , < , ≥ , ≤ , ≠
ตัวอย่างการใช้งาน :
เช่นในตารางความสัมพันธ์ของสมุดโทรศัพท์ มีข้อมูลของผู้ติดต่ออยู่ภาพแสดงตารางข้อมูลทั้งหมด ของ ความสัมพันธ์ Contactเราจะเลือกเอาข้อมูลเฉพาะผู้ติดต่อที่ อยู่ใน Home ซึ่งสามารถเขียนโดยใช้ Select operation ได้ดังนี้ - Project operationการทำงาน : เป็นคำสั่งที่ใช้แสดงข้อมูล ในcolumn(attribute) ที่ตรงกับเงื่อนไขที่กำหนด คล้ายกับคำสั่ง select ในภาษา SQLแทนด้วยสัญลักษณ์ :

วิธีการใช้งาน : - Union operation
การทำงาน : ใช้เมื่อต้องการเชื่อมข้อมูล กับตารางมากกว่า1ตาราง โดยจะเอาข้อมูลทุกตัว ถ้ามีข้อมูลซ้ำกันจะแสดงข้อมูลนั้นเพียง1ตัวแทนด้วยสัญลักษณ์ : Uวิธีการใช้งาน : A U B //โดย A และ B เป็นความสัมพันธ์ตัวอย่างการใช้งาน :
เช่น ต้องการหาชื่อของสมาชิก ลูกค้าปกติ และลูกค้า VIP ซึ่งเราต้องการแค่ชื่อของสมาชิก จึงใช้ Project operation เข้ามาช่วย ในการใช้ร่วมกับคำสั่ง Union operation
- Set difference
การทำงาน : เลือกแสดงค่าที่อยู๋ในความสัมพันธ์หนึ่งแต่ ไม่พบค่านั้นในอีกความสัมพันธ์หนึ่งแทนด้วยสัญลักษณ์ : - (เครื่องหมาย - )วิธีการใช้งาน : A - B //โดย A และ B เป็นความสัมพันธ์
//ค่าที่ได้จะอยู่ใน A แต่ไม่อยู๋ใน B - Cartesian-productการทำงาน : ใช้สำหรับนำข้อมูลทั้ง 2 ตารางมา cross กันซึ่งค่าที่ได้ออกมาจะเป็นการจับคู่กันทั้ง 2 ตารางซึ่งจะไม่มีประโยชน์อะไร เราจึงต้องใช้การ select และ project เข้ามาช่วยแทนด้วยสัญลักษณ์ : Xวิธีการใช้งาน : A x B
เมื่อนำมาใช้รวมกับ select operationตัวอย่างการใช้งาน :
------
More examples of queries in Relational Algebra
Relational Algebra คือ การแสดงถึงความสัมพันธ์ของข้อมูล ซึ่งเป็นพื้นฐานของการสร้างฟังก์ชันของคำสั่งต่างๆใน SQL
Relational Algebra มี operations พื้นฐานได้แก่
นอกจากนี้ยังมีคำสั่งอื่นๆอีกเช่น
ในที่นี้จะเริ่มอธิบาย operations พื้นฐาน ก่อนได้แก่

ตัวอย่างการใช้งาน : เช่นต้องการแสดงข้อมูลName และ Phone โดยไม่สนใจข้อมูลใน column อื่นๆ
ภาพแสดงตารางข้อมูลทั้งหมด ของ ความสัมพันธ์ Contact
เราจะเลือก attribute ที่นำมาแสดงซึ่งสามารถเขียนโดยใช้ Project operation ได้ดังนี้
ภาพแสดงตารางใหม่ ตามเงื่อนไขที่ได้กำหนด
โดย relational algebra ดังกล่าวมีความหมายเดียวกับ คำสั่ง MySQL ดังต่อไปนี้
- select name,phone from contact;
Ans Inner join นั้นคือการนำค่าระหว่าง set หรือข้อมูลที่มีการซ้อนทับกันหรือเหมือนกัน ส่วน Outer join นั้นคือการเอาค่าทั้งหมดของระหว่าง set นั้นเอง และยังมี join ประเภทอื่นๆอีกมากมาย
ภาพแสดงการ Join ในรูปแบบต่างๆ
What is a division operation?
Ans การทำ division operation คือการนำเอาค่าของ Attribute ตารางที่เป็น Divisor(S) ไปเทียบกับค่า Attributeในตาราง Dividend(R) เมื่อมีค่าที่เหมือนกันเราจะนำเอาค่านั้นออกมาแสดงเป็นผลลัพธ์ดังตัวอย่างที่เขียนในด้านล่างนี้
Ans การทำ division operation คือการนำเอาค่าของ Attribute ตารางที่เป็น Divisor(S) ไปเทียบกับค่า Attributeในตาราง Dividend(R) เมื่อมีค่าที่เหมือนกันเราจะนำเอาค่านั้นออกมาแสดงเป็นผลลัพธ์ดังตัวอย่างที่เขียนในด้านล่างนี้
ภาพแสดงตัวอย่างการใช้ division
จากรูปจะเห็นว่า การนำข้อมูลของตาราง s ไปเทียบกับ attribute ในตาราง r ซึ่งได้ข้อมูลออกมาเป็น set โดยข้อมูลที่ได้ คือการที่ attribute A ตัวเดียวกันมีค่าใน attribute B ทั้งสองค่า ไม่ใช่แค่มีค่าใดค่า 1
จากรูปจะเห็นว่า การนำข้อมูลของตาราง s ไปเทียบกับ attribute ในตาราง r ซึ่งได้ข้อมูลออกมาเป็น set โดยข้อมูลที่ได้ คือการที่ attribute A ตัวเดียวกันมีค่าใน attribute B ทั้งสองค่า ไม่ใช่แค่มีค่าใดค่า 1
ข้อมูลอ้างอิงจาก :
http://www.srisangworn.go.th/home/databaselearnx/ms2t2-2.htm
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 เป็นไปอย่างถูกต้อง อธิเช่น
โดยการระบุ constraints นั้นจะทำตั้งแต่การสร้างตาราง(created) หรือการแก้ไขรายละเอียดของตาราง(ALTER)เมื่อตารางนั้นได้ถูกสร้างขึ้นแล้ว
อ้างอิงจาก: http://www.w3schools.com/sql/sql_constraints.asp
How to specify them?
-SQL มีข้อจำกัดในการระบุลงในตาราง เพื่อให้การเลือกและการจัดเก็บข้อมูลใน database เป็นไปอย่างถูกต้อง อธิเช่น
- NOT NULL - คือการกำหนดให้ columns นั้น เป็น null ไม่ได้
- UNIQUE - คือการกำหนดให้ข้อมูลใน columns นั้นไม่สามารถซ้ำกันได้
- PRIMARY KEY - คือการกำหนดให้ columns นั้น เก็บค่า null ไม่ได้ และ มีข้อมูลที่ไม่ซ้ำกัน
- FOREIGN KEY - คือการกำหนดให้ columns นั้นเก็บข้อมูลเดียวกันกับ column ในtable อื่น เพื่อใช้เป็นตัวเชื่อมโยงกันระหว่าง table
- CHECK - คือการกำหนดให้ columns นั้นเก็บค่าที่เฉพาะเจาะจง
- 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(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
....
);
(
column_name1 data_type(size) constraint_name,
column_name2 data_type(size) constraint_name,
column_name3 data_type(size) constraint_name,
....
);
ทดลองสร้างตาราง และกำหนดCONSTRAINT
รูปที่1 แสดงการสร้างตาราง และ แสดงรายละเอียดของตาราง
จากรูปที่1จะเห็นว่า
- id ให้เป็น PRIMARY KEY และไม่สามารถเก็บค่า null ได้
- name และ lastname ไม่สามารถเก็บค่า null ได้
- age กำหนดCONSTRAINT โดยใช้คำสั่ง CHECK ให้ข้อมูลที่ใส่ต้องมีค่ามากกว่า20
- status กำหนดค่า DEFAULT ให้เป็น S
ทอลองใส่ข้อมูล
จากรูปที่2จะเห็นว่า
- ถ้าเราไม่กำหนดค่าใน column status database จะเก็บข้อมูลเป็น s ซึ่งเป็นค่า DEFAULT ที่เราได้ตั้งไว้
- มีข้อผิดพลาดในการใช้ CONSTRAINT โดยใช้คำสั่ง CHECK เนื่องจากเรากำหนดให้ age>20 แต่ค่าที่เราใส่เค้าไปเป็น 19 *จะหาทางแก้ไขต่อไป
จากรูปที่3จะเห็นว่า
- ถ้าหากไม่ใส่ข้อมูลช่อง lastname จะไม่สามารถเพิ่มข้อมูลได้เนื่องจาก เรากำหนดCONSTRAINT ไม่ให้เก็บค่า null
- ในกรอบสีแดง เป็นการใส่ค่าที่มี 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
2.วิธีการUpdate ข้อมูล
3.วิธีการแก้ไขลักษณะของตัวแปรใน columns
4.วิธีการกำหนด PRIMARY KEY
1.วิธีการลบข้อมูลใน table
เริ่มแรกให้เข้าไปใน database ที่มีตารางที่เก็บข้อมูลที่เราต้องการลบ
รูปแสดงข้อมูลที่อยู่ใน table
หลังจากนั้นให้ใช้คำสั่ง delete from ชื่อtable(Vip) where ชื่อcolumn(name) =" Book";
รูปแสดงรายละเอียดข้อมูลของ table Vip
รูปแสดงข้อมูลที่อยู่ใน table หลังจากลบข้อมูล "Book" ไปแล้ว
*ปัญหาที่พบคือ เลข id ที่ถูกลบไปจะไม่ถูกแทนที่
2.วิธีการUpdate ข้อมูล
โดยในที่นี้จะทำการ Update เบอร์โทรศัพท์ของ Teng โดยใช้คำสั่ง
update vip
set phone="084-444-4444"
where name= "Teng";
รูปแสดงข้อมูลที่อยู่ใน table หลังจากUpdate เบอร์โทรศัพท์ของ Teng
3.วิธีการแก้ไขลักษณะของตัวแปรใน columns
เริ่มแรกรายละเอียดข้อมูลของ table Vip เป็นดังภาพ
ในที่นี้ต้องการเปลี่ยนแปลง column phone โดยดำหนดให้เป็น null ไม่ได้โดยใช้คำสั่ง
ALTER TABLE vip CHANGE phone phone varchar(100) not null;
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');
VALUES ('Book','081-111-1111');
และเพิ่มข้อมูลไปเรื่อยๆ และโชว์ข้อมูลในตารางโดยใช้คำสั่ง SELECT * FROM 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 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;
ข้อควรระวัง เมื่อทำการลบข้อมูลแล้ว จะไม่สามารถย้อนกลับหรือยกเลิกได้
ข้อควรระวัง เมื่อทำการลบข้อมูลแล้ว จะไม่สามารถย้อนกลับหรือยกเลิกได้
สมัครสมาชิก:
ความคิดเห็น (Atom)





