[SQL] Meerdere tabellen in 1 keer droppen

Pagina: 1
Acties:
  • 177 views sinds 30-01-2008
  • Reageer

  • WaarAnders
  • Registratie: Juni 2001
  • Laatst online: 20-07-2025
Ik heb gegoogled, manuels bekeken, hier gezocht en mensen gevraagd, maar niks hielp ;(

Ik heb een db bij een provider en daar zitten een hoop tabellen in (>100) en die wil ik allemaal droppen, maar de db zelf moet blijven bestaan. Als ik de db drop, dan duurt het weer een tijdje voordat ik hem terug heb. Ik heb geen root toegang en kan dus niet zelf db's aanmaken, ik kan ook niet empty db gebruiken :(

Ik kan wel sql commando's gebruiken. Nu zoek ik dus een mogelijkheid om alle tabellen in 1 keer te verwijderen, maar niet de db.

Wie weet of dit kan en zo ja hoe ;)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Kannie...

Maak een script dat alle tabelnamen fetched en ga een voor een die tabellen droppen.

Als je geen foreign-key restricties erop hebt kan je de tabellen prima droppen (anders is de volgorde van belang en moet je ietsje moeilijker doen :) )

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:05
code:
1
DROP TABLE (select tabelnaam from systeemtabel)

https://fgheysels.github.io/


  • DigiK-oz
  • Registratie: December 2001
  • Laatst online: 09-09 19:29
Welke database draait die provider ? MySQL, Oracle, ???

Whatever


  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Als je onder Oracle werkt en alle tabellen zitten onder dezelfde user dan kan je eventueel de user droppen (user = schemahouder). Maar dan zijn ook wel alle tabellen onder die user ge-dropped.

Om te zien welke tabellen allemaal van de user zijn :

select table_name from user_tables

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


  • WaarAnders
  • Registratie: Juni 2001
  • Laatst online: 20-07-2025
provider heeft mysql, en een aangepaste versie van phpmyadmin volgens mij, iig iets wat erop lijkt :P

  • BdR
  • Registratie: Juni 2001
  • Laatst online: 03-09-2025

BdR

TV is gooder then books

maak een sql statement maken die het script voor je maakt. Ik weet niet welke db je gebruikt mySQL dus, maar op Oracle bijv. zou dat zoiets zijn..
code:
1
2
set heading off
select 'drop '||table_name||';' from all_tables;

die output knip en plak je in een text file, en die start je als SQLscript.

Dat het niet anders kan is ook een soort beveiliging. Want normaal gesproken wil je nooit de hele db verwijderen

mijn web games -> Impossible Snake 2 :: Impossible Snake :: Snake Slider


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op dinsdag 16 april 2002 09:48 schreef whoami het volgende:
code:
1
DROP TABLE (select tabelnaam from systeemtabel)
Wat natuurlijk in lang niet alle RDBMS-en werkt...
En in mysql al helemaal niet ;)

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Op dinsdag 16 april 2002 09:48 schreef ACM het volgende:
Kannie...

Maak een script dat alle tabelnamen fetched en ga een voor een die tabellen droppen.

Als je geen foreign-key restricties erop hebt kan je de tabellen prima droppen (anders is de volgorde van belang en moet je ietsje moeilijker doen :) )
Hij werkt met MySQL dus in dit geval is het niet nodig, maar je kan ook de constraint checking uitzetten en dan alle tabellen droppen.

Toen ik nog zelf ontwikkelde hadden we standaard scripts die gewoon bij je tooling rond een systeem hoorden.
CREATE TABLE
CREATE INDEX (inclusief de drop index)
DROP TABLE
DEFAULT FILLING
kwestie van discipline, maar dan heb je ook wat.
Pagina: 1