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

Normal Form

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

เนื้อหาของงาน : https://drive.google.com/file/d/0BzEWigZH50SVdmV0ajAtdHQzREE/view

วันอังคารที่ 12 เมษายน พ.ศ. 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 ซึ่งหมายถึงผู้ใช้สามารถนำไปใช้งานได้ฟรี

ขั้นตอนการลงโปรแกรมใน Ubuntu 14.04
     เปิดหน้าต่าง terminal ขึ้นมาพิมพ์คำสั่ง

     $ sudo apt-get update
     $ sudo apt-get install postgresql postgresql-contrib

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

     หลังจากนั้นเข้าใช้งานโดยพิมพ์
     $ psql

รูปภาพการเรียกใช้งานโปรแกรม Postgres
     หากต้องการออกจากโปรแกรมให้พิมพ์
     # \q

การสร้าง database
     หลังจาก login แล้วเราสามารถสร้าง database ได้โดย
     $ createdb ชื่อdatabase

     และเลือก database นั้นๆโดยพิมพ์
     $ psql -d ชื่อdatabase
 
รูปภาพการเข้าใช้งาน database
     หากต้องการดูว่ามี database ใดบ้างให้พิมพ์
     # \l

รูปภาพแสดง database ที่มีภายในเครื่อง
     หากต้องการออกให้พิมพ์ \q
     ส่วนวิธีการสร้างตารางนั้นเหมือน mysql ทุกอย่าง
     ตัวอย่างคำสั่งการสร้างตาราง
    
     create table instructor(id int,
     name varchar(100),
     salary int,
     inst_dept varchar(100),
     primary key(id),
     foreign key(inst_dept)
     references department(dept_name)
     );


อ้างอิง http://admin.wikidot.com/pgsqlintro
         https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-14-04

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

Assignment 1 : University_enterprise

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

เนื้อหาของงาน : https://drive.google.com/file/d/0BzEWigZH50SVU05JcXJ1c2YyWTA/view

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

Relational Algebra Operations (Week4)


     Relational Algebra โดยพื้นฐานแล้วมีอยู่ 6 คำสั่งได้แก่
  • SELECT
  • PROJECT
  • UNION
  • SET DIFFERENCE
  • CARTESIAN PRODUCT
  • RENAME
รูปภาพแสดงการสร้างตาราง
     สร้างตารางขึ้นมาสองตารางกำหนดให้เป็นร้านหนังสือ A และ B ซึ่งเก็บรายชื่อหนังสือ Fantasy เอาไว้


รูปภาพแสดงการใส่ข้อมูลลงไป
     จากนั้นใส่ข้อมูลรายชื่อหนังสือ ผู้แต่ง และราคาลงไป


     Select แทนด้วย สัญลักษณ์ σ ใช้สำหรับการเลือกแถว(Tuple)ที่ต้องการ เช่น
     σauthor = J.R.R. Tolkien(fantasy_book_store_b)

ภาพแสดงผลลัพธ์ที่ได้
     จากรูปแสดงคำสั่งของ Mysql ที่เทียบเคียงกับ Relational Algebra Operations


     Project แทนด้วยสัญลักษณ์ ∏ ใช้สำหรับการเลือก Column ที่เราสนใจ เช่น
     ∏name,price$(fantasy_book_store_a)

ภาพแสดงผลลัพธ์ที่ได้
     จากรูปแสดงคำสั่งของ Mysql ที่เทียบเคียงกับ Relational Algebra Operations


     Union แทนด้วยสัญลักษณ์ U ใช้สำหรับการเลือกข้อมูลของทั้ง 2 ตารางทั้งหมดโดยตัวที่มีซ้ำกันนั้นจะแสดงค่าออกมาแค่ครั้งเดียว เช่น  
∏name(fantasy_book_store_a) U ∏name(fantasy_book_store_b)

