บทช่วยสอนMySQL

หน้าแรกของ MySQL แนะนำ MySQL MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL WHERE MySQL และหรือไม่ใช่ MySQL สั่งซื้อโดย MySQL INSERT INTO ค่า NULL ของ MySQL MySQL UPDATE MySQL ลบ MySQL LIMIT MySQL MIN และ MAX MySQL COUNT, AVG, SUM MySQL ชอบ MySQL Wildcards MySQL IN MySQL ระหว่าง MySQL นามแฝง MySQL เข้าร่วม เข้าร่วม MySQL ภายใน MySQL ซ้ายเข้าร่วม MySQL ขวาเข้าร่วม MySQL CROSS เข้าร่วม MySQL เข้าร่วมด้วยตนเอง MySQL UNION กลุ่ม MySQL โดย MySQL มี MySQL EXISTS MySQL ใด ๆ ทั้งหมด MySQL INSERT SELECT กรณี MySQL ฟังก์ชั่น MySQL Null ความคิดเห็น MySQL ตัวดำเนินการ MySQL

ฐานข้อมูลMySQL

MySQL สร้าง DB MySQL Drop DB MySQL สร้างตาราง MySQL Drop Table MySQL Alter Table ข้อจำกัดของ MySQL MySQL ไม่ว่าง MySQL Unique คีย์หลัก MySQL MySQL Foreign Key MySQL Check MySQL Default MySQL สร้างดัชนี MySQL Auto Increment MySQL Dates มุมมอง MySQL

การอ้างอิงMySQL

ประเภทข้อมูล MySQL ฟังก์ชัน MySQL

ตัวอย่างMySQL

ตัวอย่าง MySQL แบบทดสอบ MySQL แบบฝึกหัด MySQL

MySQL ทำงานกับวันที่


MySQL Dates

ส่วนที่ยากที่สุดในการทำงานกับวันที่คือต้องแน่ใจว่ารูปแบบของวันที่ที่คุณพยายามแทรกนั้นตรงกับรูปแบบของคอลัมน์วันที่ในฐานข้อมูล

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


ประเภทข้อมูลวันที่ของ MySQL

MySQL มาพร้อมกับประเภทข้อมูลต่อไปนี้สำหรับการจัดเก็บวันที่หรือค่าวันที่/เวลาในฐานข้อมูล:

  • DATE- รูปแบบ YYYY-MM-DD
  • DATETIME- รูปแบบ: ปปปป-ดด-วว HH:MI:SS
  • TIMESTAMP- รูปแบบ: ปปปป-ดด-วว HH:MI:SS
  • YEAR- รูปแบบ YYYY หรือ YY

หมายเหตุ:ชนิดข้อมูลวันที่ถูกตั้งค่าสำหรับคอลัมน์เมื่อคุณสร้างตารางใหม่ในฐานข้อมูลของคุณ!


ทำงานกับ Dates

ดูตารางต่อไปนี้:

ตารางการสั่งซื้อ

OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29

ตอนนี้ เราต้องการเลือกระเบียนที่มี OrderDate เป็น "2008-11-11" จากตารางด้านบน

เราใช้SELECTคำสั่งต่อไปนี้:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

ชุดผลลัพธ์จะมีลักษณะดังนี้:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

หมายเหตุ:สามารถเปรียบเทียบวันที่สองวันได้อย่างง่ายดายหากไม่มีองค์ประกอบของเวลา!

ตอนนี้ สมมติว่าตาราง "คำสั่งซื้อ" มีลักษณะดังนี้ (สังเกตองค์ประกอบเวลาที่เพิ่มในคอลัมน์ "OrderDate"):

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15:45:21
3 Mozzarella di Giovanni 2008-11-11 11:12:01
4 Mascarpone Fabioli 2008-10-29 14:56:59

หากเราใช้ข้อความเดียวกันSELECTกับข้างต้น:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

เราจะไม่ได้ผล! เนื่องจากแบบสอบถามกำลังค้นหาเฉพาะวันที่ที่ไม่มีส่วนของเวลา

เคล็ดลับ:เพื่อให้คำค้นหาของคุณเรียบง่ายและดูแลรักษาง่าย อย่าใช้องค์ประกอบเวลาในวันที่ของคุณ เว้นแต่คุณจะต้องทำ!