V učni enoti o podatkovnih bazah smo že spoznali poglede. Oglejmo si, kako ustvarimo pogled.
CREATE VIEW IF NOT EXISTS pogled (stolpec1, stolpec2, stolpec3, ...) AS poizvedba_select;
Kot primer si oglejmo, kako bi ustvarili pogled, ki bi uporabniku omogočal pregled, kako dobičkonosni so bili posamezni filmi. Polged bomo poimenovali film_dobicek, da ne bo prišlo do zmede s poimenovanjem.
CREATE VIEW IF NOT EXISTS film_dobicek AS SELECT naslov, (prihodek_zda + prihodek_svet) - proracun AS dobicek FROM film JOIN blagajna ON film.id = blagajna.film_id;
Sedaj lahko pogled uporabimo in prikažemo vse tiste filme, katerih dobiček je presegel milijardo dolarjev. To naredimo preprosto takole:
SELECT * FROM film_dobicek WHERE dobicek >= 1000000000;
Dodajanje novega stolpca je podobno, kot pri ustvarjanju tabele s stavkom CREATE TABLE. Določiti moramo vrsto podatkov stolpca skupaj z morebitnimi omejitvami in privzetimi vrednostmi, ki bodo uporabljene tako za obstoječe kot za nove vrstice.
ALTER TABLE tabela ADD stolpec vrsta_podatkov omejitev DEFAULT privzeta_vrednost;
Brisanje stolpcev je preprosto, vendar nekatere podatkovne baze (tudi SQLite) ne podpirajo te funkcije. Namesto tega moramo ustvariti novo tabelo in preseliti podatke.
ALTER TABLE tabela DROP COLUMN stolpec_za_brisanje;
Tabelo pa lahko seveda tudi preimenujemo.
ALTER TABLE tabela RENAME TO novo_ime_tabele;
V redkih primerih bomo morda želeli odstraniti celotno tabelo, vključno z vsemi njenimi podatki in metapodatki. Za to uporabimo stavek DROP TABLE, ki se od stavka DELETE razlikuje po tem, da poleg podatkov iz podatkovne baze popolnoma odstrani tudi tabelo.
DROP TABLE IF EXISTS tabela_za_brisanje;
Podobno kot pri ustvarjanju tabele lahko tudi pri brisanju tabele podatkovna baza vrne napako, če tabela ne obstaja. Tej napaki se lahko izognemo tako, da v stavku DROP TABLE uporabimo pogoj IF EXISTS.
Če imamo poleg tega še drugo tabelo, ki je odvisna od vrednosti stolpcev v tabeli, ki jo želimo izbrisati (na primer preko tujega ključa), potem bomo morali ali najprej posodobiti vse vrednosti v odvisni tabeli, ali pa odvisno tabelo v celoti odstraniti.