ภาพแสดงผลลัพธ์ที่ได้
     จากรูปจะเห็นว่า The Hobbit ที่มีอยู่ทั้ง 2 ร้านแต่จะแสดงเพียงแค่ครั้งเดียวเพราะเนื่องจากชื่อซ้ำกัน


     Rename แทนด้วยสัญลักษณ์ ρ ใช้สำหรับเปลี่ยนชื่อตาราง หรือ attribute ในตาราง เช่น
     ρsa(fantasy_book_store_a) คือเปลี่ยนชื่อตาราง fantasy_book_store_a เป็น sa
     ρ(name_a,author,price_a)(fantasy_book_store_a) คือเปลี่ยนชื่อ attribute ในตาราง fantasy_book_store_a


     Set Difference แทนด้วยสัญลักษณ์ - ใช้สำหรับแสดงค่าในตารางฝั่งเดียวและไม่เอาข้อมูลที่มีความเกี่ยวข้องกัน เช่น

     ∏name_a(sa) - ∏name_b(sb)

ภาพแสดงการใช้คำสั่ง set difference
ภาพแสดงผลลัพธ์ที่ได้
     จากรูปแสดงคำสั่งของ Mysql ที่เทียบเคียงกับ Relational Algebra Operations


     Cartesian Product แทนที่ด้วยสัญลักษณ์ x ใช้สำหรับนำข้อมูลทั้ง 2 ตารางมา cross กันซึ่งค่าที่ได้ออกมาจะเป็นการจับคู่กันทั้ง 2 ตารางซึ่งจะไม่มีประโยชน์อะไร เราจึงต้องใช้การ select และ project เข้ามาช่วย เช่น

     ∏name_a(σname_a=name_b(sa x sb))

ภาพแสดงผลลัพธ์ที่ได้
     จากรูปแสดงคำสั่งของ Mysql ที่เทียบเคียงกับ Relational Algebra Operations



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) เมื่อมีค่าที่เหมือนกันเราจะนำเอาค่านั้นออกมาแสดงเป็นผลลัพธ์ดังตัวอย่างที่เขียนในด้านล่างนี้

กำหนดให้ตาราง R คือ
+--------+-------+
|  A        |    B    |
+--------+-------+
|   a        |   1      |
|   b        |   2      |
|   a        |   2      |
|   p        |   3      |
|   p        |   4      |
+--------+-------+
กำหนดให้ตาราง S คือ
+------+
|    B   |
+------+
|     2   |
|     3   |
+------+
R/S จะได้ค่า
+------+
|    A   |
+------+
|     b   |
|     a   |
|     p   |
+------+

จากตัวอย่างที่ได้เห็นไปเราสามารถนำ division operation ไปใช้ต่อยอดในการหาข้อมูลจากฐานข้อมูลที่มีขนาดใหญ่ได้ เช่น เราต้องการอยากรู้ว่า ผู้แต่งหนังสือคนนี้ แต่งหนังสือเรื่องอื่นอะไรบ้าง เราก็นำชื่อของผู้แต่ง (Divisor) ไปหารกับ ฐานข้อมูลที่เราเก็บรายชื่อหนังสือ (Dividend) ก็จะได้ผลลัพธ์รายชื่อหนังสือที่ผู้แต่งคนนี้เคยแต่งไว้ออกมา

อ้างอิง
http://www.srisangworn.go.th/home/databaselearnx/ms2t2-2.htm
http://www.go4expert.com/articles/relational-algebra-operations-sql-t21166/
http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins
http://www.techonthenet.com/mysql/tables/alter_table.php

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

Constraints (Week 3)

What constraints does your selected DBMS support?

     Constraints คือ ข้อบังคับหรือเงื่อนไขในการอนุญาติให้เก็บเฉพาะข้อมูลที่เหมาะสมลงในฐานข้อมูลเพื่อให้การเลือกข้อมูลจากฐานข้อมูลเป็นไปอย่างถูกต้อง

     - NOT NULL
     - UNIQUE
     - PRIMARY KEY
     - FOREIGN KEY
     - CHECK
     - DEFAULT

