SENTENCIAS EN POSTGRE SQL
Nombre
CREATE TABLE -- define una nueva tabla
Sinopsis
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE nombre_tabla ( [
{ nombre_columna tipo_datos [ DEFAULT expresión_predeterminada ] [ restricción_columna [ ... ] ]
| restricción_tabla
| LIKE tabla_padre [ { INCLUDING | EXCLUDING } { DEFAULTS | CONSTRAINTS | INDEXES } ] ... }
[, ... ]
] )
[INHERITS ( tabla_padre [, ... ] ) ]
[ WITH ( parámetro_almacenamiento [= valor] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[ TABLESPACE espacio_tabla ]
donde restricción_columna es:
[ CONSTRAINT nombre_restricción ]
{ NOT NULL |
NULL |
UNIQUE parámetros_indice |
PRIMARY KEY parámetros_indice |
CHECK ( expresión ) |REFERENCES tabla_referenciada [ ( columna_referenciada ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
[ ON DELETE acción ] [ ON UPDATE acción ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
y restricción_tabla es:
[ CONSTRAINT nombre_restricción ]
{ UNIQUE ( nombre_columna [, ... ] ) parámetros_indice |
PRIMARY KEY ( nombre_column [, ... ]) parámetros_indice |
CHECK ( expresión ) |
FOREIGN KEY ( nombre_columna [, ... ] ) REFERENCES tabla_referenciada [ ( columna_referenciada [, ... ] ) ]
[ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
parámetros_indice en restricciones UNIQUE y PRIMARY KEYson:
[ WITH ( parámetro_almacenamiento [= valor] [, ... ] ) ]
[ USING INDEX TABLESPACE espacio_tabla ]
Ejemplos
Crear la tabla peliculas y la tabla distribuidores:
CREATE TABLE peliculas (
codigo char(5) CONSTRAINT firstkey PRIMARY KEY,
título varchar(40) NOT NULL,
did integer NOT NULL,
fecga_prod date,
genero varchar(10),
duracioninterval hour to minute
);
CREATE TABLE distribuidores (
did integer PRIMARY KEY DEFAULT nextval('serial'),
nombre varchar(40) NOT NULL CHECK (nombre '')
);
Crear una tabla con un arreglo de 2 dimensiones:
CREATE TABLE arreglo_int (
vector int[][]
);
Definir una restricción única de tabla para la tabla peliculas. Las restricciones únicas de tabla pueden ser definidas enuna o más columnas de la tabla:
CREATE TABLE peliculas (
codigo char(5),
titulo varchar(40),
did integer,
fecha_prod date,
genero varchar(10),
duracion interval hour to minute,
CONSTRAINT produccion UNIQUE(fecha_prod)
);
Definir una restricción de chequeo de columna:
CREATE TABLE distribuidores (
did integer CHECK (did >100),
nombre varchar(40)
);
UPDATE
Nombre
UPDATE -- modifica filas de una tabla
Sinopsis
UPDATE [ ONLY ] tabla [ [ AS ] alias ]
SET { columna = { expresión | DEFAULT } |
( columna [, ...] ) = ( { expresión | DEFAULT } [, ...] ) } [, ...]
[ FROM lista_from ]
[ WHERE condición | WHERE CURRENT OF nombre_cursor ]
[ RETURNING * | expresión_salida [ [ AS ]nombre_salida ] [, ...] ]
Ejemplos
Cambiar la palabra Drama a Dramático en la columna genero de la tabla peliculas:
UPDATE peliculas SET genero = 'Dramático' WHERE genero = 'Drama';
Ajustar las entradas de temperatura y volver precipitación a su valor predeterminado en una fila de la tabla clima:
UPDATE clima SET temp_min = temp_min+1, temp_max = temp_max+15, prcp = DEFAULT
WHERE ciudad ='San Francisco' AND fecha = '2003-07-03';
Realizar la misma operación y retornar las entradas actualizadas:
UPDATE clima SET temp_min = temp_min+1, temp_max = temp_max+15, prcp = DEFAULT
WHERE ciudad = 'San Francisco' AND fecha = '2003-07-03';
RETURNING temp_min, temp_max, prcp;
Usar la sintaxis alternativa de listado de columna para hacer la misma actualización:
UPDATE clima SET...
Regístrate para leer el documento completo.