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

PostgreSQL语法

Di default, dopo l'installazione di PostgreSQL, è fornito uno strumento della riga di comando predefinito SQL Shell(psql)

Linux Il sistema può passare direttamente all'utente postgres per avviare lo strumento della riga di comando:

#  sudo -i -u postgres

Windows Il sistema di solito si trova nella sua directory di installazione:

Program Files → PostgreSQL 11.3 → SQL Shell(psql)

Mac OS Basta cercare direttamente per trovare:

Entrando nello strumento della riga di comando, possiamo utilizzare \help per visualizzare la sintassi di ciascun comando:

postgres-# \help <nome_comando>

Ad esempio, esaminiamo la sintassi dell'istruzione SELECT:

postgres=# \help SELECT
Comando:     SELECT
Descrizione: recuperare righe da una tabella o vista
Sintassi:
[ WITH [ RECURSIVE ] with_query [, ... ] ]
SELECT [ Tutti | Distinto [ Sull'ON ( espressione [, ...] ) ] ]
    [ * | expression [ [ AS ] output_name ] [, ... ] ]
    [ DA item_da [, ...] ]
    [ WHERE condition ]
    [ GROUP BY grouping_element [, ... ] ]
    [ AVENDO condizione [, ...] ]
    [ WINDOW window_name AS ( window_definition ) [, ... ] ]
    [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select ]
    [ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ... ] ]
    [ LIMIT { conteggio | TUTTO } ]
    [ 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 può essere uno dei seguenti opzioni:
    [ SOLO ] nome_tabella [ * ] [ [ COME ] alias [ ( alias_colonna [, ...] ) ] ]

Espressione SQL

Una espressione SQL solitamente contiene parole chiave, identificatori (campi), costanti, simboli speciali ecc., ecco un esempio semplice di espressione SQL:

SELECT id, name FROM w3codebox

SELECTid, nameFROMw3codebox
Simbolo di tipoParola chiaveIdentificatore (campo)Parola chiaveIdentificatore
DescrizioneComandoCampi id e nameEspressione, utilizzata per impostare regole di condizione ecc.Nome della tabella

Comando PostgreSQL

ABORT

ABORT viene utilizzato per uscire dalla transazione corrente.

ABORT [ [ WORK | TRANSACTION ] ]

ALTER AGGREGATE

Modifica la definizione di una funzione aggregata.

ALTER AGGREGATE _name_ ( _argtype_ [ , ... ] ) RENAME TO _new_name_
MODIFICA AGGREGATO nome_ ( argtype_ [ , ... ] ) PROPRIETARIO TO nuovo_proprietario_
MODIFICA AGGREGATO nome_ ( argtype_ [ , ... ] ) SET SCHEMA nuovo_schema_

MODIFICA ORDINAMENTO

Modificare la definizione di un ordine di sortimento.

MODIFICA ORDINAMENTO nome_ RINOMINA TO nuovo_nome_
MODIFICA ORDINAMENTO nome_ PROPRIETARIO TO nuovo_proprietario_
MODIFICA ORDINAMENTO nome_ SET SCHEMA nuovo_schema_

MODIFICA CONVERSIONE

Modificare la definizione di una conversione di codifica.

MODIFICA CONVERSIONE nome_RINOMINA TO nuovo_nome
MODIFICA CONVERSIONE nome_PROPRIETARIO TO nuovo_proprietario

MODIFICA DATABASE

Modificare un database.

MODIFICA DATABASE nome_IMPOSTAZIONE paramentro { TO | = } { valore | DEFAULT }
MODIFICA DATABASE nome_AZIONE paramentro
MODIFICA DATABASE nome_RINOMINA TO nuovo_nome
MODIFICA DATABASE nome_PROPRIETARIO TO nuovo_proprietario

MODIFICA PRIVILEGI DEFAULT

Definire i privilegi di accesso predefiniti.

MODIFICA PRIVILEGI DEFAULT
    [ PER { RUOLO | UTENTE } ruolo_destinazione [, ...] ]
    [ IN SCHEMA nome_schema [, ...] ]
    abbreviato_concedi_o_revoca
WHERE abbreviato_concedi_o_revoca è uno dei seguenti:
CONCEDI { { SELEZIONA | INSERISCI | AGGIORNA | ELIMINA | TRUNCATA | RIFERIMENTO | TRIGGER } }
    [, ...] | TUTTI [ PRIVILEGI ]
    SULLA TAVOLA
    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 })
