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

DBMS : MySQL

DBMS

     DBMS มีหลายตัวให้เลือกใช้ แต่ที่ได้เลือกใช้ คือ mySQL เนื่องจากเป็น open source (คือ ตัว software เป็นแบบฟรีที่ถูกลิขสิทธิ์) และอีกสาเหตุที่เลือกใช้เนื่องจากมีอยู่ในเครื่องคอมพิวเตอร์อยู่แล้วโดยในตอนนั้นลงเป็น appserv ซึ่งจะมี php และ mySQL ติดมาด้วย จึงไม่ต้องทำการดาวน์โหลดใหม่

AppServ : Apache + PHP + MySQL


     เมื่อลงโปรแกรมเสร็จแล้ว ก่อนอื่นจะทำการ log in ก่อน เมื่อทำการ log in เสร็จแล้ว ฝั่งซ้ายมือของแต่ละบรรทัดจะขึ้นต้นด้วย mysql>
     ตัวแปรแกรมจะมีข้อมูลแถมมาให้ด้วย โดยเราสามารถเช็ค DB ได้จาก คำสั่ง SHOW DATABASE;

     ปล. คำสั่ง ตัวอักษรเล็กหรือใหญ่ ไม่ต่างกัน

ภาพแสดง การใช้คำสั่งในการดู DB

     ในภาพ จะเห็นได้ว่ามี DB ทั้งหมด 4 ตัว โดยหลังจากนี้ เราจะทำการเพิ่ม DB ของเราเอง โดยให้ชื่อว่า student ดังนั้นต้องใช้คำสั่งในการสร้าง DB นั่นคือ create database student; 

ภาพแสดง การใช้คำสั่ง ในการสร้าง DB

     หากเราต้องการลบ DB ตัวใด ก็จะใช้คำสั่ง drop database ตามด้วชื่อDB เช่น หากต้องการลบ thaicreate_2013 ก็จะใช้คำสั่ง drop database thaicreate_2013; 

ภาพแสดงตัวอย่างการลบ DB

     เมื่อทำการเช็ค DBทั้งหมด จะเห็นได้ว่าไม่มี thaicreate_2013 แล้ว และได้มี student เพิ่มเข้ามาแทน

ภาพแสดง DB หลังจากการเพิ่มและลบDB

      หากเราต้องการจะทำDB ตัวใด เราต้องทำการเลือก DB ก่อนถึงจะกำหนดชื่อตารางใน DB ได้ โดยใช้คำสั่ง use ตามด้วยชื่อ DB ที่สร้างไว้ เช่น กรณีนี้ ที่เราจะใช้ DB ของ student จึงใช้คำสั่ง use student;
   
ภาพแสดงการเลือก DB

     หากต้องการให้แสดงตารางทั้งหมดในDB นี้ จำใช้คำสั่ง show tables; แต่เนื่องจาก DB student เราพึ่งทำการสร้างใหม่ ทำให้ยังไม่มีตารางหรือข้อมูลใดๆเลย จึงได้แจ้งว่า Empty

ภาพแสดงการใช้คำสั่ง แสดงตาราง

     เราจะมาทำการสร้างตารางกัน โดยใช้คำสั่ง create table ตามด้วยชื่อตาราง(ข้อมูล1 ชนิด1,ข้อมูล2 ชนิด2) ;  เช่น เราอยากจะสร้างตารางที่ชื่อว่า ece โดยเก็บข้อมูล
1) ID student
2) Name
3) Surname
4) Major
     เราจะใช้คำสั่ง create table ece (id_student varchar(13), name varchar(20), surname varchar(20), major varchar(5));

