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

แบบสอบถาม MySQL เพื่อสร้างตารางแบบไดนามิก?


สำหรับสิ่งนี้ คุณสามารถใช้กระบวนงานที่เก็บไว้ได้ ให้เราสร้างตารางแบบไดนามิกด้วยสองคอลัมน์เช่น StudentId เป็น int ในขณะที่ StudentName เป็น varchar -

mysql> DELIMITER $$mysql> สร้างขั้นตอนการสร้างDynamicTableDemo(yourTableNameVARCHAR(200)) -> BEGIN -> SET @name =yourTableName; -> SET @st =CONCAT(' '> สร้างตารางหากไม่มีอยู่ `' , @name, '` ( '> `StudentId` int ไม่ได้ลงนามเป็น NULL AUTO_INCREMENT, '> `StudentName' varchar(20) ไม่เป็น NULL, '> คีย์หลัก (`StudentId`) '> ) '> '); -> เตรียม myStatement จาก @st; -> ดำเนินการ myStatement; -> DEALLOCATE เตรียม myStatement; -> END $$Query OK, 0 แถวได้รับผลกระทบ (0.16 วินาที)mysql> DELIMITER;

ด้านบน เราได้ตั้งค่า StudentId เป็นคีย์หลัก

เรียกกระบวนงานที่เก็บไว้ด้วยความช่วยเหลือของคำสั่ง CALL -

mysql> เรียก createDynamicTableDemo('DemoTable');ตกลง สืบค้นได้ 0 แถวได้รับผลกระทบ 1 คำเตือน (0.65 วินาที)

ตอนนี้คุณสามารถตรวจสอบคำอธิบายของตาราง -

mysql> อธิบาย DemoTable;

ผลลัพธ์

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

<ก่อนหน้า>+-------------+-----------------+------+-----+ --------------------+----------------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------------+-----------------+------+-----+- -------------------------------------+| รหัสนักศึกษา | int(10) ไม่ได้ลงนาม | ไม่ | PRI | NULL | auto_increment || ชื่อนักเรียน | varchar(20) | ไม่ | | NULL | |+-------------+-------------------+------+----+-- --------+----------------+2 แถวในชุด (0.00 วินาที)