Komanda 'DROP TABLE'

Last modified by superadmin on 2018-01-12 20:40

Komanda 'DROP TABLE'

DROP TABLE komanda ir paredzēta esošo tabulu iznīcināšanai. Loģiski, ka iznīcinot tabulu, iznīcinās arī visi dati kas tajā glabājās. Komanda ir pati vienkāršākā un VISBĪSTAMĀKĀ valodā SQL, bet, par laimi, šī komanda parasti atļauta tikai datubāzes administatoram. Tās konstrukcija ir:
DROP TABLE [IF EXISTS] tbl_name [, tbl_name,...]
Opcija IF EXISTS tiek bieži lietota, jo, ja kāda tabula no esošā saraksta neeksistē, tad SQL serveris par to nedos kļūdu bet izmetīs tās tabulas, kuras eksistē. Ja opciju nenorāda, komandas darbību aptur pie pirmās tabulas, kura neeksistē. Tā kā šo komandu parasti lieto administrēšanas scenārijos, tad tai jādarbojas robusti. Piemērs:
DROP TABLE IF EXISTS adrese, cilveks;
Tāpat kā komandas DELETE gadījumā, jums var rasties problēmas izdzēst tabulu indeksu dēļ, ja uz kādu šīs tabulas lauku ir atsauce citā tabulā vai ierakstā (indeksi, ārējas atslēgas), jums SQL serveris izdos kļūdas. Augšminētajā piemērā nevarēs izdzēst tabulu adrese, ja uz to atsaucās tabulas cilveks lauks id_adrese. Vienīgais veids, kā šo problēmu risināt - noņemt sasaisti visās tabulās, kurās ir reference uz doto tabulu. To dara ar komandu ALTER TABLE, jo tā ir datu bāzes strukturāla izmaiņa. (Dažos vienkāršos gadījumos pietiek dzēšanu izdarīt noteiktā secībā, teiksim, vispirms dzēst tabulu cilveks un tikai tad adrese.):
ALTER TABLE cilveks DROP COLUMN id_adrese;
DROP TABLE IF EXISTS adrese;
DELETE citas iespējas un parametrus sk. MySQL komanda DROP TABLE.
Tags:
Created by Kalvis Apsītis on 2008-05-04 16:09
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation