Crear, Modificar i Esborrar Taules En Postgres: diferència entre les revisions

De FFAWiki
Cap resum de modificació
Línia 11: Línia 11:
:Composició:
:Composició:


::CREATE TABLE nom_taula (nom_camp1 [[#Tipus de Dada| tipus_dada1 ]] [default expressió][[#Restriccions | [llista_restriccions_camp1] ]],nom_camp2 tipus_dada2 [default expressió][llista_restriccions_camp2], … [llista_restricions_addicionals]);
::CREATE TABLE nom_taula (nom_camp1 [[#Tipus de Dada| tipus_dada1 ]] [default expressió][[#Restriccions i Constraints | [llista_restriccions_camp1] ]],nom_camp2 tipus_dada2 [default expressió][llista_restriccions_camp2], … [llista_restricions_addicionals]);


:Execució:
:Execució:
Línia 17: Línia 17:
::Ens connectem a la base de dades i...
::Ens connectem a la base de dades i...


:::CREATE TABLE nom_taula (id [[#Tipus de Dada | integer ]] [[#Restriccions | PRIMARY KEY ]], nom [[#Tipus de Dada | varchar(30) ]] [[#Restriccions | NOT NULL ]], curs [[#Tipus de Dada | varchar(5) ]] [[#Restriccions | NOT NULL ]], [[#Restriccions | UNIQUE ]] (curs));
:::CREATE TABLE nom_taula (id [[#Tipus de Dada | integer ]] [[#Restriccions i Constraints | PRIMARY KEY ]], nom [[#Tipus de Dada | varchar(30) ]] [[#Restriccions i Constraints | NOT NULL ]], curs [[#Tipus de Dada | varchar(5) ]] [[#Restriccions i Constraints | NOT NULL ]], [[#Restriccions i Constraints | UNIQUE ]] (curs));


:::Creem una base.
:::Creem una base.
Línia 37: Línia 37:
:::ALTER nom_columna DROP DEFAULT
:::ALTER nom_columna DROP DEFAULT


:::ALTER nom_columna { SET | DROP } [[#Restriccions | NOT NULL ]]
:::ALTER nom_columna { SET | DROP } [[#Restriccions i Constraints | NOT NULL ]]


:::ADD [ CONSTRAINT constraint_name ] { [[#Restriccions | CHECK ]] ( expressió) | [[#Restriccions | UNIQUE ]] ( nom_columna [, ... ] ) | [[#Restriccions | PRIMARY KEY ]] ( nom_columna [, ... ] ) | [[#Restriccions | FOREIGN KEY ]] ( nom_columna [, ... ] ) REFERENCES reftable( refcolumn [, ... ] ) }
:::ADD [ CONSTRAINT constraint_name ] { [[#Restriccions i Constraints | CHECK ]] ( expressió) | [[#Restriccions i Constraints | UNIQUE ]] ( nom_columna [, ... ] ) | [[#Restriccions i Constraints | PRIMARY KEY ]] ( nom_columna [, ... ] ) | [[#Restriccions i Constraints | FOREIGN KEY ]] ( nom_columna [, ... ] ) REFERENCES reftable( refcolumn [, ... ] ) }


:::'''Per canviar el nom''':
:::'''Per canviar el nom''':
Línia 51: Línia 51:
::Ens connectem a la base de dades i...
::Ens connectem a la base de dades i...


:::ALTER TABLE nom_taula ADD nom_columna [[#Tipus de Dada | date ]] [[#Restriccions | NOT NULL ]];
:::ALTER TABLE nom_taula ADD nom_columna [[#Tipus de Dada | date ]] [[#Restriccions i Constraints | NOT NULL ]];


:::ALTER TABLE nom_taula ALTER nom_columna DROP [[#Restriccions | NOT NULL ]], ADD [[#Restriccions | UNIQUE ]](nom_columna);
:::ALTER TABLE nom_taula ALTER nom_columna DROP [[#Restriccions i Constraints | NOT NULL ]], ADD [[#Restriccions i Constraints | UNIQUE ]](nom_columna);


:::ALTER TABLE nom_taula ADD [[#Restriccions | CHECK ]] (nom_columna <= [[Consultes Postgres#DATE_PART(,)| CURRENT_DATE ]]);
:::ALTER TABLE nom_taula ADD [[#Restriccions i Constraints | CHECK ]] (nom_columna <= [[Consultes Postgres#DATE_PART(,)| CURRENT_DATE ]]);


===Budar Taula===
===Budar Taula===

Revisió del 17:51, 7 març 2021

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 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

===Restri