ภาพแสดงการสร้างตารางและคอลัมน์ต่างๆในตาราง

     ข้อผิดพลาดที่พบ โดยในตอนแรกที่พบคือ ตอนสร้างคอลัมน์ในตาราง ตรง id_student ได้กำหนด type เป็น int เนื่องจากคิดว่า id ใส่ได้เพียงแค่ตัวเลขอยู่แล้ว แต่เมื่อทำการใส่ข้อมูลไปแล้ว ถึงพบว่า integer มีขีดจำกัดในตัวเลขต่ำสุดและสูงสุด คือ –2,147,483,648 ถึง 2,147,483,647 ทำให้ข้อมูลที่ใส่ไป กลับเป็นเลข integer ที่สูงสุด จึงได้ทำการแก้ไขเป็นการเก็บค่าโดยใช้ varchar 
     คำสั่งในการเปลี่ยนชื่อคอลัมน์ในตารางคือ 
          ALTER TABLE ece CHANGE id_student  id_student  varchar(13);
        อ้างอิงจาก : http://www.1keydata.com/sql/alter-table-rename-column.html

     หรืออาจทำหารลบตารางและสร้างใหม่ โดยการลบตารางใช้คำสั่ง
          drop table ece;
     ข้อมูลเกี่ยวกับ data type อ้างอิงจากเว็บไซต์ : 
                                        http://code.function.in.th/sqlserver/data-type
                                        http://www.tutorialspoint.com/sql/sql-data-types.htm

     หลังจากการเพิ่มตารางชื่อ ece แล้วทำการเช็คว่าได้เพิ่มแล้วจริงหรือไม่ โดยใช้คำสั่ง show tables; แต่ทีนี้จะไม่แจ้งว่า Empty แล้ว เนื่องจากได้เพิ่มไปแล้ว

ภาพแสดงการชื่อตาราง หลังจากมีเพิ่มตารางเข้าไป

      แต่ถ้าหากจะดูรายละเอียดต่างๆในตาราง เช่น ชื่อคอลัมน์ typeที่ใช้เก็บข้อมูล จะใช้คำสั่ง describe ตามด้วยชื่อตาราง เช่น describe ece; ก็จะเห็นข้อมูลต่างๆในตาราง ตามที่เราได้สร้างไว้ก่อนหน้า

ภาพแสดงการใช้คำสั่งdescribe


     การเพิ่มข้อมูลเข้าไปยังตาราง จะใช้คำสั่ง insert into ดังที่เคยได้ศึกษามาก่อนในเว็บ w3school 

ภาพแสดงตัวอย่าง การใส่ข้อมูลตัวที่ 1

ภาพแสดงตัวอย่าง การใส่ข้อมูลตัวที่ 2

     หากต้องการดูข้อมูลที่ใส่ไปทั้งหมด ในตาราง ece ทำได้โดยใช้คำสั่ง select * from ece; จะเห็นได้ว่ามีข้อมูลทั้งสองตัว ตามที่ได้เพิ่มเข้ามาก่อนหน้า

ภาพแสดงการแสดงข้อมูลทั้งหมดในตาราง

     หลังจากนั้นได้ทำการเพิ่มข้อมูลเข้าไปอีก 3 คน เป็น 5 คน โดยคนที่ 5 สร้างขึ้นเพื่อจะทดลองใช้คำสั่ง delete 

     

ภาพแสดงข้อมูลปัจจุบัน ที่มีจำนวน 5 คนก่อนทำการลบ

ภาพแสดง การลบ ข้อมูลตรงแถวที่ืname มีค่าเป็น love

ภาพแสดงข้อมูลหลังทำการลบ โดยเหลือข้อมูลอยู่ 4 ข้อมูล


     ทดลองทำการอัพเดตค่า โดยเลือกทำการอัพเดตชื่อของ "Noparat" และ "Phairojpattanakul" ให้เป็นตัวอักษรพิมพ์เล็กให้หมด ซึ่งทำได้ดังนี้

ภาพแสดงคำสั่งในการอัพเดตข้อมูลของ noparat

ภาพแสดงการตรวจสอบข้อมูลในตารางหลังการอัพเดต


     ทดลองให้เรียงข้อมูลที่นำมาแสดง ตามชื่อและนามสกุลของนักศึกษา โดยใช้คำสั่ง order by โดยมีรายละเอียดคำสั่งดังรูป

ภาพแสดงการจัดเรียงข้อมูล ตามชื่อและนามสกุลของนักศึกษา

     
อ้างอิงข้อมูลการทำจาก :

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

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