Crear, Modificar i Esborrar Taules En Postgres
De FFAWiki
La revisió el 19:17, 7 març 2021 per Mayola (discussió | contribucions) (→Restriccions i Constraints)
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 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 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.