วิธีการวางหลายตารางจากฐานข้อมูลเดียวในคำสั่งเดียว สิ่งที่ต้องการ,
> use test;
> drop table a,b,c;
โดยที่ a, b, c คือตารางจากการทดสอบฐานข้อมูล
วิธีการวางหลายตารางจากฐานข้อมูลเดียวในคำสั่งเดียว สิ่งที่ต้องการ,
> use test;
> drop table a,b,c;
โดยที่ a, b, c คือตารางจากการทดสอบฐานข้อมูล
DROP TABLE
ลงในแบบสอบถามและดับเบิลคลิกที่แต่ละตารางที่ต้องการเพื่อต่อท้ายชื่อในแบบสอบถาม (ใส่เครื่องหมายจุลภาคระหว่างพวกเขา) จากนั้นกด F9 เพื่อดำเนินการ นอกประเด็นเล็กน้อย แต่ฉันมาที่นี่เพื่อสิ่งนั้น
DROP TABLE table_prefix_*
ไม่ได้กับตัวละครดาว: stackoverflow.com/questions/6758652/…
คำตอบ:
ตัวอย่าง:
สมมติว่าตาราง A มีลูกสองคน B และ C จากนั้นเราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อวางตารางทั้งหมด
DROP TABLE IF EXISTS B,C,A;
สามารถวางไว้ที่จุดเริ่มต้นของสคริปต์แทนที่จะวางทีละตาราง
SET foreign_key_checks = 0;
DROP TABLE IF EXISTS a,b,c;
SET foreign_key_checks = 1;
จากนั้นคุณไม่ต้องกังวลว่าจะวางตามลำดับที่ถูกต้องหรือไม่ว่าจะมีอยู่จริงหรือไม่
NB นี้มีไว้สำหรับ MySQL เท่านั้น (ตามคำถาม) ฐานข้อมูลอื่นอาจมีวิธีการที่แตกต่างกันในการดำเนินการนี้
วิธีที่ขี้เกียจในการทำเช่นนี้หากมีตารางจำนวนมากที่ต้องลบ
รับตารางโดยใช้ด้านล่าง
คัดลอกและวางชื่อตารางจากชุดผลลัพธ์และวางหลังจากคำสั่ง DROP
declare @sql1 nvarchar(max)
SELECT @sql1 =
STUFF(
(
select ' drop table dbo.[' + name + ']'
FROM sys.sysobjects AS sobjects
WHERE (xtype = 'U') AND (name LIKE 'GROUP_BASE_NEW_WORK_%')
for xml path('')
),
1, 1, '')
execute sp_executesql @sql1