How to specify them?

      วิธีใช้งาน
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,
....
);

     - NOT NULL - บ่งบอกว่าใน column จะไม่สามารถเก็บค่า NULL ไว้
     - UNIQUE - กำหนดให้แต่ละ row ของ column จะเป็นค่าที่ไม่ซ้ำกัน
     - PRIMARY KEY - เป็นการกำหนดให้ column นั้นไม่เป็นค่า NULL และมีค่าที่ไม่ซ้ำกัน ช่วยในการการค้นหาและบันทึกข้อมูุลในตารางได้ง่ายและรวดเร็ว
     - FOREIGN KEY - เป็นการกำหนดค่าในตารางหนึ่งอ้างอิงไปยังค่าตารางอื่นมีความสัมพันธ์กัน
     - CHECK - เช็คค่าใน column ว่าเป็นไปตามที่กำหนดไว้
     - DEFAULT - ระบุค่าเริ่มต้นใน column

ทดลอง

NOT NULL , CHECK , DEFAULT
รูปภาพแสดงการสร้างตารางและรายละเอียด

     ทำการสร้างตารางใหม่ขึ้นมา โดยกำหนดให้ name และ lastname ไม่เป็น NULL และกำหนด check ให้ age ต้องมีค่ามากกว่า 16 และตั้งค่า default ให้ married ให้เป็น N

รูปภาพแสดงการใส่ข้อมูลลงตาราง

     สังเกตว่าถ้าเราไม่พิม name หรือ lastname จะทำให้ค่าเริ่มต้นเป็น default ซึ่งก็คือ NULL ทำให้ไม่สามารถใส่ข้อมูลได้

รูปภาพแสดงการใส่ข้อมูลแบบปกติ

     ทดลองใส่ค่าปกติลงไปในตาราง

รูปภาพแสดงการใส่ข้อมูลโดยไม่ใส่ married

     ทดลองไม่ใส่ค่า married ลงไป ทำให้ข้อมูลเป็นค่า Default ซึ่งจะกลายเป็น N ตรงช่อง married ตามที่เราได้กำหนดไว้ตอนแรก

ปัญหาที่พบ
รูปภาพแสดงการใส่ค่า age น้อยกว่า 16
     ทดลองใส่ค่า age น้อยกว่า 16 ตามที่ได้เขียน Check แต่ก็ยังสามารถเก็บข้อมูลได้ไม่เป็นไปตามที่คิดไว้


UNIQUE , PRIMARY KEY

รูปภาพแสดงการสร้างตาราง employee

     ทำการสร้าง Table ใหม่ขึ้นมา โดยกำหนดให้ Column employee_id เป็น primary key โดย primary key จะทำให้ Column นั้นเป็น Not NULL เสมอและ phone_number เป็น unique

รูปภาพแสดงการใส่ค่าซ้ำลงไป

     ทดสอบใส่ค่าที่ employee_id เดิมลงไปจะเห็นว่าไม่สามารถเพิ่มข้อมูลได้เพราะ Column employee_id เป็น primary key ต้องการค่าที่ไม่ซ้ำ ส่วนที่ Column phone_number ก็ไม่สามารถใส่ค่าซ้ำได้เช่นกันเพราะเป็น unique

รูปภาพแสดงการใส่ค่าโดยไม่ใส่ Phone_number

     ทดสอบใส่ค่า name สามารถซ้ำกันได้เพราะไม่ได้กำหนด Constraints ให้เป็น Primary key หรือ Unique ส่วน Column Phone_Number ที่กำหนด Constraints ให้เป็น Unique สามารถใส่ค่า NULL ลงไปได้


