English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de PostgreSQL

Tutoriales avanzados de PostgreSQL

Interfaz de PostgreSQL

Sintaxis de PostgreSQL

Por defecto, después de la instalación de PostgreSQL, viene con una herramienta de línea de comandos: Shell de SQL (psql).

Linux El sistema puede cambiar directamente al usuario postgres para abrir la herramienta de línea de comandos:

# sudo -i -u postgres

Windows El sistema generalmente se instala en su directorio de instalación:

Program Files → PostgreSQL 11.3 → Shell de SQL (psql)

Mac OS Podemos buscar directamente y encontrar:

Al entrar en la herramienta de línea de comandos, podemos usar \help para ver la sintaxis de los diferentes comandos:

postgres-# \help <nombre_comando>

por ejemplo, veremos la sintaxis de la sentencia select:

postgres=# \help \SELECT
Command:     SELECT
Description: retrieve rows from a table or view
Syntax:
[ WITH [ RECURSIVE ] with_query [, ... ] ]
SELECT [ TODOS | DIFERENTES [ EN ( expresión [, ...] ) ] ]
    [ * | expression [ [ AS ] output_name ] [, ... ]
    INTO [ TEMPORAL | TEMP ] [ TABLA ] nueva_tabla
    [ WHERE condition ]
    [ GROUP BY grouping_element [, ... ] ]
    [ GRUPO POR expresión[, ...] ]
    [ WINDOW window_name AS ( window_definition ) [, ... ] ]
    [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select ]
    [ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ... ] ]
    [ ORDENAR POR expresión [ ASC | DESC | USANDO operador ][, ...] ]
    [ OFFSET start [ ROW | ROWS ] ]
    [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ]
    [ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF table_name [, ... ] ] [ NOWAIT | SKIP LOCKED ] [...] ]
from_item can be one of the following options:
    [ SOLO ] nombre_de_tabla [ * ]] [ [ COMO ] alias [ ( alias_de_columna [, ...] ) ] ]

SQL statement

A SQL statement usually contains keywords, identifiers (fields), constants, special symbols, etc. The following is a simple SQL statement:

SELECT id, name FROM w3codebox

SELECTid, nameFROMw3codebox
Symbol typeKeywordIdentifier (field)KeywordIdentifier
DescriptionCommandid and name fieldsStatement, used to set conditional rules, etc.Table name

PostgreSQL command

ABORT

ABORT is used to exit the current transaction.

ABORT [ [ WORK | TRANSACTION ] ]

ALTER AGGREGATE

Modify the definition of an aggregate function.

ALTER AGGREGATE _name_ ( _argtype_ [ , ... ] ) RENAME TO _new_name_
ALTERAR AGREGADO _name_ ( _argtype_ [ , ... ] ) PROPIETARIO A _new_owner_
ALTERAR AGREGADO _name_ ( _argtype_ [ , ... ] ) ESTABLECER ESQUEMA _new_schema_

ALTERAR ORDENAMIENTO

Modificar una definición de ordenamiento。

ALTERAR ORDENAMIENTO _name_ RENOVAR A _new_name_
ALTERAR ORDENAMIENTO _name_ PROPIETARIO A _new_owner_
ALTERAR ORDENAMIENTO _name_ ESTABLECER ESQUEMA _new_schema_

ALTERAR CONVERSION

Modificar una definición de conversión de codificación。

ALTERAR CONVERSION name RENOVAR A new_name
ALTERAR CONVERSION name PROPIETARIO A new_owner

ALTERAR BASE DE DATOS

Modificar una base de datos。

ALTERAR BASE DE DATOS name ESTABLECER parámetro { A | = } { valor | POR DEFECTO }
ALTERAR BASE DE DATOS name RESETEAR parámetro
ALTERAR BASE DE DATOS name RENOVAR A new_name
ALTERAR BASE DE DATOS name PROPIETARIO A new_owner

ALTERAR PRIVILEGIOS POR DEFECTO

Definir los permisos de acceso por defecto。

ALTERAR PRIVILEGIOS POR DEFECTO
    [ PARA { ROL | USUARIO } target_role [, ...] ]
    [ EN ESQUEMA schema_name [, ...] ]
    abbreviated_grant_or_revoke