PROPRIETARIO A nuovo_proprietario

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 }
AGGIUNGI vincolo_tabella
ELIMINA CONFLITTO nome_conflitto [ RESTRICT | CASCADE ]
CLUSTER SULLA nome_indice
IMPOSTA SENZA CLUSTER
IMPOSTA SENZA OIDS
PROPRIETARIO A nuovo_proprietario
IMPOSTA SPAZIO DI TABELLE nome_spaazio_tabella

MODIFICA SPAZIO DI TABELLE

Modificare la definizione di uno spazio di tabelle.

MODIFICA SPAZIO DI TABELLE nome RINOMINA A nuovo_nome
MODIFICA SPAZIO DI TABELLE nome PROPRIETARIO A nuovo_proprietario

MODIFICA TRIGGER

Modificare la definizione di un trigger.

MODIFICA TRIGGER nome SULLA tabella RINOMINA A nuovo_nome

MODIFICA TIPO

Modificare la definizione di un tipo.

MODIFICA TIPO nome PROPRIETARIO A nuovo_proprietario

MODIFICA UTENTE

Modificare l'account utente del database.

MODIFICA UTENTE nome [ [ CON ] opzione [ ...] ]
MODIFICA UTENTE nome RINOMINA A nuovo_nome
MODIFICA UTENTE nome IMPOSTA parametro { TO | = } { valore | DEFAULT }
MODIFICA UTENTE nome RESET parametro

Where opzione può essere -

[ CRIPTATO | DECRIPTATO ] PASSWORD 'password'
| CREATEDB | NOCREATEDB
| CREATEUSER | NOCREATEUSER
| VALIDO FINO A 'abstime'

ANALIZZA

Raccogliere statistiche relative al database.

ANALIZZA [ DETTAGLIATI ] [ tabella [ colonna [, ...] ] ]

INIZIA

Inizia un blocco di transazione.

INIZIA [ LAVORO | TRANSAZIONE ] [ modalità_di_transazione [, ...] ]

transaction_mode Può essere una delle seguenti opzioni:

LIVELLO DI ISOLAMENTO { 
   SERIALIZABLE | REPEATABLE READ | READ COMMITTED
   | READ UNCOMMITTED
}
READ WRITE | READ ONLY

CHECKPOINT

Forzare un punto di controllo del registro delle transazioni.

CHECKPOINT

CLOSE

Chiudi il cursore.

CLOSE name

CLUSTER

Ordina una tabella clusterizzata in base a un indice.

CLUSTER index_name ON table_name
CLUSTER table_name
CLUSTER

COMMENT

Definisci o cambia il commento di un oggetto.

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

Conferma la transazione corrente.

COMMIT [ WORK | TRANSACTION ]

COPY

Copia i dati tra la tabella e il file.

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[, ...] ) ]
TO { '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 [=] codifica ]
   [ TABLESPACE [=] namespazio_tabella ] 
]

CREATE DOMINIO

Definire un nuovo dominio.

CREATE DOMINIO nome [AS] tipo_dati
[ DEFAULT espressione ]
[ vincolo [ ... ] ]

Vincolo Può essere una delle seguenti opzioni:

[ CONSTRAINT constraint_name ]
{ NON NULL | NULL | CHECK(espressione)}

CREATE FUNCTION

Definire una nuova funzione.

