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

MySQL DROP TABLE ลบตารางทั้งหมดหรือเพียงแค่โครงสร้างหรือไม่


DROP TABLE ลบตารางทั้งหมดและลบข้อมูลทั้งหมดด้วย หากคุณต้องการลบข้อมูลทั้งหมดออกทั้งหมด และต้องการโครงสร้างตาราง คุณสามารถใช้คำสั่ง TRUNCATE TABLE คำสั่ง TRUNCATE จะสร้างตารางขึ้นมาใหม่

ให้เราตรวจสอบตาราง DROP ก่อน ก่อนอื่นเราจะสร้างตาราง -

mysql> สร้างตาราง DemoTable (รหัส int ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก ชื่อ varchar(20) ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.20 วินาที)

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

mysql> แทรกลงในค่า DemoTable(Name) ('Larry');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.07 วินาที)mysql> แทรกลงในค่า DemoTable (ชื่อ) ('Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.05 วินาที)

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

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

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

<ก่อนหน้า>+----+-------+| รหัส | ชื่อ |+---+-------+| 1 | แลร์รี่ || 2 | Chris |+----+-------+2 แถวในชุด (0.00 วินาที)

ตอนนี้ใช้คำสั่ง DROP TABLE หลังจากดำเนินการคำสั่ง DROP TABLE แล้ว ข้อมูลจะถูกลบและจะไม่มีโครงสร้างตารางใดๆ

mysql> DROP TABLE DemoTable ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.18 วินาที)

หากคุณพยายามแสดงข้อมูล คุณจะได้รับข้อผิดพลาดดังต่อไปนี้ -

mysql> เลือก *จาก DemoTable;ข้อผิดพลาด 1146 (42S02):ไม่มีตาราง 'hb_student_tracker.DemoTable'

คุณจะไม่ได้โครงสร้างตารางด้วยซ้ำ -

mysql> อธิบาย DemoTable;ข้อผิดพลาด 1146 (42S02):ไม่มีตาราง 'hb_student_tracker.DemoTable'

ให้เราใช้คำสั่ง TRUNCATE

mysql> สร้างตาราง DemoTable ( Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(20) ); เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.63 วินาที)

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

mysql> แทรกลงในค่า DemoTable(FirstName) ('Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่า DemoTable (FirstName) ('Robert'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.07 วินาที)

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

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

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

<ก่อนหน้า>+----+-----------+| รหัส | ชื่อจริง |+----+-----------+| 1 | คริส || 2 | Robert |+----+-----------+2 แถวในชุด (0.00 วินาที)

ตอนนี้ใช้คำสั่ง TRUNCATE หลังจากดำเนินการคำสั่ง TRUNCATE ข้อมูลจะถูกลบออกจากตารางและโครงสร้างตารางจะถูกสร้างขึ้นใหม่

mysql> ตัดทอนตาราง DemoTable ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.06 วินาที)

ตอนนี้คุณจะไม่ได้รับข้อมูลใด ๆ จากตาราง แต่โครงสร้างตารางจะมองเห็นได้ -

mysql> เลือก *จาก DemoTable ชุดว่าง (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อรับโครงสร้างตาราง -

mysql> อธิบาย DemoTable;

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

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