donde abbreviated_grant_or_revoke es uno de:
CONCEDER { { SELECCIÓN | INSERTAR | ACTUALIZAR | ELIMINAR | TRUNCAR | REFERENCIAS | DISPARADORES }
    [, ...] | TODOS [ PRIVILEGIOS ]
    ON TABLES
    TO { [ [ GROUP ] role_name | PUBLIC ] [, ...] [ WITH GRANT OPTION ] }
...

ALTER DOMAIN

修改一个域的定义。

ALTER DOMAIN name { SET DEFAULT expression | DROP DEFAULT }
ALTER DOMAIN name { SET | DROP } NOT NULL
ALTER DOMAIN name ADD domain_constraint
ALTER DOMAIN name DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]
ALTER DOMAIN name OWNER TO new_owner

ALTER FUNCTION

修改一个函数的定义。

ALTER FUNCTION name ([ type[, ...] ]) RENAME TO new_name
ALTER FUNCTION name ([ type[, ...] ]) OWNER TO new_owner

ALTER GROUP

修改一个用户组。

ALTER GROUP groupname ADD USER username[, ...]
ALTER GROUP groupname DROP USER username[, ...]
ALTER GROUP groupname RENAME TO new_name

ALTER INDEX

修改一个索引的定义。

ALTER INDEX name OWNER TO new_owner
ALTER INDEX name SET TABLESPACE indexspace_name
ALTER INDEX name RENAME TO new_name

ALTER LANGUAGE

修改一个过程语言的定义。

ALTER LANGUAGE name RENAME TO new_name

ALTER OPERATOR

改变一个操作符的定义。

ALTER OPERATOR name ({ lefttype | NONE }, { righttype | NONE })
PROPIETARIO A nuevo_propietario

ALTER OPERATOR CLASS

修改一个操作符表的定义。

ALTER OPERATOR CLASS name USING index_method RENAME TO new_name
ALTER OPERATOR CLASS name USING index_method OWNER TO new_owner

ALTER SCHEMA

修改一个模式的定义。

ALTER SCHEMA name RENAME TO new_name
ALTER SCHEMA name OWNER TO new_owner

ALTER SEQUENCE

修改一个序列生成器的定义。