FOREIGN KEY


     ทำการสร้างตารางขึ้นมาใหม่ โดยสร้างตารางชื่อ product และ orders โดยตาราง orders จะมี foreign key ที่ตัว product_id และชี้ไปยัง id ในตาราง product เพื่อเป็นการอ้างอิงข้อมูล

รูปภาพแสดงรายละเอียดตารางทั้ง 2
รูปภาพแสดงข้อมูลทั้งที่ใส่ลงไปทั้งสองตาราง

     ทดลองใส่ข้อมูลลงไปทั้งสองตาราง

ทดลองใส่ค่าที่ไม่มีในตาราง product

     ถ้าเราใส่ค่า product_id ที่ไม่มีอยู่ในตาราง product ลงไปในตาราง orders จะไม่สามารถใส่ค่าลงไปได้ เนื่องจากเรามีการกำหนดให้มีความสัมพันธ์กันแบบ foreign key
 

อ้างอิง
http://code.function.in.th/sqlserver/data-type
http://www.w3schools.com/sql/sql_constraints.asp

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

SQL Tutorial (Week 2)

SQL Tutorial 
     ฝึกใช้คำสั่งเบื้องต้นในการทำ database โดยเรียนรู้จากเว็บ http://www.w3schools.com/sql/default.asp


SQL Home
     SQLเป็นภาษาพื้นฐานในการเข้าถึงฐานข้อมูล การฝึก SQL ในเว็บ w3schools จะสอนวิธีการใช้ SQL การเข้าถึงและจัดการข้อมูลใน: MySQL, SQL Server, Access, Oracle, Sybase, DB2 และระบบฐานข้อมูลอื่น ๆ

SQL Intro
     SQL คืออะไร? SQL เป็นพื้นฐานมาจากโครงสร้างของ Query Language ช่วยให้เข้าถึงและจัดการข้อมูลได้ง่าย และ เป็นมาตรฐาน ANSI (American National Standards Institute)
    SQL ทำอะไรได้บ้าง?
          1. สามารถสอบถามข้อมูลกับฐานข้อมูล
          2. สามารถดึงข้อมูลจากฐานข้อมูล
          3. สามารถเพิ่มบันทึกลงฐานข้อมูล
          4. สามารถปรับปรุงเปลี่ยนแปลงฐานข้อมูล
          5. สามารถลบข้อมูลบนฐานข้อมูล
          6. สามารถสร้างฐานข้อมูลใหม่
          7. สามารถสร้างตารางใหม่ในฐานข้อมูล
          8. สามารถสร้างกระบวนการการจัดเก็บในฐานข้อมูล
          9. สามารถสร้างมุมมองในฐานข้อมูล
          10. สามารถกำหนดสิทธิ์ในการเข้าใช้ต่างๆ

SQL Syntax

     ใน Database Tables ส่วนใหญ่จะเก็บข้อมูลไว้ 1 ตารางหรือมากกว่า 1 ส่วนในรูปด้านล่างจะเป็นตารางของ Customers


รูปแสดงตารางข้อมูลของตาราง Customers
     ซึ่งในตัวอย่างของ SQL Statements จะมีให้เราเลือกว่าจะดึงข้อมูลจาก tableไหนออกมาดูโดยใช้คำสั่ง SELECT * FROM [tableที่เราต้องการในฐานข้อมูลที่เรามี]; ซึ่งในตัวอย่างจะมี table ให้เลือกอยู่ 8 อย่าง ดังภาพที่แสดงด้านล่าง

ภาพตัวอย่างการดึงข้อมูลจากตารางCategories

SQL Select
     วิธีการเลือกดูหัวข้อของข้อมูลที่เราต้องการจะใช้คำสั่ง
SELECT column_name,column_name
FROM table_name;
     
ภาพแสดงตัวอย่างในการดึงข้อมูลออกมาเพียง 3 Column
     จากภาพจะเห็นว่าเราเลือกมาเพียง 3 Column คือ CustomerID,CustomerName,Address

     ส่วนการใช้ SELECT * FROM table_name; นั้นตัว '*' เป็นตัวบ่งบอกว่าเราจะเอาทุก Column ในตารางนั้นๆ

