Crear, Modificar i Esborrar Taules En Postgres

De FFAWiki

Postgres

Llegenda

[] Opcional
{} Obligatoris
| Or

Crear Taula

Composició:
CREATE TABLE nom_taula (nom_camp1 tipus_dada1 [default expressió] [llista_restriccions_camp1] ,nom_camp2 tipus_dada2 [default expressió][llista_restriccions_camp2], … [llista_restricions_addicionals]);
Execució:
Ens connectem a la base de dades i...
CREATE TABLE nom_taula (id integer PRIMARY KEY , nom varchar(30) NOT NULL , curs varchar(5) NOT NULL , UNIQUE (curs));
Creem una base.

Modificar Taula

Composició:
ALTER TABLE nom_taula acció, [acció, ...]
Acció:
ADD nom_columna tipus_dada [default expressió][llista_restriccions_camp]
DROP nom_columna
ALTER nom_columna SET DEFAULT expressió
ALTER nom_columna DROP DEFAULT
ALTER nom_columna { SET | DROP } NOT NULL
ADD [ CONSTRAINT constraint_name ] { CHECK ( expressió) | UNIQUE ( nom_columna [, ... ] ) | PRIMARY KEY ( nom_columna [, ... ] ) | FOREIGN KEY ( nom_columna [, ... ] ) REFERENCES reftable( refcolumn [, ... ] ) }
Per canviar el nom:
RENAME TO nou_nom_taula;
RENAME COLUMN nom_columna TO nou_nom_columna;
Execució:
Ens connectem a la base de dades i...
ALTER TABLE nom_taula ADD nom_columna date NOT NULL ;
ALTER TABLE nom_taula ALTER nom_columna DROP NOT NULL , ADD UNIQUE (nom_columna);
ALTER TABLE nom_taula ADD CHECK (nom_columna <= CURRENT_DATE );

Budar Taula

TRUNCATE nom_taula
Te una equivalència a:
DELETE FROM nom_taula
Esborra les dades de taula (la buida).

Esborrar Taula

DROP TABLE nom_taula
Esborra la taula (la elimina).

Tipus de Dada

Serial: Es un integer que s'autoincrementa (no s'ha de posar en el INSERT, es posa sol i s'autoincrementa)
Tipus de dada
Booleà Numèrics Text Dates i Hores
bool Enters Decimals char varchar(n) text date time timestamp
smallint int bigint numeric(p,e) real double precision
p: és el número total de dígits         e: és el nombre de decimals        n: longitud màxima de la cadena

Restriccions i Constraints

NOT NULL
La restricció NOT NULL prohibeix valors NULL en una columna.
Exemple:
CREATE TABLE nom_taula (nom varchar(30) NOT NULL);
UNIQUE
La restricció UNIQUE fa que els valors de la columna no es puguin repetir.
Exemples:
CREATE TABLE nom_taula (nom varchar(30) UNIQUE);
CREATE TABLE nom_taula (nom varchar(30), UNIQUE(nom));
CHECK
La restricció CHECK s’utilitza per limitar l’interval de valors que es poden col·locar en una columna. Si definiu una restricció CHECK en una sola columna, només permet certs valors per a aquesta columna. Si definiu una restricció CHECK en una taula, pot limitar els valors de determinades columnes en funció dels valors d'altres columnes de la fila.
Exemples:
CREATE TABLE nom_taula (sexe varchar(1) CHECK (sexe = 'H' OR sexe = 'D'));
CREATE TABLE nom_taula (sexe varchar(1), sexe CHECK (sexe = 'H' OR sexe = 'D'));
PRIMARY KEY
La restricció PRIMARY KEY identifica de manera única cada registre d’una taula. Les claus primàries han de contenir valors UNIQUE i no poden contenir valors NULL. Una taula només pot tenir UNA clau principal; i a la taula, aquesta clau principal pot consistir en columnes (camps) individuals o múltiples.
FOREIGN KEY
Una FOREIGN KEY és una clau que s’utilitza per enllaçar dues taules. Una FOREIGN KEY és un camp (o múltiples de camps) d'una taula que fa referència a la PRIMARY KEY d'una altra taula. La taula que conté la foreign key s’anomena taula fill i la taula que conté la clau candidata s’anomena taula referencial o pare.