ALTER SEQUENCE name [ INCREMENT [ BY ] increment ]
[ MINVALUE minvalue | NO MINVALUE ]
[ MAXVALUE maxvalue | NO MAXVALUE ]
[ RESTART [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]

ALTER TABLE

修改表的定义。

ALTER TABLE [ ONLY ] name [ * ]
action [, ... ]
ALTER TABLE [ ONLY ] name [ * ]
RENAME [ COLUMN ] column TO new_column
ALTER TABLE name
RENAME TO new_name

其中 action 可以是以选项之一:

ADD [ COLUMN ] column_type [ column_constraint [ ... ] ]
DROP [ COLUMN ] column [ RESTRICT | CASCADE ]
ALTER [ COLUMN ] column TYPE type [ USING expression ]
ALTER [ COLUMN ] column SET DEFAULT expression
ALTER [ COLUMN ] column DROP DEFAULT
ALTER [ COLUMN ] column { SET | DROP } NOT NULL
ALTER [ COLUMN ] column SET STATISTICS integer
ALTER [ COLUMN ] column SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
AÑADIR restricción_tabla
ELIMINAR RESTRICCIÓN nombre_restricción [ RESTRICT | CASCADE ]
CLUSTER EN nombre_indice
ESTABLECER SIN CLUSTER
ESTABLECER SIN OIDS
PROPIETARIO A nuevo_propietario
ESTABLECER ESPACIO DE TABLAS nombre_espacio

ALTERAR ESPACIO DE TABLAS

Modificar la definición de un espacio de tablas.

ALTERAR ESPACIO DE TABLAS nombre RENOMBRAR A nuevo_nombre
ALTERAR ESPACIO DE TABLAS nombre PROPIETARIO A nuevo_propietario

ALTERAR DISPARADOR

Modificar la definición de un disparador.

ALTERAR DISPARADOR nombre EN tabla RENOMBRAR A nuevo_nombre

ALTERAR TIPO

Modificar la definición de un tipo.

ALTERAR TIPO nombre PROPIETARIO A nuevo_propietario

ALTERAR USUARIO

Modificar la cuenta de usuario de la base de datos.

ALTERAR USUARIO nombre [ [ CON ] opción [ ...] ]
ALTERAR USUARIO nombre RENOMBRAR A nuevo_nombre
ALTERAR USUARIO nombre ESTABLECER parámetro { A | = } { valor | POR DEFECTO }
ALTERAR USUARIO nombre RESETEAR parámetro

Donde option puede ser −

[ ENCRIPTEADO | NO ENCRIPTEADO ] CONTRASEÑA 'contraseña'
| CREATEDB | NOCREATEDB
| CREATEUSER | NOCREATEUSER
| VÁLIDO HASTA 'abstime'

ANALIZAR

Recopilar estadísticas relacionadas con la base de datos.

ANALIZAR [ DETALLADO ] [ tabla [ (columna [, ...]) ] ]

INICIAR

Iniciar un bloque de transacción.

INICIAR [ TRABAJO | TRANSACCIÓN ] [ modo_transacción [, ...] ]

transaction_mode Puede ser una de las siguientes opciones:

NIVEL DE Aislamiento { 
   SERIALIZABLE | REPEATABLE READ | LECTURA COMMITIDA
   | LECTURA NO COMMITIDA
}
LECTURA ESCRITURA | SÓLO LECTURA

CHECKPOINT

Forzar un punto de comprobación del registro de transacciones.

CHECKPOINT

CLOSE

Cerrar el cursor.

CLOSE name

CLUSTER

Ordenar la clustering de una tabla basada en un índice.

CLUSTER index_name ON table_name
CLUSTER table_name
CLUSTER

COMMENT

Definir o cambiar el comentario de un objeto.

COMMENT ON {
   TABLE object_name |
   COLUMN table_name.column_name |
   AGGREGATE agg_name (agg_type) |
   CAST (source_type AS target_type) |
   CONSTRAINT constraint_name ON table_name |
   CONVERSION object_name |
   DATABASE object_name |
   DOMAIN object_name |
   FUNCTION func_name (arg1_type, arg2_type, ... ) |
   INDEX object_name |
   LARGE OBJECT large_object_oid |
   OPERATOR op (left_operand_type, right_operand_type) |
   OPERATOR CLASS object_name USING index_method |
   [ PROCEDURAL ] LANGUAGE object_name |
   RULE rule_name ON table_name |
   SCHEMA object_name |
   SEQUENCE object_name |
   TRIGGER trigger_name ON table_name |
   TYPE object_name |
   VIEW object_name
} 
IS 'text'

COMMIT

Confirmar la transacción actual.

COMMIT [ WORK | TRANSACTION ]

COPY

Copiar datos entre tabla y archivo.

COPY table_name [ ( column[, ...] ) ]
FROM { 'filename' | STDIN }
[ WITH ]
[ BINARY ]
[ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]
[ NULL [ AS ] 'null string' ]
[ CSV [ QUOTE [ AS ] 'quote' ]
[ ESCAPE [ AS ] 'escape' ]
[ FORCE NOT NULL column[, ...] ]
COPY table_name [ ( column[, ...] ) ]
AL { 'filename' | STDOUT }
[ [ WITH ]
[ BINARY ]
[ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]
[ NULL [ AS ] 'null string' ]
[ CSV [ QUOTE [ AS ] 'quote' ]
[ ESCAPE [ AS ] 'escape' ]
[ FORCE QUOTE column [, ...] ]

CREATE AGGREGATE

定义一个新的聚集函数。

CREATE AGGREGATE name (
   BASETYPE = input_data_type,
   SFUNC = sfunc,
   STYPE = state_data_type
   [, FINALFUNC = ffunc ]
   [, INITCOND = initial_condition ]
)

CREATE CAST

定义一个用户定义的转换。

CREATE CAST (source_type AS target_type)
WITH FUNCTION func_name (arg_types)
[ AS ASSIGNMENT | AS IMPLICIT ]
CREATE CAST (source_type AS target_type)
WITHOUT FUNCTION
[ AS ASSIGNMENT | AS IMPLICIT ]

CREATE CONSTRAINT TRIGGER

定义一个新的约束触发器。

CREATE CONSTRAINT TRIGGER name
AFTER events ON
table_name constraint attributes
FOR EACH ROW EXECUTE PROCEDURE func_name ( args )

CREATE CONVERSION

定义一个新的编码转换。

CREATE [DEFAULT] CONVERSION name
FOR source_encoding TO dest_encoding FROM func_name

CREATE DATABASE

创建新数据库。

CREATE DATABASE name
[ [ WITH ] [ OWNER [=] db_owner ]
   [ TEMPLATE [=] template ]
   [ ENCODING [=] encoding ]
   [ TABLESPACE [=] tablespace ] 
]

CREATE DOMAIN

Define a new domain.

CREATE DOMAIN name [AS] data_type
[ DEFAULT expression ]
[ constraint [ ... ] ]

constraint Puede ser una de las siguientes opciones:

[ RESTRICCIÓN constraint_name ]
{ NOT NULL | NULL | CHECK (expression) }

CREATE FUNCTION

Define a new function.

CREATE [OR REPLACE] FUNCTION name ( [[arg_name] arg_type[, ...]] )
RETURNS ret_type
{ LANGUAGE lang_name
   | IMMUTABLE | STABLE | VOLATILE
   | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
   | [EXTERNAL] SECURITY INVOKER | [EXTERNAL] SECURITY DEFINER
   | AS 'definition'
   | AS 'obj_file', 'link_symbol'
}
[WITH (attribute[, ...])]

CREATE GROUP

Define a new user group.

CREATE GROUP name [[WITH] option [...]]
Where option can be:
SYSID gid
| USER username [, ...]

CREATE INDEX

Define a new index.

CREATE [UNIQUE] INDEX name ON table [USING method]
( { column | ( expression ) } [opclass] [, ...] )
[ TABLESPACE tablespace ]
[WHERE predicate]

CREATE LANGUAGE

Define a new procedural language.

CREATE [TRUSTED] [PROCEDURAL] LANGUAGE name
HANDLER call_handler [ VALIDATOR val_function ]

CREATE OPERATOR

定义一个新的操作符。

CREATE OPERATOR name (
   PROCEDURE = func_name
   [, LEFTARG = left_type ] [, RIGHTARG = right_type ]
   [, COMMUTATOR = com_op ] [, NEGATOR = neg_op ]
   [, RESTRICT = res_proc ] [, JOIN = join_proc ]
   [, HASHES ] [, MERGES ]
   [, SORT1 = left_sort_op ] [, SORT2 = right_sort_op ]
   [, LTCMP = less_than_op ] [, GTCMP = greater_than_op ]
)

CREATE OPERATOR CLASS

定义一个新的操作符表。

CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type
USING index_method AS
{ OPERATOR strategy_number operator_name [ ( op_type, op_type ) ] [ RECHECK ] }
   | FUNCTION support_number func_name ( argument_type [, ...] )
   | STORAGE storage_type
}, [, ... ]

CREATE ROLE

定义一个新的数据库角色。

CREATE ROLE _name_ [ [[ WITH ] _option_ [ ... ] ] ]
where `_option_` can be:
      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
...

CREATE RULE

定义一个新重写规则。

CREATE [ OR REPLACE ] RULE name AS ON event
TO table [ WHERE condition ]
DO [ ALSO | INSTEAD ] { NOTHING | command | ( command ; command ... ) }

CREATE SCHEMA

定义一个新模式。

CREATE SCHEMA schema_name
[ AUTHORIZATION username ] [ schema_element [ ... ] ]
CREATE SCHEMA AUTHORIZATION username
[ schema_element [ ... ] ]

CREATE SERVER

定义一个新的外部服务器。

CREATE SERVER _server_name_ [ TYPE '_server_type_' ] [ VERSION '_server_version_' ]
    FOREIGN DATA WRAPPER _fdw_name_
    [ OPTIONS ( _option_ '_value_' [, ... ] ) ]

CREATE SEQUENCE

定义一个新序列发生器。

CREATE [ TEMPORARY | TEMP ] SEQUENCE name
[ INCREMENT [ BY ] increment ]
[ MINVALUE minvalue | NO MINVALUE ]
[ MAXVALUE maxvalue | NO MAXVALUE ]
[ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]

CREATE TABLE

定义一个新表。

CREATE [ [[ GLOBAL | LOCAL ] { 
   TEMPORARY | TEMP } ] TABLE table_name ( { 
      column_name data_type [ DEFAULT default_expr ] [ column_constraint [ ... ] ]
      | table_constraint
      | LIKE parent_table [ { INCLUDING | EXCLUDING } DEFAULTS ] 
   }, [, ... ]
)
[INHERITS (parent_table [, ... ])]
[ WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[ TABLESPACE tablespace ]

restricción_columna Puede ser una de las siguientes opciones:

[ RESTRICCIÓN constraint_name ] { 
   NOT NULL |
   NULL |
   ÚNICA [ USANDO ÍNDICE TABLESPACE tablespace ] |
   CLAVE PRIMARIA [ USANDO ÍNDICE TABLESPACE tablespace ] |
   CHECK ( expression) |
   REFERENCIAS ref_table [ ( ref_column ) ]
   [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
   [ ON DELETE action ] [ ON UPDATE action ] 
}
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALIAMENTE DEFERRED | INITIALIAMENTE IMMEDIATE ]

restricción_tabla Puede ser una de las siguientes opciones:

[ RESTRICCIÓN constraint_name ]
{ ÚNICA ( column_name [, ... ] ) [ USANDO ÍNDICE TABLESPACE tablespace ] |
CLAVE PRIMARIA ( column_name [, ... ] ) [ USANDO ÍNDICE TABLESPACE tablespace ] |
CHECK ( expression ) |
CLAVE EXTRANJERA ( column_name [, ... ] )
REFERENCIAS ref_table [ ( ref_column [, ... ] ) ]
[ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
[ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALIAMENTE DEFERRED | INITIALIAMENTE IMMEDIATE ]

CREAR TABLA COMO

Definir una nueva tabla a partir de los resultados de una consulta.

CREAR [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLA table_name
[ (column_name [, ...] ) ] [ [ WITH | WITHOUT ] OIDS ]
AS query

CREATE TABLESPACE

定义一个新的表空间。

CREATE TABLESPACE tablespace_name [ OWNER username ] LOCATION 'directory'

CREATE TRIGGER

定义一个新的触发器。

CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }
ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
EXECUTE PROCEDURE func_name ( arguments )

CREATE TYPE

定义一个新的数据类型。

CREATE TYPE name AS
( attribute_name data_type [, ... ] )
CREATE TYPE name (
INPUT = input_function,
OUTPUT = output_function
[, RECEIVE = receive_function ]
[, SEND = send_function ]
[, ANALYZE = analyze_function ]
[, INTERNALLENGTH = { internal_length | VARIABLE } ]
[, PASSEDBYVALUE ]
[, ALIGNMENT = alignment ]
[, STORAGE = storage ]
[, DEFAULT = default ]
[, ELEMENT = element ]
[, DELIMITER = delimiter ]
)

CREATE USER

创建一个新的数据库用户帐户。

CREATE USER name [ [ WITH ] option [ ... ] ]

option Puede ser una de las siguientes opciones:

SYSID uid
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| CREATEDB | NOCREATEDB
| CREATEUSER | NOCREATEUSER
| IN GROUP group_name [ , ... ]
| VALID UNTIL 'abs_time'

CREATE VIEW

Definir una vista.

CREATE [ OR REPLACE ] VIEW name [ ( column_name [ , ... ] ) ] AS query

DEALLOCATE

Eliminar una consulta preparada.

DEALLOCATE [ PREPARE ] plan_name

DECLARE

Definir un cursor.

DECLARE name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]
CURSOR [ { WITH | WITHOUT } HOLD ] FOR query
[ FOR { READ ONLY | UPDATE [ OF column [ , ... ] ] } ]

DELETE

Eliminar una fila de una tabla.

DELETE FROM [ ONLY ] table [ WHERE condition ]

DROP AGGREGATE

Eliminar una función agregada definida por el usuario.

DROP AGGREGATE name ( type ) [ CASCADE | RESTRICT ]

DROP CAST

Eliminar una conversión de tipo definida por el usuario.

DROP CAST ( source_type AS target_type ) [ CASCADE | RESTRICT ]

DROP CONVERSION

Eliminar una conversión de codificación definida por el usuario.

DROP CONVERSION name [ CASCADE | RESTRICT ]

DROP DATABASE

Eliminar una base de datos.

DROP DATABASE name

DROP DOMAIN

Eliminar un dominio definido por el usuario.

DROP DOMAIN name [ , ... ] [ CASCADE | RESTRICT ]

DROP FUNCTION

Eliminar una función.

DROP FUNCTION name ( [ type [ , ... ] ] ) [ CASCADE | RESTRICT ]

DROP GROUP

Eliminar un grupo de usuarios.

DROP GROUP name

DROP INDEX

Eliminar un índice.

DROP ÍNDICE name[, [...]][CASCADE | RESTRICT]

DROP LENGUAJE

Eliminar un lenguaje de procedimiento.

Eliminar un LENGUAJE PROCEDURAL. name[ CASCADE | RESTRICT]

DROP OPERADOR

Eliminar un operador.

Eliminar un operador. name( { left_type | NONE }, { right_type | NONE } )
[ CASCADA | RESTRICT ]

DROP CLASE OPERADOR

Eliminar una tabla de operadores.

Eliminar una clase de operador USANDO método de índice[ CASCADE | RESTRICT]

DROP ROL

Eliminar un rol de base de datos.

DROP [ PROCEDURAL ] LENGUAJE name[ CASCADE | RESTRICT]

DROP RULE

Eliminar una regla de reescritura.

DROP RULE name ON relation[ CASCADE | RESTRICT]

DROP SCHEMA

Eliminar un esquema.

DROP SCHEMA name[, [...]][CASCADE | RESTRICT]

DROP SEQUENCE

Eliminar una secuencia.

DROP SEQUENCE name[, [...]][CASCADE | RESTRICT]

DROP TABLE

Eliminar una tabla.

DROP TABLE name[, [...]][CASCADE | RESTRICT]

DROP TABLESPACE

Eliminar un espacio de tabla.

DROP TABLESPACE tablespace_name

DROP TRIGGER

Eliminar una definición de disparador.

DROP TRIGGER name ON table[ CASCADE | RESTRICT]

DROP TYPE

Eliminar un tipo de datos definido por el usuario.

DROP TYPE name[, [...]][CASCADE | RESTRICT]

DROP USER

Eliminar una cuenta de usuario de base de datos.

DROP USER name

DROP VISTA

Eliminar una vista.

DROP VISTA name[, [...]][CASCADE | RESTRICT]

FIN

Enviar la transacción actual.

END [ TRABAJO | TRANSACCIÓN ]

EJECUTAR

Ejecutar una consulta preparada.

EJECUTAR nombre_plan [ ( parámetro [, ...] ) ]

EXPLAIN

Mostrar el plan de ejecución de una sentencia.

EXPLAIN [ ANALIZAR ] [ DETALLADO ] sentencia

FETCH

Capturar filas de una consulta utilizando un cursor.

FETCH [ dirección { DESDE | EN } ] nombre_cursor

dirección Puede ser una de las siguientes opciones:

NEXT
PRIOR
FIRST
LAST
ABSOLUTE count
RELATIVE count
count
ALL
FORWARD
FORWARD count
FORWARD ALL
BACKWARD
BACKWARD count
BACKWARD ALL

GRANT

Definir permisos de acceso.

GRANT { { SELECCIONAR | INSERTAR | ACTUALIZAR | ELIMINAR | REGLA | REFERENCIAS | TRIGGER } }
[,...] | TODOS [ PRIVILEGIOS ] }
ON [ TABLA ] nombre_tabla [, ...]
TO { nombre_de_usuario | GRUPO nombre_de_grupo | PÚBLICO }[, ...] [ WITH GRANT OPTION ]
GRANT { { CREAR | TEMPORAL | TEMP } [,...] | TODOS [ PRIVILEGIOS ] }
ON BASE DE DATOS db_name [, ...]
TO { nombre_de_usuario | GRUPO nombre_de_grupo | PÚBLICO }[, ...] [ WITH GRANT OPTION ]
GRANT { CREAR | TODOS [ PRIVILEGIOS ] }
ON ESPACIO DE TABLA tablespace_name [, ...]
TO { nombre_de_usuario | GRUPO nombre_de_grupo | PÚBLICO }[, ...] [ WITH GRANT OPTION ]
GRANT { EJECUTAR | TODOS [ PRIVILEGIOS ] }
ON FUNCIÓN func_name ( [tipo, ...] ) [, ...]
TO { nombre_de_usuario | GRUPO nombre_de_grupo | PÚBLICO }[, ...] [ WITH GRANT OPTION ]
GRANT { USO | TODOS [ PRIVILEGIOS ] }
EN LENGUAJE nombre_de_lenguaje [, ...]
TO { nombre_de_usuario | GRUPO nombre_de_grupo | PÚBLICO }[, ...] [ WITH GRANT OPTION ]
GRANT { { CREAR | USO } [,...] | TODOS [ PRIVILEGIOS ] }
EN ESQUEMA nombre_de_esquema [, ...]
TO { nombre_de_usuario | GRUPO nombre_de_grupo | PÚBLICO }[, ...] [ WITH GRANT OPTION ]

INSERT

Crear una nueva fila en la tabla, es decir, insertar datos.

INSERT INTO table [ ( column [, ...] ) ]
{ VALORES POR DEFECTO | VALORES ( { EXPRESIÓN | POR DEFECTO } [, ...] ) | consulta }

LISTEN

Escuchar una notificación.

LISTEN name

LOAD

Cargar o recargar un archivo de biblioteca compartida.

CARGAR 'nombre_archivo'

BLOQUEAR

Bloquear una tabla.

BLOQUEAR [ TABLA ] nombre [, ...] [ EN modo_de_bloqueo MODO ] [ ESPERA ]

modo_de_bloqueo Puede ser una de las siguientes opciones:

ACCESO COMPARTIR | FILA COMPARTIR | FILA EXCLUSIVA | COMPARTIR ACTUALIZAR EXCLUSIVO
| COMPARTIR | COMPARTIR FILA EXCLUSIVA | EXCLUSIVO | ACCESO EXCLUSIVO

MOVER

Ubicar un cursor.

MOVER [ dirección { DESDE | EN } ] nombre_cursor

NOTIFICAR

Generar una notificación.

NOTIFICAR nombre

PREPARAR

Crear una consulta preparada.

PREPARAR nombre_plan [ ( tipo_de_dato [, ...] ) ] COMO sentencia

REINDEXAR

Reconstruir índices.

REINDEXAR { BASE DE DATOS | TABLA | ÍNDICE } nombre [ FUERZA ]

LIBERAR PUNTO DE SALIDA

Eliminar un punto de salvaguarda definido anteriormente.

LIBERAR [ PUNTO DE SALIDA ] nombre_punto_salida

RESET

Restaurar un valor de parámetro de tiempo de ejecución a su valor predeterminado.

RESET nombre
RESET ALL

REVOCAR

Eliminar permisos de acceso.

RESTRINGIR [ CONCEDER ] OPCION DE CONCESIÓN
{ { SELECCIONAR | INSERTAR | ACTUALIZAR | ELIMINAR | REGLA | REFERENCIAS | DISPARADOR } }
[,...] | TODOS [ PRIVILEGIOS ] }
ON [ TABLA ] nombre_tabla [, ...]
DE { nombre_de_usuario | GRUPO nombre_de_grupo | PÚBLICO } [, ...]
[ CASCADA | RESTRICT ]
RESTRINGIR [ CONCEDER ] OPCION DE CONCESIÓN
{ { CREAR | TEMPORAL | TEMP } [,...] | TODOS [ PRIVILEGIOS ] }
ON BASE DE DATOS db_name [, ...]
DE { nombre_de_usuario | GRUPO nombre_de_grupo | PÚBLICO } [, ...]
[ CASCADA | RESTRICT ]
RESTRINGIR [ CONCEDER ] OPCION DE CONCESIÓN
{ CREAR | TODOS [ PRIVILEGIOS ] }
ON ESPACIO DE TABLA tablespace_name [, ...]
DE { nombre_de_usuario | GRUPO nombre_de_grupo | PÚBLICO } [, ...]
[ CASCADA | RESTRICT ]
RESTRINGIR [ CONCEDER ] OPCION DE CONCESIÓN
{ EJECUTAR | TODOS [ PRIVILEGIOS ] }
ON FUNCIÓN func_name ( [tipo, ...] ) [, ...]
DE { nombre_de_usuario | GRUPO nombre_de_grupo | PÚBLICO } [, ...]
[ CASCADA | RESTRICT ]
RESTRINGIR [ CONCEDER ] OPCION DE CONCESIÓN
{ USO | TODOS [ PRIVILEGIOS ] }
EN LENGUAJE nombre_de_lenguaje [, ...]
DE { nombre_de_usuario | GRUPO nombre_de_grupo | PÚBLICO } [, ...]
[ CASCADA | RESTRICT ]
RESTRINGIR [ CONCEDER ] OPCION DE CONCESIÓN
{ { CREAR | USO } [,...] | TODOS [ PRIVILEGIOS ] }
EN ESQUEMA nombre_de_esquema [, ...]
DE { nombre_de_usuario | GRUPO nombre_de_grupo | PÚBLICO } [, ...]
[ CASCADA | RESTRICT ]

REVERTIR

Salir de la transacción actual.

REVERTIR [ TRABAJO | TRANSACCIÓN ]

REVERTIR A PUNTO_DE_CONTROL

Revertir a un punto de control.

REVERTIR [ TRABAJO | TRANSACCIÓN ] A [ PUNTO_DE_CONTROL ] nombre_punto_de_control

PUNTO_DE_CONTROL

Definir un nuevo punto de control en la transacción actual.

PUNTO_DE_CONTROL nombre_punto_de_control

SELECT

Extraer varias filas de una tabla o vista.

SELECT [ TODOS | DIFERENTES [ EN ( expresión [, ...] ) ] ]
* | expression [ AS output_name ] [, ...]
INTO [ TEMPORAL | TEMP ] [ TABLA ] nueva_tabla
[ WHERE condition ]
[ DESDE artículo [ ..., ... ] ]
[ GRUPO POR expresión[, ...] ]
[ CONDICIÓN HAVING [ ..., ... ] ]
[ { UNION | INTERSECT | EXCEPT } [ TODOS ] seleccion ]
[ ORDENAR POR expresión [ ASC | DESC | USANDO operador ][, ...] ]
[ LÍMITE { cuenta | TODOS } ]
[ DESDE INICIO start ]

from_item puede ser una de las siguientes opciones:

[ SOLO ] nombre_de_tabla [ * ]] [ [ COMO ] alias [ ( alias_de_columna [, ...] ) ] ]
( select ) [ COMO ] alias [ ( alias_de_columna [, ...] ) ]
function_name ( [ argumento [, ...] ] )
[ COMO ] alias [ ( alias_de_columna [, ...] | definición_de_columna [, ...] ) ]
function_name ( [ argumento [, ...] ] ) AS ( definición_de_columna [, ...] )
from_item [ NATURAL ] tipo_de_join from_item
[ EN (condición_de_join | USANDO (columna_de_join [, ...] ) ) ]

SELECT INTO

Definir una nueva tabla a partir de los resultados de una consulta.

SELECT [ TODOS | DIFERENTES [ EN ( expresión [, ...] ) ] ]
* | expression [ AS output_name ] [, ...]
| expresión [ COMO nombre_salida ][, ...]
INTO [ TEMPORAL | TEMP ] [ TABLA ] nueva_tabla
[ WHERE condition ]
[ DESDE artículo [ ..., ... ] ]
[ GRUPO POR expresión[, ...] ]
[ CONDICIÓN HAVING [ ..., ... ] ]
[ { UNION | INTERSECT | EXCEPT } [ TODOS ] seleccion ]
[ ORDENAR POR expresión [ ASC | DESC | USANDO operador ][, ...] ]
[ LÍMITE { cuenta | TODOS } ]
[ DESDE INICIO start ]

[ PARA ACTUALIZACIÓN [ DE nombre_tabla[, ...] ] ]

ESTABLECER

MODIFICAR PARÁMETROS DE EJECUCIÓN.
ESTABLECER [ SESIÓN | LOCAL ] ZONA HORARIA { zona_horaria | LOCAL | POR DEFECTO }

ESTABLECER CONSTRAINTS

ESTABLECER MODO DE COMPROBACIÓN DE RESTRICTIVAS DE LA TRANSACCIÓN ACTUAL.

ESTABLECER CONSTRAINTS { TODOS | nombre[, ...] } { RETARDADO | INMEDIATO}

ESTABLECER SESIÓN AUTORIZACIÓN

ESTABLECER identificador de usuario de sesión y identificador de usuario actual para la sesión actual.

ESTABLECER [ SESIÓN | LOCAL ] AUTORIZACIÓN DE SESIÓN nombreusuario
ESTABLECER [ SESIÓN | LOCAL ] AUTORIZACIÓN DE SESIÓN POR DEFECTO
RESETEAR AUTORIZACIÓN DE SESIÓN

ESTABLECER TRANSACCIÓN

Iniciar un bloque de transacción.

ESTABLECER TRANSACCIÓN transaction_mode[, ...]
ESTABLECER SESIÓN CARACTERÍSTICAS COMO MODO DE TRANSACCIÓN transaction_mode[, ...]

Donde transaction_mode es uno de los siguientes −

NIVEL DE Aislamiento { SERIALIZABLE | REPEATABLE READ | READ COMMITTED
| LECTURA NO COMMITIDA }
LECTURA ESCRITURA | SÓLO LECTURA

SHOW

Mostrar los valores de los parámetros de tiempo de ejecución.

SHOW name
SHOW ALL

START TRANSACTION

Iniciar un bloque de transacción.

START TRANSACTION [ transaction_mode [, ...] ]

transaction_mode Puede ser una de las siguientes opciones:

NIVEL DE Aislamiento { SERIALIZABLE | REPEATABLE READ | READ COMMITTED
| LECTURA NO COMMITIDA }
LECTURA ESCRITURA | SÓLO LECTURA

TRUNCATE

Borrar una o varias tablas.

TRUNCATE [ TABLE ] name

UNLISTEN

Detener la escucha de mensajes de notificación.

UNLISTEN { name | * }

UPDATE

Actualizar filas en una tabla.

UPDATE [ ONLY ] table SET column = { expression | DEFAULT } [, ...]
[ FROM from_list ]
[ WHERE condition ]

VACUUM

Recolección de basura y análisis opcional de una base de datos.

VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table [ (column [, ...] ) ] ]

VALUES

Calcular una o varias filas.

VALUES ( _expression_ [, ...] ) [, ...]
    [ ORDER BY _sort_expression_ [ ASC | DESC | USING _operator_ ] [, ...] ]
    [ LIMIT { _count_ | ALL } ]
    [ OFFSET _start_ [ ROW | ROWS ] ]
    [ FETCH { FIRST | NEXT } [ _count_ ] { ROW | ROWS } ONLY ]