ภาพแสดงการเลือกทุก Column ในตาราง

SQL Distinct
     เป็นคำสั่งที่ใช้ดึงเฉพาะข้อมูลที่ไม่ซ้ำกันออกมา โดยใช้คำสั่ง
SELECT DISTINCT column_name,column_name
FROM table_name;

ภาพแสดงการดึงเฉพาะข้อมูลที่ไม่ซ้ำจากตาราง Orders
     จากภาพเราต้องการรู้ข้อมูลที่ไม่ซ้ำกันในตารางของ Orders จากหัวข้อ EmployeeID

SQL Where
     เป็นคำสั่งที่ต้องการค้นหาข้อมูลที่ระบุไว้
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;

ภาพแสดงการค้นหาคำว่า Mexico
     จากภาพเราต้องการค้นหาคำว่า Mexico ใน Country ข้อมูลที่ได้ก็จะแสดงออกมาแต่ประเทศ Mexico

     ส่วน Operators ที่ใช้ใน Where ก็สามารถใช้ได้หลายรูปแบบดังนี้
ภาพแสดง Operators ที่มีให้เลือกใช้

SQL And & Or
     เป็นคำสั่งที่ใช้แสดงเมื่อเราใส่เงื่อนไขเป็นจริง เช่น

SELECT * FROM Customers
WHERE Country='Germany'
AND City='Berlin';

     เราจะแสดง Customers ที่อยู่ในประเทศ Germany และ เมือง Berlin เท่านั้น ส่วน

SELECT * FROM Customers
WHERE City='Berlin'
OR City='München';

    เราจะแสดง Customers ที่อยู่ในเมือง Berlin หรือเมือง München ทั้ง2เมือง

    หรือเราจะใช้การเขียนผสมกันของ And & Or เช่น

SELECT * FROM Customers
WHERE Country='Germany'
AND (City='Berlin' OR City='München');

  เราจะแสดง Customers ที่อยู่ในประเทศ Germany และ เมือง Berlin หรือ München 


ภาพตัวอย่างการใช้ And และ Or ผสมกัน

SQL Order By

     เป็นคำสั่งที่ไว้ใช้เรียงข้อมูล จากน้อยไปมาก และ จากมากไปน้อยโดยใช้คำสั่ง

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


ภาพตัวอย่างการใช้ ASC และ DESC
     จากภาพด้านบนเราจะใช้การเรียงข้อมูลทั้ง ASC และ DESC โดยเราจะเรียงชื่อ Country ก่อนจากน้อยไปมาก คือ A ถึง Z และ อันดับต่อมาจะให้เรียง CustomerName จากมากไปน้อย คือ Z มา A

SQL Insert Into

     เป็นการเพิ่มข้อมูลเข้าไปในฐานข้อมูลเดิมโดยใช้คำสั่ง

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

     โดยเราจะลองใช้คำสั่ง

INSERT INTO Shippers (ShipperName, Phone)
VALUES ('Test','0123456789');


ภาพแสดงผลลัพธ์ที่ได้จากการใช้คำสั่ง Insert Into
     จากรูปแสดงให้เห็นผลลัพธ์จากการลองใช้คำสั่งด้านบน จะเห็นว่ามีการเพิ่มข้อมูลเข้าไปในฐานข้อมูลเดิม

SQL Update
     เป็นการแก้ไขข้อมูลที่มีอยู่แล้วในฐานข้อมูล โดยใช้คำสั่ง

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

     update ตามด้วยชื่อของตารางที่เราต้องการ , set คือการจะแก้ไขเป็นชื่ออะไร , where เพื่อบอกว่าแก้ไขแทนที่ตรงไหนในฐานข้อมูล
     ข้อควรระวัง ถ้าลืมใส่ where ลงในคำสั่งจะทำให้เกิดการเปลี่ยนแปลงทุก Column ดังภาพด้านล่าง