CREATE [ OR REPLACE ] FUNZIONE nome ( [ [[ nome_arg] tipo_arg] [, ...] ] )
RETURNS tipo_restituito
{ LANGUAGE nome_lang}
   | IMMUTABILE | STABILE | VOLATILE
   | CHIAMATO SU INPUT NULLO | RESTITUISCE NULL SU INPUT NULLO | STRETTA
   | [ ESTERNO ] ESECUZIONARIO SICUREZZA | [ ESTERNO ] DEFINITORE SICUREZZA
   | AS 'definizione'
   | AS 'file_obj', 'simbolo_collegamento'
}
[ WITH ( attributo [, ...] ) ]

CREATE GROUP

Definire un nuovo gruppo utente.

CREATE GROUP nome [ [[ WITH ] opzione [ ... ] ]]
Opzione dove può essere:
SYSID gid
| USER nomeutente [, ...]

CREATE INDEX

Definire un nuovo indice.

CREATE [UNIQUE] INDEX nome ON tabella [USING metodo]
( { colonna | ( espressione ) } [opclass] [, ...] )
[ TABLESPACE tablespace ]
[WHERE predicato]

CREATE LANGUAGE

Definire un nuovo linguaggio procedurale.

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 ]

column_constraint Può essere una delle seguenti opzioni:

[ CONSTRAINT constraint_name ] { 
   NOT NULL |
   NULL |
   UNIQUE [ USING INDEX TABLESPACE tablespace ] |
   PRIMARY KEY [ USING INDEX TABLESPACE tablespace ] |
   CHECK ( expression ) |
   REFERENCES ref_table [ ( ref_column ) ]
   [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
   [ ON DELETE action ] [ ON UPDATE action ] 
}
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

table_constraint Può essere una delle seguenti opzioni:

[ CONSTRAINT constraint_name ]
{ UNIQUE ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] |
PRIMARY KEY ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] |
CHECK ( expression ) |
FOREIGN KEY ( column_name [, ... ] )
REFERENCES ref_table [ ( ref_column [, ... ] ) ]
[ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
[ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

CREATE TABLE AS

从一条查询的结果中定义一个新表。

CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name
[ (nome_colonna [, ...] ) ] [ [ CON | SENZA ] OIDS ]
Come query

CREATE TABLESPACE

Definire un nuovo spazio di tabella.

CREATE TABLESPACE nome_terspazio [ OWNER nome_utente ] LOCATION 'cartella'

CREATE TRIGGER

Definire un nuovo trigger.

CREATE TRIGGER name { PRIMA | DOPO } { evento [ O ... ] }
ON tabella [ FOR [ EACH ] { RIGA | ISTRUZIONE } ]
EXECUTE PROCEDURE nome_funzione ( argomenti )

CREATE TYPE

Definire un nuovo tipo di dati.

CREATE TYPE name AS
( nome_attrributo tipo_dati [, ... ] )
CREATE TYPE name (
INPUT = funzione_input,
OUTPUT = funzione_output
[, RECEIVE = funzione_ricezione ]
[, SEND = funzione_spedizione ]
[, ANALYZE = funzione_analisi ]
[, INTERNALLENGTH = { lunghezza_interna | VARIABILE } ]
[, PASSEDBYVALUE ]
[, ALIGNMENT = allineamento ]
[, STORAGE = archiviazione ]
[, DEFAULT = valore_default ]
[, ELEMENT = elemento ]
[, DELIMITER = delimitatore ]
)

CREATE USER

Creare un nuovo account utente del database.

CREATE USER name [ [ WITH ] opzione [ ... ] ]

opzione Può essere una delle seguenti opzioni:

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

CREATE VIEW

Definisci una vista.

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

DEALLOCATE

Elimina una query preparata.

DEALLOCATE [ PREPARE ] plan_name

DECLARE

Definisci un cursore.

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

DELETE

Elimina una riga da una tabella.

DELETE FROM [ ONLY ] table [ WHERE condition ]

DROP AGGREGATE

Elimina una funzione aggregata definita dall'utente.

DROP AGGREGATE name ( type ) [ CASCADE | RESTRICT ]

DROP CAST

Elimina una conversione di tipo definita dall'utente.

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

DROP CONVERSION

Elimina una conversione di codifica definita dall'utente.

DROP CONVERSION name [ CASCADE | RESTRICT ]

DROP DATABASE

Elimina un database.

DROP DATABASE name

DROP DOMAIN

Elimina un dominio definito dall'utente.

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

DROP FUNCTION

Elimina una funzione.

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

DROP GROUP

Elimina un gruppo utente.

DROP GROUP name

DROP INDEX

Elimina un indice.

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

DROP LANGUAGE

删除一个过程语言。

DROP [ PROCEDURAL ] LANGUAGE name [ CASCADE | RESTRICT ]

DROP OPERATOR

删除一个操作符。

Eliminare un'operatore.
[ CASCATA | RESTRITTO ]

DROP INDEX

Eliminare un indice.

DROP LANGUAGE

Eliminare un linguaggio procedurale.

DROP OPERATOR

Eliminare un operatore.

DROP OPERATOR CLASS

Eliminare una classe di operatore.

DROP ROLE

Eliminare un ruolo del database.

DROP RULE

Eliminare una regola di override.

DROP SCHEMA

Eliminare uno schema.

DROP SEQUENCE

Eliminare una sequenza.

DROP TABLE

Eliminare una tabella.

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

DROP TABLESPACE

Eliminare uno spazio di archiviazione di tabella.

DROP TABLESPACE tablespace_name

DROP TRIGGER

Eliminare una definizione di trigger.

DROP TYPE

Eliminare un tipo di dati definito dall'utente.

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

DROP USER

Eliminare un account utente del database.

DROP USER name

DROP VIEW

Eliminare una vista.

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

FINE

Conferma la transazione corrente.

END [ WORK | TRANSACTION ]

EXECUTE

Esegui una query preparata.

EXECUTE plan_name [ ( parameter [, ...] ) ]

EXPLAIN

Mostra il piano di esecuzione di una statement.

EXPLAIN [ ANALYZE ] [ VERBOSE ] statement

FETCH

Estrai righe da una query utilizzando un cursore.

FETCH [ direzione { FROM | IN } ] cursor_name

direzione Può essere una delle seguenti opzioni:

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

GRANT

Definisci i permessi di accesso.

GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER } }
[,...] | TUTTI [ PRIVILEGI ] }
ON [ TABELLA ] table_name [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
ON BASE DI DATI db_name [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { CREATE | ALL [ PRIVILEGES ] }
ON SPAZIO DI TABELLA tablespace_name [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { EXECUTE | ALL [ PRIVILEGES ] }
ON FUNZIONE func_name ( [tipo, ...] ) [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { USAGE | ALL [ PRIVILEGES ] }
SULLA LINGUA nome_lingua [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
SULLA SCHEMA nome_schema [, ...]
TO { username | GROUP group_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]

INSERT

Crea una nuova riga nella tabella, ovvero inserisci dati.

INSERT INTO table [ ( column [, ...] ) ]
{ VALORI PREDEFINITI | VALORI ( { ESPRESSIONE | PREDEFINITO } [, ...] ) | query }

LISTEN

Ascolta una notifica.

LISTEN name

LOAD

Carica o ricarica un file di libreria condivisa.

CARICA 'nomefile'

LOCK

Blocca una tabella.

LOCK [ TABELLA ] nome [, ...] [ IN modalità_lock MODO ] [ NON ASPETTARE ]

modalità_lock Può essere una delle seguenti opzioni:

ACCESSO CONDIVISO | RIGA CONDIVISA | RIGA ESCLUSIVA | CONDIVIDI AGGIORNAMENTI ESCLUSIVO
| CONDIVIDE | CONDIVIDE RIGA ESCLUSIVA | ESCLUSIVO | ACCESSO ESCLUSIVO

MUOVI

Posiziona un cursore.

MUOVI [ direzione { DA | NE } ] nome_cursor

NOTIFICA

Genera una notifica.

NOTIFICA nome

PREPARA

Crea una query preparata.

PREPARA nome_piano [ ( tipo_dati [, ...] ) ] COME statement

REINDICE

Riabilita gli indici.

REINDICE { BASE DI DATI | TABELLA | INDICE } nome [ FORZATURA ]

RILASCIA PUNTO SALVATAGGIO

Elimina un punto di salvataggio definito in precedenza.

RILASCIA [ PUNTO SALVATAGGIO ] nome_punto_salvataggio

RESETTA

Ripristina un valore di parametro di esecuzione alla sua valore predefinito.

RESETTA name
RESETTA TUTTI

REVOCARE

Elimina i permessi di accesso.

REVOKE [ OPZIONE_CONCESSIONE_PER ]
{ { SELEZIONA | INSERISCI | AGGIORNA | ELIMINA | REGOLA | RIFERIMENTI | TRIGGER } }
[,...] | TUTTI [ PRIVILEGI ] }
ON [ TABELLA ] table_name [, ...]
FROM { nome_utente | GRUPPO nome_gruppo | PUBBLICO } [, ...]
[ CASCATA | RESTRITTO ]
REVOKE [ OPZIONE_CONCESSIONE_PER ]
{ { CREA | TEMPORANEA | TEMP } [,...] | TUTTI [ PRIVILEGI ] }
ON BASE DI DATI db_name [, ...]
FROM { nome_utente | GRUPPO nome_gruppo | PUBBLICO } [, ...]
[ CASCATA | RESTRITTO ]
REVOKE [ OPZIONE_CONCESSIONE_PER ]
{ CREA | TUTTI [ PRIVILEGI ] }
ON SPAZIO DI TABELLA tablespace_name [, ...]
FROM { nome_utente | GRUPPO nome_gruppo | PUBBLICO } [, ...]
[ CASCATA | RESTRITTO ]
REVOKE [ OPZIONE_CONCESSIONE_PER ]
{ ESEGUI | TUTTI [ PRIVILEGI ] }
ON FUNZIONE func_name ( [tipo, ...] ) [, ...]
FROM { nome_utente | GRUPPO nome_gruppo | PUBBLICO } [, ...]
[ CASCATA | RESTRITTO ]
REVOKE [ OPZIONE_CONCESSIONE_PER ]
{ USO | TUTTI [ PRIVILEGI ] }
SULLA LINGUA nome_lingua [, ...]
FROM { nome_utente | GRUPPO nome_gruppo | PUBBLICO } [, ...]
[ CASCATA | RESTRITTO ]
REVOKE [ OPZIONE_CONCESSIONE_PER ]
{ { CREAZIONE | USO } [,...] | TUTTI [ PRIVILEGI ] }
SULLA SCHEMA nome_schema [, ...]
FROM { nome_utente | GRUPPO nome_gruppo | PUBBLICO } [, ...]
[ CASCATA | RESTRITTO ]

ROLLBACK

Uscire dalla transazione corrente.

ROLLBACK [ LAVORO | TRANSAZIONE ]

ROLLBACK TO SAVEPOINT

Torna indietro a un punto di salvataggio.

ROLLBACK [ LAVORO | TRANSAZIONE ] TO [ PUNTO_SALVATAGGIO ] nome_punto_salvamento

SAVEPOINT

Definire un nuovo punto di salvataggio nel transazione corrente.

SAVEPOINT nome_punto_salvamento

SELECT

Estrae alcune righe da una tabella o una vista.

SELECT [ Tutti | Distinto [ Sull'ON ( espressione [, ...] ) ] ]
* | espressione [ COME nome_output ] [, ...]
[ DA item_da [, ...] ]
[ WHERE condition ]
[ GRUPPO PER espressione [, ...] ]
[ AVENDO condizione [, ...] ]
[ { UNIONE | INTERSECT | EXCEPT } [ TUTTO ] select ]
[ ORDINARE PER espressione [ ASC | DESC | USANDO operatore ] [, ...] ]
[ LIMIT { conteggio | TUTTO } ]
[ OFFSET inizio ]
[ PER UPDATE [ DI nome_tabella [, ...] ] ]

from_item Può essere una delle seguenti opzioni:

[ SOLO ] nome_tabella [ * ] [ [ COME ] alias [ ( alias_colonna [, ...] ) ] ]
( select ) [ COME ] alias [ ( alias_colonna [, ...] ) ]
nome_funzione ( [ argomento [, ...] ] )
[ COME ] alias [ ( alias_colonna [, ...] | definizione_colonna [, ...] ) ]
nome_funzione ( [ argomento [, ...] ] ) AS ( definizione_colonna [, ...] )
from_item [ NATURALE ] join_type from_item
[ Sull'ON condizione_di_joined | USING ( colonna_di_joined [, ...] ) ]

SELECT INTO

Definire un nuovo tavolo da un risultato di una query.

SELECT [ Tutti | Distinto [ Sull'ON ( espressione [, ...] ) ] ]
* | espressione [ COME nome_output ] [, ...]
NEL [ TEMPORANEO | TEMP ] [ TABELLA ] nuovo_tabella
[ DA item_da [, ...] ]
[ WHERE condition ]
[ GRUPPO PER espressione [, ...] ]
[ AVENDO condizione [, ...] ]
[ { UNIONE | INTERSECT | EXCEPT } [ TUTTO ] select ]
[ ORDINARE PER espressione [ ASC | DESC | USANDO operatore ] [, ...] ]
[ LIMIT { conteggio | TUTTO } ]
[ OFFSET inizio ]
[ PER UPDATE [ DI nome_tabella [, ...] ] ]

IMPOSTA

MODIFICA PARAMETRI DI ESECUZIONE.

MODIFICA PARAMETRI DI ESECUZIONE. IMPOSTA [ SESSIONE | LOCALE ] nome { A | = } { valore | 'valore' | DEFAULT }
IMPOSTA [ SESSIONE | LOCALE ] ZONA ORARIA { zona_oraria | LOCALE | DEFAULT }

IMPOSTA CONSTRINTE

IMPOSTA MODO CONTROLLO CONSTRINTE DELLA TRANSAZIONE CORRENTE.

IMPOSTA CONSTRINTE { TUTTE | nome [, ...] } { POSTPONATE | IMMEDIATE}

IMPOSTA AUTORIZZAZIONE SESSIONE

IMPOSTA identificatore utente sessione e identificatore utente corrente per la sessione corrente.

IMPOSTA [ SESSIONE | LOCALE ] AUTORIZZAZIONE SESSIONE username
IMPOSTA [ SESSIONE | LOCALE ] AUTORIZZAZIONE SESSIONE DEFAULT
AZZERA AUTORIZZAZIONE SESSIONE

IMPOSTA TRANSAZIONE

Inizia un blocco di transazione.

IMPOSTA TRANSAZIONE transaction_mode [, ...]
IMPOSTA CARATTERISTICHE DI SESSIONE COME MODO TRANSAZIONE transaction_mode [, ...]

Where transaction_mode è uno dei seguenti −

ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED
| READ UNCOMMITTED }
READ WRITE | READ ONLY

SHOW

Mostra i valori dei parametri di runtime.

SHOW name
SHOW ALL

START TRANSACTION

Inizia un blocco di transazione.

START TRANSACTION [ transaction_mode [, ...] ]

transaction_mode Può essere una delle seguenti opzioni:

ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED
| READ UNCOMMITTED }
READ WRITE | READ ONLY

TRUNCATE

Svuota una o più tabelle.

TRUNCATE [ TABLE ] name

UNLISTEN

Ferma l'ascolto delle notifiche.

UNLISTEN { name | * }

UPDATE

Aggiorna una riga in una tabella.

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

VACUUM

Raccogliere spazzatura e analizzare opzionalmente un database.

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

VALUES

Calcola una o più righe.

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