ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยStéphanie Tuschinski Rosa ได้เปลี่ยน 6 ปีที่แล้ว
1
Intro MySQL MySQL (อ่านว่า “มาย-เอส-คิว-แอล”) เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS: Relational Database Management System) ตัวหนึ่งที่นิยมกันมากในปัจจุบัน ถูกพัฒนาโดย บริษัท MySQL AB ในประเทศสวีเดน โดย David Axmark, Allan Larsson และ Michael “Monty” Widenius.
2
Intro MySQL เป็นฟรีแวร์ที่มีประสิทธิภาพสูง มีความเร็ว น่าเชื่อถือ ง่ายต่อการใช้งาน การรองรับจำนวนผู้ใช้และขนาดของข้อมูลได้มหาศาล สนับสนุนการใช้งานสนับสนุนการใช้งานบนระบบปฏิบัติการมากมาย เช่น Linux, Mac OS, Windows เป็นต้น สามารถใช้งานร่วมกับภาษาต่างๆ ไม่ว่าจะเป็น C, C++, Java, Perl, PHP, Python, ASP เป็น Open Source Software สามารถใช้และแก้ไขได้โดยไม่เสียค่าใช้จ่าย ตามข้อกำหนดของ GNU GPL มีการพัฒนาต่อเนื่องตามข้อกำหนดมาตรฐาน SQL
3
สถาปัตยกรรมของ MySQL สถาปัตยกรรม หรือโครงสร้างภายในของ MySQL
ก็คือ การออกแบบการทำงานในลักษณะของ Client/Server ประกอบด้วย 2 ส่วน คือ ผู้ให้บริการ (Server) ผู้ใช้บริการ (Client)
4
สถาปัตยกรรมของ MySQL ผู้ให้บริการ (Server) ผู้ใช้บริการ (Client)
- ตรวจสอบการติดต่อจาก Client ถ้าถูกต้อง Server ก็ให้บริการ แต่ถ้าไม่ถูกต้อง ก็จะส่งข้อความผิดพลาดไปยังฝั่ง Client - ทำหน้าที่บริหารจัดการระบบฐานข้อมูล - เป็นตัวจัดเก็บข้อมูลทั้งหมด ผู้ใช้บริการ (Client) - ติดต่อขอใช้บริการไปยังฝั่ง Server - รับผลลัพธ์ที่ประมวลผลเสร็จจาก Server มาแสดง
5
โครงสร้างการเก็บข้อมูลใน MySQL
6
Connecting to the Server
เข้าสู้ MySQL โดยใส่รหัสผ่านของ root
7
Connecting to Server (cont.)
เมื่อ login ผ่าน MySQL จะโชว์ข้อมูลดังภาพ หมายถึง การเชื่อมต่อกับ MySQL Server สำเร็จ จะแสดง mysql>
8
Disconnecting from Server
ออกจาก MySQL โดยใช้คำสั่ง quit หรือ exit ก็ได้
9
Creating a Database คำสั่ง CREATE DATABASE ชื่อdatabase;
(เพื่อสร้าง database ขึ้นมาใหม่ จากตัวอย่าง database ชื่อ menagerie)
10
Show Databases คำสั่ง SHOW DATABASES ;
(เพื่อให้แสดงรายชื่อ database ที่มีอยู่ใน Server ณ ปัจจุบัน)
11
Creating and Selecting a Database
คำสั่ง USE ชื่อdatabase; (เพื่อเลือกใช้ database นั้นๆ จากตัวอย่างเราเลือกใช้ database ชื่อ menagerie) คำสั่ง SHOW TABLE; (เพื่อให้แสดง table ใน database ที่เราเลือกใช้ จากตัวอย่างแสดงข้อความ Empty set (0.00 sec) นั่นคือไม่มี table ใน menageries)
12
Creating a Table คำสั่ง CREATE TABLE ชื่อtable (ชื่อcolumn ชนิดข้อมูล); (เพื่อสร้าง table ใน database ที่เราเลือกใช้ พร้อมทั้งกำหนดค่าต่างๆ ที่เกี่ยวกับ table ด้วย จากตัวอย่างเป็นการสร้างตารางชื่อ pet โดยมี column ดังนี้ name ชื่อของสัตว์เลี้ยง, owner ชื่อของเจ้าของสัตว์, species ชนิดของสัตว์, sex เพศของสัตว์, birth วันเกิดของสัตว์, death วันตายของสัตว์)
13
แก้ไขโครงสร้าง Table คำสั่ง ALTER TABLE ชื่อตารางเก่า RENAME ชื่อตารางใหม่ ; คำสั่ง ALTER TABLE ชื่อตาราง ADD ชื่อฟิลด์ใหม่ ชนิดข้อมูล ;
14
แก้ไขโครงสร้าง Table คำสั่ง ALTER TABLE ชื่อตาราง CHANGE ชื่อฟิลด์เก่า ชื่อฟิลด์ใหม่ ชนิดข้อมูล; คำสั่ง ALTER TABLE ชื่อตาราง MODIFY ชื่อฟิลด์ที่จะแก้ไข ชนิดข้อมูลใหม่; คำสั่ง ALTER TABLE ชื่อตาราง DROP ชื่อฟิลด์ที่ต้องการลบ;
15
delete คำสั่ง DELETE FROM ชื่อตาราง WHERE เงื่อนไข;
16
Drop คำสั่ง DROP TABLE ชื่อตาราง; คำสั่ง DROP DATABASE ชื่อ database;
17
Creating a Table คำสั่ง SHOW TABLES; (เพื่อดู table ที่สร้างใน databases ชื่อ menagerie จากตัวอย่างจะเห็น table ชื่อ pet )
18
Table Describe คำสั่ง DESCRIBE ชื่อtable; หรือ DESC ชื่อtable;
19
Loading Data into a Table
คำสั่ง INSERT INTO ชื่อtable (ชื่อcolumn) VALUES (‘ค่าที่ต้องการใส่ใน record’); หรือ INSERT INTO ชื่อtable(ระบุชื่อcolumn) VALUES (‘ค่าที่ต้องการใส่ใน record’); สังเกต ค่าที่เราไม่ต้องการจะระบุค่า เราสามารถกำหนดเป็น NULL ได้เลย)
20
Retrieving Information from a Table
คำสั่ง SELECT ใช้ในการดึงข้อมูลจาก TABLE โดยมีรูปแบบดังนี้ SELECT what_to_select FROM which_table WHERE conditions_to_satisfy; what_to_select คือ รายชื่อ column ที่ต้องดึงข้อมูลออกมาแสดง หรือใช้เครื่องหมาย * ถ้าต้องการเลือกทุก column which_table คือ ชื่อตารางที่ต้องดึงข้อมูลออกมาแสดง conditions_to_satisfy คือ ส่วนของเงื่อนไขที่ใช้ในการดึงข้อมูล
21
Selecting All Data คำสั่ง SELECT * FROM ชื่อtable ;
(เพื่อแสดงข้อมูลทุก record ที่อยู่ใน table)
22
UPDATE ถ้าเกิดกรณีการใส่ข้อมูลผิดพลาด เราสามารถแก้ไขข้อมูลที่อยู่ในตารางด้วย คำสั่ง UPDATE จากตัวอย่าง ข้อมูลใน table ชื่อ pet เราอยากแก้ไขวันเกิดของสุนัขชื่อ Bowser จากปี 1979 เป็นปี 1989 ได้ดังนี้ คำสั่ง UPDATE ชื่อtable SET ชื่อcolumn=‘ข้อมูลที่ใหม่’ WHERE เงื่อนไขของตำแหน่งขอมูลเดิม;
23
ผลของการ UPDATE
24
Selecting Particular Rows
เราสามารถระบุเงื่อนไข เพื่อแสดงแถวที่ต้องการได้ ตัวอย่าง ถ้าเราต้องการแสดงข้อมูลของสัตว์ที่เกิดตั้งแต่ปี 1998 ขึ้นไป สังเกต เงื่อนไขจะอยู่หลัง where
25
Selecting Particular Rows
สามารถใช้สัญลักษณ์ทางตรรกะ เช่น AND,OR,NOT ในเงื่อนไขได้ ตัวอย่าง แสดงข้อมูลสัตว์ที่ species เป็น snake หรือ bird
26
Selecting Particular Columns
คำสั่ง SELECT ชื่อcolumn FROM ชื่อtable ตัวอย่าง แสดงรายชื่อสัตว์และวันเกิดของสัตว์
27
Selecting Particular Columns
ตัวอย่าง แสดงรายชื่อเจ้าของสัตว์
28
Selecting Particular Columns
คำสั่ง SELECT DISTINCT ชื่อcolumn FROM ชื่อtable ตัวอย่าง แสดงรายชื่อเจ้าของสัตว์ (แสดงรายชื่อที่ซ้ำเพียงชื่อเดียว)
29
Sorting Rows คำสั่ง SELECT ชื่อcolumn FROM ชื่อtable ORDER BY ชื่อcolumn; ตัวอย่าง แสดงรายชื่อสัตว์ โดยเรียงตามวันเกิด (เรียงจากน้อยไปมากเป็นค่า default)
30
Sorting Rows ตัวอย่าง แสดงรายชื่อสัตว์ โดยเรียงตามวันเกิด (เรียงจากมากไปน้อย) สังเกต DESC ที่ตามหลังชื่อ column ที่ต้องการจัดเรียง เป็นการกำหนดให้เรียงจากมากไปน้อย
31
Sorting Rows เราสามารถเรียงข้อมูลได้ที่ละหลาย column
ตัวอย่าง แสดงรายชื่อสัตว์ ชนิด และวันเกิด (โดยเรียง ชนิด จากน้อยไปมาก และเรียง วันเกิด จากมากไปน้อย) ผลลัพธ์ จะยึดเอา column แรกที่ทำการจัดเรียงเป็นหลัก
32
Pattern Matching ใช้ _ แทนอักษรใดๆหลายๆตัว ใช้ % แทนอักษรใด 1 ตัว
case insensitive เป็นค่า default ใช้ LIKE และ NOT LIKE เป็น operator เปรียบเทียบ ตัวอย่าง แสดงรายชื่อสัตว์ ที่ขึ้นต้นด้วยตัวอักษร “b” คำสั่ง SELECT ชื่อcolumn FROM ชื่อtable LIKE ‘รูปแบบอักขระ’;
33
Pattern Matching ตัวอย่าง แสดงรายชื่อสัตว์ ที่มีตัวอักษร “w” อยู่
ตัวอย่าง แสดงรายชื่อสัตว์ ที่มีตัวอักษร 5 อักขระ
34
Counting Rows ตัวอย่าง นับจำนวนแถวที่อยู่ในตาราง pet
คำสั่ง SELECT ชื่อcolumnที่จะนับ FROM ชื่อtable [GROUP BY ชื่อตาราง]
35
Counting Rows ตัวอย่าง นับจำนวนสัตว์เลี้ยงที่เจ้าของแต่ละคนมีอยู่
สังเกต GROUP BY ต่อท้าย ชื่อ ตาราง ใช้เพื่อจัดกลุ่ม records ของแต่ละ owner ตัวอย่าง เมื่อไม่ได้ใส่ GROUP BY owner ก็เกิด error
36
Counting Rows ตัวอย่าง นับจำนวนของสัตว์โดยแบ่งตามชนิดและเพศ
37
Counting Rows ตัวอย่าง นับจำนวน dog และ cat โดยแบ่งตามชนิดและเพศ
38
Using More Than one Table
สร้างตารางใหม่ชื่อ event เพื่อเก็บเหตุการณ์สำคัญในชีวิตของสัตว์เลี้ยง name >> ชื่อสัตว์เลี้ยง date >> วันเกิดเหตุการณ์ type >> ชนิดของเหตุการณ์ remark >> รายละเอียดของเหตุการณ์
39
Using More Than one Table
ความหมายข้อมูลในตาราง litter = ออกลูก kittens = ลูกแมว (หลายตัว) collar = ปลอกคอ vet = ตรวจโรค (สัตว์) puppies = ลูกสุนัข (หลายตัว) kennel = พักอาศัยในบ้านสุนัข beak = จะงอยปากนก rib = ซี่โครง chew toy = ของเล่นที่ให้สุนัขกัดเล่น
40
Using More Than one Table
ตัวอย่าง การคำนวณหาอายุในวันที่แม่สุนัขออกลูกจากตาราง pet และ event
41
Using More Than one Table
ตัวอย่าง การคำนวณหาอายุในวันที่แม่สุนัขออกลูกจากตาราง pet และ event (YEAR(date)-YEAR(birth)) - (RIGHT(date,5) < RIGHT(birth,5)) YEAR( ) >> ดึงส่วนของปี YYYY ออกมาจาก YYYY-MM-DD RIGHT( ) >> ดึงอักขระด้านขวาสุดมา 5 ตำแหน่ง คือ MM-DD YEAR(date)-YEAR(birth) >> หาอายุของแม่สัตว์ตอนคลอด (ปีที่แม่คลอด – ปีที่แม่เกิด) RIGHT(date,5) < RIGHT(birth,5) >> ตรวจสอบว่าปีนี้ถึงวันเกิดรึยัง (วันคลอด<วันเกิด) ถ้ายังไม่ถึงให้เป็น 1 ถ้าถึงแล้วให้เป็น 0
42
Examples of Common Queries
ตัวอย่าง ตาราง shop เก็บราคาสินค้าแต่ละอย่างของผู้จำหน่ายแต่ละคน
43
Examples of Common Queries
ต้องการแสดงสินค้าที่มีหมายเลขสูงสุด โดยใช้ MAX(article) ต้องการแสดงสินค้าที่มีราคาแพงที่สุด โดยใช้ subquery สังเกต จะเห็นว่าเราสามารถใช้ SELECT หลัง WHERE ได้แต่ต้องอยู่ใน ( )
44
Examples of Common Queries
ต้องการแสดงสินค้าที่มีราคาสูงสุดของแต่ละสินค้า
45
Triggers เริ่มมีตั้งแต่ MySQL trigger เป็นชื่อของ database object ที่มีความสัมพันธ์กับตารางและทำการกระตุ้นเมื่อเกิดเหตุการณ์กับตาราง การใช้งานคร่าวๆ ของ trigger คือ มันจะตรวจสอบค่าที่ถูก insert เข้ามายังตาราง หรือ ทำการคำนวณค่าในการ update สามารถกำหนดเหตุการณ์ในการกระตุ้นได้ เมื่อมีการ INSERT, UPDATE, DELETE ที่เกิดกับตาราง และยังสามารถกำหนดเวลาที่ทำการ trigger ได้ว่าจะ before หรือ after ตัวอย่างเช่น คุณสามารถให้ trigger กระตุ้นก่อนที่ตารางจะถูก delete หรือ ก่อนที่แต่ละแถวจะถูก update
46
Triggers ตัวอย่าง trigger การรวมค่าที่ถูก insert ลงมายัง column amount ในตาราง account สร้างตารางชื่อ account มี 2 column คือ acct_num เลขจำนวนเต็ม และ amount เป็นทศนิยม 2 ตำแหน่ง
47
Triggers คำสั่ง CREATE TRIGGER ชื่อtrigger เวลาที่เกิดtrigger เหตุการณ์ที่เกิดtrigger ON ชื่อตาราง FOR EACH ROW สิ่งที่ต้องการทำ เวลาที่เกิดtrigger: สามารถใช้ BEFORE หรือ AFTER เพื่อบอกให้รู้ว่า trigger จะกระตุ้น ก่อน หรือ หลัง การดัดแปลงแต่ละแถวในตาราง เหตุการณ์ที่เกิดtrigger: INSERT triggerจะกระตุ้นเมื่อมีการ insert ข้อมูลลงตาราง UPDATE triggerจะกระตุ้นเมื่อมีการเปลี่ยนค่าในตาราง DELETE triggerจะกระตุ้นเมื่อมีการลบค่าในตาราง สิ่งที่ต้องการทำ: เป็นส่วนของโปรแกรมที่ต้องการให้ทำเมื่อ trigger ทำการกระตุ้น ถ้ามีหลายคำสั่งต้องใช้ BEGIN…..END ครอบไว้ด้วย
48
Triggers สิ่งที่ต้องการให้ทำ คือ ทำการนำค่าใหม่ที่ถูก insert ลง column amount ให้เท่ากับ 0 ใส่ค่าลงในแต่ละ column ในตาราง account
49
Triggers ที่รวมเอาค่าที่ insert ลง column amount มาบวกกัน คือ ( ) = ยกเลิก trigger คำสั่ง DROP TRIGGER [ชื่อschema].ชื่อtrigger
50
การ Import และ Export ข้อมูล
การจัดการข้อมูลจำเป็นจะต้องมีการโอนถ่ายและเชื่อมต่อฐานข้อมูล จากแหล่งข้อมูลอื่นๆ ในการโอนถ่ายการเชื่อมต่อนั้นมีหลายวิธี สำหรับวิธีที่ เป็นกลางและสามารถใช้โอนถ่ายเชื่อมต่อฐานข้อมูลได้ทุกตระกูล โดยไม่มีข้อ จำกัด ก็คือการ Import และ Export ข้อมูลนั้นเอง และยังเป็นการ Backup ข้อมูลไปในตัวด้วย หลักการก็คือว่า Export เป็น text file จากนั้นก็ Import เข้าฐานข้อมูลที่อื่น หรือ Import ข้อมูลจาก text file ซึ่งมาจากแหล่งฐานข้อมูล อื่นเข้ามาเป็นชนิดของ MySQL
51
การ Import และ Export ข้อมูล
52
การ Import และ Export ข้อมูล
คำสั่ง SELECT * FROM ชื่อตาราง INTO OUTFILE ‘ที่อยู่และไฟล์.txt’;
53
การ Import และ Export ข้อมูล
คำสั่ง LOAD DATA INFILE “ที่อยู่และไฟล์” REPLACE/IGNORE INTO TABLE ชื่อตารางที่ต้องการimport; REPLACE : ให้แทนที่ข้อมูลเก่า IGNORE : ให้ข้ามข้อมูลเก่าโดยไม่แทนที่ จากตัวอย่าง โปรแกรมจะรายงานว่า Import ข้อมูลมา 9 Record ทับข้อมูลเก่าที่เหมือนกันไป 9 Record ไม่มีการข้าม Record เก่า
54
MySQL User Account Management
-Connect to a MySQL server with a command-line client คำสั่ง Mysql --user= ชื่อผู้ใช้ --password= รหัสผ่าน ชื่อฐานข้อมูล หรือ Mysql -u ชื่อผู้ใช้ -pรหัสผ่าน ชื่อฐานข้อมูล (ห้ามเว้นวรรคหลัง -pให้ตามด้วยรหัสผ่านเลย) ถ้าต้องการความปลอดภัยมากขึ้น ไม่ต้องการแสดงรหัสผ่านให้เห็น ก็ไม่ต้องระบุรหัสผ่านหลัง -p หรือ --password=
55
MySQL User Account Management
-การกำหนดสิทธิการเข้าถึงข้อมูล ก่อนกำหนดสิทธินั้น ต้องconnect เป็น root ก่อนเพราะ root มีสิทธิกำหนดการเข้าถึงข้อมูลได้ คำสั่ง GRANT {all,select,insert,update,delete,drop} ON ชื่อตาราง TO ‘ชื่อผู้ใช้’ {IDENTIFIED BY ‘รหัสผ่าน’} WITH GRANT OPTION; อนุญาตให้คนอื่นให้สิทธิการเข้าถึงตารางแทนเจ้าของตาราง
56
MySQL User Account Management
-การยกเลิกสิทธิการเข้าถึงข้อมูล คำสั่ง REVOKE {all,select,insert,update,delete,drop} ON ชื่อตาราง FROM ‘ชื่อผู้ใช้’
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.