ภาพแสดงผลลัพธ์ที่ได้เมื่อไม่ใส่ Where

SQL Delete
     เป็นการลบข้อมูลใน row ออกจาก table นั้นๆ โดยใช้คำสั่ง

DELETE FROM table_name
WHERE some_column=some_value;


ภาพแสดงผลลัพธ์ที่ได้จากการใช้คำสั่ง Delete
     จากภาพได้ลองลบ Country Mexico ออกจากฐานข้อมูล ซึ่งจะเห็นได้ว่า แถวที่ 2 3 13 นั้นได้หายไปเพราะเดิมที่ 3 แถวนั้นเก็บข้อมูลประเทศของ Mexico เอาไว้นั้นเอง
     หากต้องการลบข้อมูลทั้ง Table ก็ให้ใช้คำสั่ง DELETE FROM table_name; หรือ DELETE * FROM table_name;
     ข้อควรระวัง หลังจากลบข้อมูลทิ้งไปแล้ว เราไม่สามารถยกเลิกได้

     หลักจากทดลองคำสั่งเบื้องต้นแล้ว ได้ทำการโหลดโปรแกรมการจัดการฐานข้อมูลมาใช้ โดยตัวที่เลือกคือ Mysql เพราะเป็น Open Source License โดย download จาก http://dev.mysql.com/downloads/windows/installer/ เป็น version 5.7.10


     เมื่อลงโปรแกรมเสร็จเรียบร้อยแล้วเราจะเปิดโปรแกรม เป็นแบบ command line ใส่ passwordและเริ่มการใช้งานได้ทันที



รูปภาพหลังจากใส่รหัสผ่านแล้ว

     จากนั้นใช้คำสั่ง CREATE DATABASE movie; จะสร้าง Database ขึ้นมาใหม่ และพิมพ์คำสั่ง show databases; เพื่อให้แสดงข้อมูลใน database ที่เรามี


รูปภาพแสดงข้อมูล database ที่เรามี
  
     เมื่อเราต้องการเข้าไปแก้ไขข้อมูลใน movie ให้ใช้คำสั่ง use movie;
     จากนั้นทำการสร้าง Table โดยใช้คำสั่ง

CREATE TABLE horror (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, 
name VARCHAR(50),
time_minutes int,
rate float);

     โดยค่าของ id จะไม่มีทางเป็น NULL และจะเพิ่มขึ้นที่ละ 1
     จากนั้นพิมคำสั่ง show tables; เพื่อดูตารางที่เราสร้าง


รูปภาพแสดงชื่อ Table ใน Database Movie

     เราสามารถดูรายละเอียดของชนิดตัวแปรที่เรากำหนดใน tableได้ด้วยคำสั่ง describe horror;


รูปภาพรายละเอียดของ Table horror

     หลังจากนั้นได้ทดลองใส่ข้อมูล โดยใช้คำสั่ง Insert Into


ผลลัพธ์ที่ได้หลังจากใส่ข้อมูลลง Table

ปัญหาที่พบ
     เนื่องจากเวลาที่เราใส่ข้อมูลลงไปใน Table เลข id จะเพิ่มขึ้นเรื่อยๆที่ละ 1 เมื่อเราลบข้อมูลทิ้งไป เลข id ที่โดนลบไปนั้นจะไม่ถูกแทนที่ด้วยข้อมูลใหม่ ทำให้เลข id นั้นถูกข้ามไปเลย ซึ่งวิธีแก้ไขคือ ตอนเราจะใส่ข้อมูลแทนที่เลข id ที่หายไปนั้น ให้ใช้คำสั่ง

insert into horror (id,name,time_minutes,rate)
value ('เลขที่หายไป','name','time','rate');

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