ให้เราดูวิธีที่ดีที่สุดในการจัดเก็บกิจกรรมรายสัปดาห์ใน MySQL สำหรับสิ่งนั้น ก่อนอื่นให้สร้างตารางใหม่และรวมฟิลด์สำหรับทุกวันด้วย
mysql> สร้างตาราง WeeklyEventDemo -> ( -> ID int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> EventName varchar(20), -> Monday tinyint(1), -> Tuesday tinyint(1), -> Wednesday tinyint( 1), -> Thursday tinyint(1), -> Friday tinyint(1), -> Saturday tinyint(1), -> Sunday tinyint(1), -> StartDate date, -> EndDate date -> );แบบสอบถามตกลง , ได้รับผลกระทบ 0 แถว (0.55 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงใน WeeklyEventDemo (EventName, จันทร์, อังคาร, พุธ, พฤหัสบดี, ศุกร์, เสาร์, อาทิตย์, StartDate, EndDate) ค่า ('Event-1',0,0,0,0,1,0,0 ,'2018-03-21','2019-03-08');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงใน WeeklyEventDemo (ชื่อกิจกรรม วันจันทร์ วันอังคาร วันพุธ วันพฤหัสบดี วันศุกร์ วันเสาร์ วันอาทิตย์ StartDate,EndDate) ค่า ('Event-2',0,0,0,0,0,1,0,'2018-03-21','2019-03-08');Query OK, 1 แถวได้รับผลกระทบ ( 0.16 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก WeeklyEventDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----+-----------+---------+---------+---------- -+----------+---------+----------+---------+-------- ----+-----------+| ไอดี | ชื่อกิจกรรม | วันจันทร์ | วันอังคาร | วันพุธ | พฤหัสบดี | วันศุกร์ | วันเสาร์ | อาทิตย์ | StartDate | EndDate |+----+-----------+-------+---------+----------- +----------+---------+----------+---------+--------- ---------------+| 1 | เหตุการณ์-1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 2018-03-21 | 2019-03-08 || 2 | เหตุการณ์-2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2018-03-21 | 2019-03-08 |+----+-----------+---------+---------+------- ----+----------+---------+----------+---------+----- --------+------------+2 แถวในชุด (0.00 วินาที)ต่อไปนี้เป็นแบบสอบถามเพื่อรับกิจกรรมรายสัปดาห์ใน MySQL
mysql> เลือก *จาก WeeklyEventDemo โดยที่ Friday=1;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----+-----------+---------+---------+---------- -+----------+---------+----------+---------+-------- ----+-----------+| ไอดี | ชื่อกิจกรรม | วันจันทร์ | วันอังคาร | วันพุธ | พฤหัสบดี | วันศุกร์ | วันเสาร์ | อาทิตย์ | StartDate | EndDate |+----+-----------+-------+---------+----------- +----------+---------+----------+---------+--------- ---------------+| 1 | เหตุการณ์-1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 2018-03-21 | 2019-03-08 |+----+-----------+---------+---------+------- ----+----------+---------+----------+---------+----- --------+------------+1 แถวในชุด (0.00 วินาที)