Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

สร้างชื่อตารางแบบไดนามิกจากปีปัจจุบันใน MySQL เช่น 2019


ในการสร้างชื่อตารางเช่นปี (2019) ให้ใช้คำสั่ง PREPARE ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1959 (ชื่อผู้ใช้ varchar(20) );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable1959 ('Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1959 ('David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> ลงในค่า DemoTable1959('Bob');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก * จาก DemoTable1959;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----------+| ชื่อผู้ใช้ |+----------+| คริส || เดวิด || Bob |+----------+3 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อสร้างชื่อตารางแบบไดนามิกจากปีปัจจุบัน

mysql> set @dynamicQuery =CONCAT('create table `', date_format(curdate(),'%Y'), '` เป็นชื่อผู้ใช้ที่เลือกจาก DemoTable1959'); Query OK, 0 แถวได้รับผลกระทบ (0.00 วินาที)mysql> เตรียม st จาก @dynamicQuery; แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)คำสั่งที่เตรียมไว้mysql> ดำเนินการ st; แบบสอบถามตกลง 3 แถวได้รับผลกระทบ (0.00 วินาที) บันทึก:3 รายการซ้ำ:0 คำเตือน:0

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select ปีปัจจุบันคือปี 2019 −

mysql> เลือก * จาก `2019`;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----------+| ชื่อผู้ใช้ |+----------+| คริส || เดวิด || Bob |+----------+3 แถวในชุด (0.00 วินาที)