Sunteți pe pagina 1din 6

Modificarea structurii tabelei (ALTER TABLE)

1.
Stabilirea unei reguli de validare pentru un cmp al tabelei
ALTER TABLE nume_tabel COLUMN nume_cmp SET CHECK condiie
Modificarea cmpului media prin adugarea unei reguli de validare
(media s fie curins ntre 1 i 10)
ALTER TABLE elevi ALTER COLUMN media SET CHECK media>=1 AND
media<=10 ERROR media introdusa nu este corecta! (doar pentru tabele legate
care fac parte dintr-o baz de date)
2.
tergerea unei restricii stabilite anterior pentru un cmp
ALTER TABLE nume_tabel COLUMN nume_cmp DROP CHECK
tergerea restriciei stabilite anterior
ALTER TABLE elevi ALTER COLUMN media DROP CHECK
3.
Adugarea unui cmp nou n tabel
ALTER TABLE nume_tabel ADD COLUMN nume_cmp Tip (dimensiune)
NULL| NOT NULL
Adugarea cmpului nrm (numr matricol) cmp care va identifica n
mod unic nregistrrile din tabela elevi (de aceea am precizat c
valoarea din cmp nu poate fi NULL)
ALTER TABLE elevi ADD COLUMN nrm N(4) NOT NULL
4.
Eliminarea unui cmp din tabel
ALTER TABLE nume_tabel DROP COLUMN nume_cmp
Eliminarea cmpului adresa din tabel
ALTER TABLE elevi DROP COLUMN adresa
5.
Redenumirea unui cmp din tabel
ALTER TABLE nume_tabel RENAME numevechi_cmp TO numenou_cmp
Redenumirea cmpului nrm
ALTER TABLE elevi RENAME COLUMN nrm TO nrmat

Inserarea unei nregistrri n tabel (INSERT INTO)


1. Inserarea la sfritul tabelei a unei nregistrri cu valorile pentru cmpuri date
n list
INSERT INTO nume_tabel (list cmpuri) VALUES (list valori)
Valorile din list trebuie sa corespund ca tip i dimensiune cu cmpul de pe
aceeai poziie din lista de cmpuri.
INSERT INTO elevi (nrmat, nume, prenume, clasa, media) VALUES (13,
Ghita, Alexandru, 12a, 9.90)

2. Inserarea la sfritul tabelei a unei nregistrri cu valorile pentru cmpuri


preluate dintr-un tablou
INSERT INTO nume_tabel FROM ARRAY nume_tablou
DIMENSION datele[5]
datele[1]=Popescu
datele[2]=Liviu
datele[3]=9b
datele[4]=9.90
datele[5]=15
INSERT INTO elevi FROM ARRAY datele

3. Inserarea unor nregistrri preluate dintr-o alt tabel


INSERT INTO nume_tabel (list de cmpuri) SELECT list de cmpuri FROM
nume_tabel1 [WHERE condiie]
(cmpurile din cele dou liste trebuie s coincid ca tip i dimensiune (sau s fie
compatibile))

Inserare nregistrri selectate din tabela elevi1 n tabela elevi


INSERT INTO elevi.dbf (nrmat, nume, prenume, clasa, media) SELECT nrm,
nume, prenume, cls, media FROM elevi1.dbf

sau inserare nregistrri care respect o anumit condiie


INSERT INTO elevi.dbf (nrmat, nume, prenume, clasa, media) SELECT nrm,
nume, prenume, cls, media FROM elevi1.dbf WHERE alltrim(cls)=4a

Modificarea unei nregistrri din tabel (UPDATE)


1. Setarea unui cmp la o anumit valoare pentru toate nregistrrile unei tabele.
Setarea cmpului nr_abs la valoarea 0 pentru toate nregistrrile din tabel
ALTER TABLE elevi ADD COLUMN nrabs

UPDATE elevi SET nrabs=0

(n comand poate s apar clauza WHERE condiie pentru a specifica grupul de


nregistrri pentru care se face modificarea)
2. Modificarea nregistrrilor folosind valori selectate din alt tabel

UPDATE elevi SET elevi.media=elevi1.media FROM elevi1 WHERE


ALLTRIM(UPPER(elevi.nume))=ALLTRIM(UPPER(elevi1.nume))
AND
ALLTRIM(UPPER(elevi.prenume))=ALLTRIM(UPPER(elevi1.prenume))

TERGEREA unei nregistrri din tabel (DELETE)


DELETE FROM nume_tabel [WHERE condiie]
1. tergerea din tabel a unor nregistrri care respect o anumit condiie
DELETE FROM elevi WHERE ALLTRIM(clasa)="4a"
(marcare nregistrri pentru tergere)

2. tergerea unei tabele de pe disc


DROP TABLE nume_tabel

S-ar putea să vă placă și