refactor: standard naming (#278)

* refactor: rename flinksql to flink

* refactor: rename pgsql to postgresql

* refactor: rename trinosql to trino

* refactor: replace all default exports with named export

* refactor: rename basicParser to basicSQL

* refactor: rename basic-parser-types to types

* refactor: replace arrow func with plain func
This commit is contained in:
Hayden
2024-03-27 10:33:25 +08:00
committed by GitHub
parent a99721162b
commit bb0fad1dbe
325 changed files with 33161 additions and 33202 deletions

View File

@ -0,0 +1,413 @@
-- Modifying Tables
-- Adding a Column
ALTER TABLE products ADD COLUMN description text CHECK (description <> '');
-- Removing a Column
ALTER TABLE products DROP COLUMN description;
ALTER TABLE products DROP COLUMN description CASCADE;
-- Adding a Constraint
ALTER TABLE products ADD CHECK (name <> '');
ALTER TABLE products ADD CONSTRAINT some_name UNIQUE (product_no);
ALTER TABLE products ADD FOREIGN KEY (product_group_id) REFERENCES product_groups;
-- Removing a Constraint
ALTER TABLE products DROP CONSTRAINT some_name;
ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;
-- Changing a Column's Default Value
ALTER TABLE products ALTER COLUMN price SET DEFAULT 7.77;
ALTER TABLE products ALTER COLUMN price DROP DEFAULT;
-- Changing a Column's Data Type
ALTER TABLE products ALTER COLUMN price TYPE numeric(10,2);
-- Renaming a Column
ALTER TABLE products RENAME COLUMN product_no TO product_number;
-- Renaming a Table
ALTER TABLE products RENAME TO items;
-- Managing Partitions
ALTER TABLE measurement_y2006m02 NO INHERIT measurement;
ALTER TABLE measurement_y2008m02 ADD CONSTRAINT y2008m02
CHECK ( logdate >= DATE '2008-02-01' AND logdate < DATE '2008-03-01' );
-- ALTER AGGREGATE
ALTER AGGREGATE name ( int, integer) RENAME TO new_name;
ALTER AGGREGATE name ( text,int ) OWNER TO new_owner;
ALTER AGGREGATE name ( integer ) SET SCHEMA new_schema;
-- ALTER COLLATION
ALTER COLLATION name RENAME TO new_name;
ALTER COLLATION name OWNER TO new_owner;
ALTER COLLATION name SET SCHEMA new_schema;
-- ALTER CONVERSION
ALTER CONVERSION name RENAME TO new_name;
ALTER CONVERSION name OWNER TO new_owner;
ALTER CONVERSION name SET SCHEMA new_schema;
-- ALTER DATABASE
ALTER DATABASE name WITH CONNECTION LIMIT connlimit;
ALTER DATABASE name RENAME TO new_name;
ALTER DATABASE name OWNER TO new_owner;
ALTER DATABASE name OWNER TO CURRENT_ROLE;
ALTER DATABASE name OWNER TO CURRENT_USER;
ALTER DATABASE name OWNER TO SESSION_USER;
ALTER DATABASE name SET TABLESPACE new_tablespace;
ALTER DATABASE name SET configuration_parameter TO DEFAULT;
ALTER DATABASE name SET configuration_parameter FROM CURRENT;
ALTER DATABASE name RESET configuration_parameter;
ALTER DATABASE name RESET ALL;
ALTER DATABASE name;
-- ALTER DEFAULT PRIVILEGES
ALTER DEFAULT PRIVILEGES
FOR ROLE target_role, target_role2
IN SCHEMA schema_name, schema_name2
GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER
ON TABLES
TO GROUP role_name, PUBLIC WITH GRANT OPTION;
-- ALTER DOMAIN
ALTER DOMAIN name SET DEFAULT expression;
ALTER DOMAIN name DROP DEFAULT;
ALTER DOMAIN name SET NOT NULL;
ALTER DOMAIN name ADD CONSTRAINT constraint_name
CHECK (char_length(VALUE) = 5) NOT VALID;
ALTER DOMAIN name
DROP CONSTRAINT IF EXISTS constraint_name RESTRICT;
ALTER DOMAIN name
RENAME CONSTRAINT constraint_name TO new_constraint_name;
ALTER DOMAIN name
VALIDATE CONSTRAINT constraint_name;
ALTER DOMAIN name
OWNER TO new_owner;
ALTER DOMAIN name
RENAME TO new_name;
ALTER DOMAIN name
SET SCHEMA new_schema;
-- ALTER EVENT TRIGGER
ALTER EVENT TRIGGER name DISABLE;
ALTER EVENT TRIGGER name ENABLE REPLICA;
ALTER EVENT TRIGGER name OWNER TO new_owner;
ALTER EVENT TRIGGER name RENAME TO new_name;
-- ALTER EXTENSION
ALTER EXTENSION name UPDATE TO new_version;
ALTER EXTENSION name SET SCHEMA new_schema;
ALTER EXTENSION name ADD AGGREGATE agg_name (agg_type, agg_type2);
ALTER EXTENSION name DROP CAST (source_type AS target_type);
ALTER EXTENSION name DROP COLLATION object_name;
ALTER EXTENSION name DROP CONVERSION object_name;
ALTER EXTENSION name DROP DOMAIN object_name;
ALTER EXTENSION name DROP EVENT TRIGGER object_name;
ALTER EXTENSION name DROP FOREIGN DATA WRAPPER object_name;
ALTER EXTENSION name DROP FOREIGN TABLE object_name ;
ALTER EXTENSION name DROP FUNCTION function_name ( IN argname int);
ALTER EXTENSION name DROP MATERIALIZED VIEW object_name;
ALTER EXTENSION name DROP OPERATOR > (int, int);
ALTER EXTENSION name DROP OPERATOR CLASS object_name USING index_method;
ALTER EXTENSION name DROP OPERATOR FAMILY object_name USING index_method;
ALTER EXTENSION name DROP PROCEDURAL LANGUAGE object_name;
ALTER EXTENSION name DROP SCHEMA object_name;
ALTER EXTENSION name DROP SEQUENCE object_name;
ALTER EXTENSION name DROP SERVER object_name;
ALTER EXTENSION name DROP TABLE object_name;
ALTER EXTENSION name DROP TEXT SEARCH CONFIGURATION object_name;
ALTER EXTENSION name DROP TEXT SEARCH DICTIONARY object_name;
ALTER EXTENSION name DROP TEXT SEARCH PARSER object_name;
ALTER EXTENSION name DROP TEXT SEARCH TEMPLATE object_name;
ALTER EXTENSION name DROP TYPE object_name;
ALTER EXTENSION name DROP VIEW object_name;
-- ALTER FOREIGN DATA WRAPPER
ALTER FOREIGN DATA WRAPPER name
HANDLER handler_function
VALIDATOR validator_function
OPTIONS (ADD option_1 'value', DROP option_2 'value');
ALTER FOREIGN DATA WRAPPER name OWNER TO new_owner;
ALTER FOREIGN DATA WRAPPER name RENAME TO new_name;
-- ALTER FOREIGN TABLE
ALTER FOREIGN TABLE IF EXISTS name
ADD COLUMN column_name data_type COLLATE collation_name, DROP COLUMN IF EXISTS column_name CASCADE, ALTER COLUMN column_name SET DATA TYPE data_type, OWNER TO new_owner, OPTIONS (ADD option_1 'value', DROP option_2 'value');
ALTER FOREIGN TABLE table_name ALTER column_name DROP DEFAULT;
ALTER FOREIGN TABLE IF EXISTS name
RENAME COLUMN column_name TO new_column_name;
ALTER FOREIGN TABLE IF EXISTS name
RENAME TO new_name;
ALTER FOREIGN TABLE IF EXISTS name
SET SCHEMA new_schema;
-- ALTER FUNCTION
ALTER FUNCTION name (VARIADIC argname argtype)
CALLED ON NULL INPUT RESTRICT;
ALTER FUNCTION name ( INOUT argname argtype, OUT argname argtype)
RENAME TO new_name;
ALTER FUNCTION name (INOUT argname argtype)
OWNER TO new_owner;
ALTER FUNCTION name (IN argname argtype)
SET SCHEMA new_schema;
-- ALTER GROUP
ALTER GROUP group_name ADD USER user_name, user_name1;
ALTER GROUP group_name DROP USER user_name,user_name2;
ALTER GROUP group_name RENAME TO new_name;
-- ALTER INDEX
ALTER INDEX IF EXISTS name RENAME TO new_name;
ALTER INDEX IF EXISTS name SET TABLESPACE tablespace_name;
ALTER INDEX IF EXISTS name SET ( storage_parameter = value2 );
ALTER INDEX IF EXISTS name RESET ( storage_parameter );
ALTER INDEX name ATTACH PARTITION index_name;
ALTER INDEX name NO DEPENDS ON EXTENSION extension_name;
ALTER INDEX IF EXISTS name ALTER COLUMN column_number
SET STATISTICS 5;
ALTER INDEX ALL IN TABLESPACE name OWNED BY role_name,role_name2
SET TABLESPACE new_tablespace NOWAIT;
-- ALTER LANGUAGE
ALTER PROCEDURAL LANGUAGE name RENAME TO new_name;
ALTER LANGUAGE name OWNER TO new_owner;
ALTER LANGUAGE name OWNER TO CURRENT_ROLE;
ALTER LANGUAGE name OWNER TO CURRENT_USER;
ALTER LANGUAGE name OWNER TO SESSION_USER;
-- ALTER LARGE OBJECT
ALTER LARGE OBJECT 32423 OWNER TO new_owner;
-- ALTER MATERIALIZED VIEW
ALTER MATERIALIZED VIEW IF EXISTS name
SET WITHOUT CLUSTER,CLUSTER ON index_name;
ALTER MATERIALIZED VIEW IF EXISTS name
RENAME COLUMN column_name TO new_column_name;
ALTER MATERIALIZED VIEW IF EXISTS name
RENAME TO new_name;
ALTER MATERIALIZED VIEW IF EXISTS name
SET SCHEMA new_schema;
ALTER MATERIALIZED VIEW name SET SCHEMA new_schema;
-- ALTER OPERATOR
ALTER OPERATOR - ( NONE , int ) OWNER TO new_owner;
ALTER OPERATOR = ( integer , NONE ) SET SCHEMA new_schema;
-- 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 OPERATOR CLASS name USING index_method SET SCHEMA new_schema;
ALTER OPERATOR FAMILY name USING index_method ADD
OPERATOR 1 > ( int, int )
FOR SEARCH,
FUNCTION 24 ( int)
function_name( int );
ALTER OPERATOR FAMILY name USING index_method DROP
OPERATOR 32 ( op_typ ),FUNCTION 34 ( op_type);
-- ALTER OPERATOR FAMILY
ALTER OPERATOR FAMILY name USING index_method ADD
OPERATOR 4 > ( int, integer ) FOR SEARCH,
FUNCTION 3 ( int, int) function_name ( numeric );
ALTER OPERATOR FAMILY name USING index_method DROP
OPERATOR 4 ( op_type, op_type ),
FUNCTION 4 ( op_type, op_type );
ALTER OPERATOR FAMILY name USING index_method RENAME TO new_name;
ALTER OPERATOR FAMILY name USING index_method OWNER TO new_owner;
ALTER OPERATOR FAMILY name USING index_method SET SCHEMA new_schema;
-- ALTER POLICY
ALTER POLICY name ON table_name RENAME TO new_name;
ALTER POLICY name ON table_name
TO role_name, PUBLIC, CURRENT_ROLE, CURRENT_USER, SESSION_USER
USING ( using_expression )
WITH CHECK ( check_expression );
-- ALTER PROCEDURE
ALTER PROCEDURE name ( IN argname integer, IN argname int)
RESET ALL RESTRICT;
ALTER PROCEDURE name ( IN argname integer )
RENAME TO new_name;
ALTER PROCEDURE name ( IN argname integer)
OWNER TO CURRENT_ROLE;
ALTER PROCEDURE name ( IN argname integer)
SET SCHEMA new_schema;
ALTER PROCEDURE name ( IN argname integer)
NO DEPENDS ON EXTENSION extension_name;
-- ALTER PUBLICATION
ALTER PUBLICATION name ADD TABLE ONLY table_name * ( column_name,column_name2) WHERE ( expression>3 );
ALTER PUBLICATION name SET TABLE ONLY table_name * ( column_name,column_name2) WHERE ( expression ), TABLE ONLY table_name * ( column_name,column_name2) WHERE ( expression );
ALTER PUBLICATION name DROP TABLE ONLY table_name * ( column_name,column_name2) WHERE ( expression );
ALTER PUBLICATION name SET ( publication_parameter = value, parameters2 )
ALTER PUBLICATION name OWNER TO CURRENT_ROLE;
ALTER PUBLICATION name RENAME TO new_name;
-- ALTER ROLE
ALTER ROLE name WITH SUPERUSER CREATEDB CREATEROLE VALID UNTIL 'timestamp';
ALTER ROLE name RENAME TO new_name;
ALTER ROLE ALL IN DATABASE database_name SET configuration_parameter = DEFAULT;
ALTER ROLE name IN DATABASE database_name SET configuration_parameter FROM CURRENT;
ALTER ROLE ALL IN DATABASE database_name RESET configuration_parameter;
ALTER ROLE name IN DATABASE database_name RESET ALL;
-- ALTER ROUTINE
ALTER ROUTINE name ( IN argname integer)
COST execution_cost RESTRICT;
ALTER ROUTINE name
COST execution_cost IMMUTABLE LEAKPROOF SECURITY INVOKER ROWS result_rows SET configuration_parameter TO DEFAULT SET configuration_parameter FROM CURRENT RESET configuration_parameter RESET ALL;
ALTER ROUTINE name ( IN argname integer)
RENAME TO new_name;
ALTER ROUTINE name ( IN argname integer)
OWNER TO CURRENT_ROLE;
ALTER ROUTINE name ( IN argname integer)
SET SCHEMA new_schema;
ALTER ROUTINE name ( IN argname integer)
NO DEPENDS ON EXTENSION extension_name;
-- ALTER RULE
ALTER RULE name ON table_name RENAME TO new_name;
-- ALTER SCHEMA
ALTER SCHEMA name RENAME TO new_name;
ALTER SCHEMA name OWNER TO new_owner;
-- ALTER SEQUENCE
ALTER SEQUENCE IF EXISTS name INCREMENT BY 324
MINVALUE 34 MAXVALUE 66
START WITH 12 RESTART WITH 34
RESTART WITH restart
CACHE 324 NO CYCLE
OWNED BY table_name.column_name;
ALTER SEQUENCE name OWNER TO new_owner;
ALTER SEQUENCE IF EXISTS name RENAME TO new_name;
ALTER SEQUENCE name SET SCHEMA new_schema;
-- ALTER SERVER
ALTER SERVER name VERSION 'new_version' OPTIONS ( ADD option 'value', SET option 'value', DROP option 'value');
ALTER SERVER name OWNER TO new_owner;
ALTER SERVER name RENAME TO new_name;
-- ALTER STATISTICS
ALTER STATISTICS name OWNER TO CURRENT_ROLE;
ALTER STATISTICS name OWNER TO CURRENT_USER;
ALTER STATISTICS name OWNER TO SESSION_USER;
ALTER STATISTICS name RENAME TO new_name;
ALTER STATISTICS name SET SCHEMA new_schema;
ALTER STATISTICS name SET STATISTICS 23;
-- ALTER SUBSCRIPTION
ALTER SUBSCRIPTION name CONNECTION 'conninfo';
ALTER SUBSCRIPTION name SET PUBLICATION publication_name,publication_name1 WITH ( publication_option = value) ;
ALTER SUBSCRIPTION name ADD PUBLICATION publication_name WITH ( publication_option );
ALTER SUBSCRIPTION name DROP PUBLICATION publication_name WITH ( publication_option);
ALTER SUBSCRIPTION name REFRESH PUBLICATION WITH ( refresh_option = value);
ALTER SUBSCRIPTION name ENABLE;
ALTER SUBSCRIPTION name DISABLE;
ALTER SUBSCRIPTION name SET ( subscription_parameter = value);
ALTER SUBSCRIPTION name SKIP ( skip_option = value );
ALTER SUBSCRIPTION name OWNER TO CURRENT_ROLE;
ALTER SUBSCRIPTION name RENAME TO new_name;
-- ALTER SYSTEM
ALTER SYSTEM SET configuration_parameter TO DEFAULT;
ALTER SYSTEM RESET configuration_parameter;
ALTER SYSTEM RESET ALL;
-- ALTER TABLE
ALTER TABLE IF EXISTS ONLY name *
ALTER COLUMN column_name SET DEFAULT expression, DISABLE RULE rewrite_rule_name, ADD CONSTRAINT constraint_name
UNIQUE USING INDEX index_name DEFERRABLE INITIALLY DEFERRED;
ALTER TABLE name
RENAME COLUMN column_name TO new_column_name;
ALTER TABLE IF EXISTS ONLY name *
RENAME CONSTRAINT constraint_name TO new_constraint_name;
ALTER TABLE IF EXISTS name
RENAME TO new_name;
ALTER TABLE name
SET SCHEMA new_schema;
ALTER TABLE ALL IN TABLESPACE name OWNED BY role_name,role_name2
SET TABLESPACE new_tablespace NOWAIT;
ALTER TABLE IF EXISTS name
ATTACH PARTITION partition_name FOR VALUES FROM (MINVALUE, x>3) TO (MAXVALUE,MAXVALUE);
ALTER TABLE orders
ATTACH PARTITION orders_p4 FOR VALUES WITH (MODULUS 4, REMAINDER 4);
ALTER TABLE IF EXISTS name
DETACH PARTITION partition_name CONCURRENTLY;
-- ALTER TABLESPACE
ALTER TABLESPACE name RENAME TO new_name;
ALTER TABLESPACE name OWNER TO new_owner;
ALTER TABLESPACE name SET ( tablespace_option = value, tablespace_option = value2 );
ALTER TABLESPACE name RESET ( tablespace_option, tablespace_option2 );
-- ALTER TEXT SEARCH CONFIGURATION
ALTER TEXT SEARCH CONFIGURATION name
ADD MAPPING FOR token_type, token_type2 WITH dictionary_name, dictionary_name2;
ALTER TEXT SEARCH CONFIGURATION name
ALTER MAPPING FOR token_type, token_type2 WITH dictionary_name, dictionary_name2;
ALTER TEXT SEARCH CONFIGURATION name
ALTER MAPPING REPLACE old_dictionary WITH new_dictionary;
ALTER TEXT SEARCH CONFIGURATION name
ALTER MAPPING FOR token_type REPLACE old_dictionary WITH new_dictionary;
ALTER TEXT SEARCH CONFIGURATION name
DROP MAPPING IF EXISTS FOR token_type;
ALTER TEXT SEARCH CONFIGURATION name RENAME TO new_name;
ALTER TEXT SEARCH CONFIGURATION name OWNER TO new_owner;
ALTER TEXT SEARCH CONFIGURATION name SET SCHEMA new_schema;
-- ALTER TEXT SEARCH DICTIONARY
ALTER TEXT SEARCH DICTIONARY name (
option_1 = value1, option_2
);
ALTER TEXT SEARCH DICTIONARY name RENAME TO new_name;
ALTER TEXT SEARCH DICTIONARY name OWNER TO new_owner;
ALTER TEXT SEARCH DICTIONARY name SET SCHEMA new_schema;
-- ALTER TEXT SEARCH PARSER
ALTER TEXT SEARCH PARSER name RENAME TO new_name;
ALTER TEXT SEARCH PARSER name SET SCHEMA new_schema;
-- ALTER TEXT SEARCH TEMPLATE
ALTER TEXT SEARCH TEMPLATE name RENAME TO new_name;
ALTER TEXT SEARCH TEMPLATE name SET SCHEMA new_schema;
-- ALTER TRIGGER
ALTER TRIGGER name ON table_name RENAME TO new_name;
-- ALTER TYPE
ALTER TYPE name ADD ATTRIBUTE attribute_name data_type COLLATE collation_name CASCADE;
ALTER TYPE name OWNER TO new_owner;
ALTER TYPE name RENAME ATTRIBUTE attribute_name TO new_attribute_name RESTRICT;
ALTER TYPE name RENAME TO new_name;
ALTER TYPE name SET SCHEMA new_schema;
ALTER TYPE name ADD VALUE IF NOT EXISTS 'new_enum_value' BEFORE 'existing_enum_value';
-- ALTER USER
ALTER USER name WITH NOSUPERUSER NOCREATEDB NOCREATEROLE NOCREATEUSER NOINHERIT NOLOGIN NOREPLICATION CONNECTION LIMIT 23 PASSWORD 'password' VALID UNTIL 'timestamp';
ALTER USER name;
-- ALTER USER MAPPING
ALTER USER MAPPING FOR CURRENT_USER
SERVER server_name
OPTIONS (ADD option 'value', SET option 'value', DROP option 'value');
-- ALTER VIEW
ALTER VIEW name ALTER COLUMN column_name SET DEFAULT expression;
ALTER VIEW IF EXISTS name ALTER column_name DROP DEFAULT;
ALTER VIEW name OWNER TO new_owner;
ALTER VIEW IF EXISTS name RENAME TO new_name;
ALTER VIEW name SET SCHEMA new_schema;
ALTER VIEW IF EXISTS name SET ( view_option_name = view_option_value, view_option_name2 = view_option_value2);
ALTER VIEW name RESET ( view_option_name, view_option_name );

View File

@ -0,0 +1,637 @@
-- Creating a New Table
-- index_method: btree, hash, gist, spgist and gin
-- The Most Complicated
CREATE GLOBAL TEMPORARY TABLE IF NOT EXISTS table1 (col1 int COLLATE collation1 CONSTRAINT constraint_name NOT NULL DEFERRABLE) INHERITS (table_parent) WITH (storage_parameter = 1) ON COMMIT PRESERVE ROWS TABLESPACE tablespace_name;
CREATE LOCAL TEMP TABLE table1 (col1 int CONSTRAINT constraint_name NULL NOT DEFERRABLE, col2 text CHECK (age > 5) NOT DEFERRABLE INITIALLY DEFERRED, LIKE source_table INCLUDING DEFAULTS) INHERITS (table_parent) WITH OIDS TABLESPACE tablespace_name;
CREATE LOCAL TEMP TABLE table1 (col1 int) INHERITS (table_parent) WITH OIDS ON COMMIT DELETE ROWS;
CREATE UNLOGGED TABLE table1 (col1 int) INHERITS (table_parent) WITHOUT OIDS ON COMMIT DROP;
CREATE TABLE table_name1 OF type_name (col1 WITH OPTIONS CONSTRAINT constraint_name NOT NULL, col2 WITH OPTIONS CONSTRAINT constraint_name CHECK (age > 5) NOT DEFERRABLE INITIALLY DEFERRED);
CREATE TABLE table_name1 OF type_name (col1 WITH OPTIONS CONSTRAINT constraint_name NOT NULL, EXCLUDE USING hash (c WITH &&+) WITH (storage_parameter=3) USING INDEX TABLESPACE tablespace_name WHERE (predicate1=123) NOT DEFERRABLE INITIALLY DEFERRED);
CREATE TABLE weather (
city varchar(80),
temp_lo int,
-- low temperature
temp_hi int,
-- high temperature
prcp real,
-- precipitation
date date
);
CREATE TABLE cities (
name varchar(80),
location point
);
-- remove it
DROP TABLE weather;
-- operate view
CREATE VIEW myview AS
SELECT
city,
temp_lo,
temp_hi,
prcp,
date,
location
FROM
weather,
cities
WHERE
city = name;
-- Foreign Keys
CREATE TABLE cities (
city varchar(80) primary key,
location point
);
CREATE TABLE weather (
city varchar(80) references cities(city),
temp_lo int,
temp_hi int,
prcp real,
date date
);
-- Schemas
-- Creating a Schema
CREATE SCHEMA myschema;
CREATE SCHEMA database1.schema1.table1;
CREATE SCHEMA schemaname AUTHORIZATION username;
-- The Public Schema
CREATE TABLE public7.products(col1 int);
-- Inheritance
CREATE TABLE capitals (
state char(2)
) INHERITS (cities);
-- Partitioning Implementing Partitioning
CREATE TABLE measurement_y2006m02 (
CHECK ( logdate >= DATE '2006-02-01' AND logdate < DATE '2006-03-01' )
) INHERITS (measurement);
CREATE TRIGGER insert_measurement_trigger
BEFORE INSERT ON measurement
FOR EACH ROW EXECUTE PROCEDURE measurement_insert_trigger();
CREATE TABLE measurement (
city_id int not null,
logdate date not null,
peaktemp int,
unitsales int
);
CREATE VIEW measurement AS
SELECT * FROM measurement_y2006m02
UNION ALL SELECT * FROM measurement_y2006m03;
-- create Function
CREATE FUNCTION get_color_note (rainbow) RETURNS text AS
'SELECT note FROM my_colors WHERE color = $1'
LANGUAGE SQL;
-- Data types
CREATE TABLE products (
product_no integer,
price numeric,
col4 smallint,
col5 int,
col6 bigint,
col7 decimal,
col8 smallserial,
col9 serial,
col10 bigserial,
col11 real
);
-- Character Types
CREATE TABLE test1 (
name text,
a character(4),
b character varying(4),
c varchar(4)
);
-- Enumerated Types
CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');
-- Bit String Types
CREATE TABLE test (a BIT(3), b BIT VARYING(5));
-- Arrays
CREATE TABLE sal_emp (
name text,
pay_by_quarter integer[],
schedule text[][]
);
-- Composite Types
CREATE TYPE inventory_item AS (
name text,
supplier_id integer,
price numeric
);
CREATE TABLE on_hand (
item inventory_item,
count integer
);
-- Ranger Types
CREATE TYPE floatrange AS RANGE (
subtype = float8,
subtype_diff = float8mi
);
-- CREATE ACCESS METHOD
CREATE ACCESS METHOD name
TYPE TABLE
HANDLER handler_function;
-- CREATE AGGREGATE
CREATE AGGREGATE agg_name1 ( int, integer) (
SFUNC = sfunc,
STYPE = state_data_type,
FINALFUNC = ffunc,
INITCOND = initial_condition,
SORTOP = sort_operator
);
CREATE AGGREGATE agg_name2 ( int, integer) (
SFUNC = sfunc,
STYPE = state_data_type
);
CREATE AGGREGATE agg_name3 (
BASETYPE = base_type,
SFUNC = sfunc,
STYPE = state_data_type,
FINALFUNC = ffunc,
INITCOND = initial_condition,
SORTOP = sort_operator
);
CREATE AGGREGATE agg_name4 (
BASETYPE = base_type,
SFUNC = sfunc,
STYPE = state_data_type
);
-- CREATE CAST
CREATE CAST (source_type1 AS target_type1)
WITH FUNCTION function_name1 (argument_type1,argument_type2)
AS ASSIGNMENT;
CREATE CAST (source_type1 AS target_type1)
WITH FUNCTION function_name1 (argument_type1);
CREATE CAST (source_type2 AS target_type2)
WITHOUT FUNCTION
AS IMPLICIT;
CREATE CAST (source_type2 AS target_type2)
WITHOUT FUNCTION;
CREATE CAST (source_type3 AS target_type3)
WITH INOUT
AS ASSIGNMENT;
CREATE CAST (source_type3 AS target_type3)
WITH INOUT;
-- CREATE COLLATION
CREATE COLLATION coll_name (
LOCALE = locale,
LC_COLLATE = lc_collate,
LC_CTYPE = lc_ctype,
PROVIDER = provider,
DETERMINISTIC = boolean,
RULES = rules,
VERSION = version
);
CREATE COLLATION coll_name FROM existing_collation;
-- CREATE CONVERSION
CREATE DEFAULT CONVERSION conver_name
FOR 'source_encoding' TO 'dest_encoding' FROM function_name;
CREATE CONVERSION conver_name1
FOR 'source_encoding' TO 'dest_encoding' FROM function_name;
-- CREATE DATABASE
CREATE DATABASE name1
WITH
OWNER = user_name
TEMPLATE = template
ENCODING = encoding
STRATEGY = strategy
LOCALE = locale
LC_COLLATE = lc_collate
LC_CTYPE = lc_ctype
ICU_LOCALE = icu_locale
ICU_RULES = icu_rules
LOCALE_PROVIDER = locale_provider
COLLATION_VERSION = collation_version
TABLESPACE = tablespace_name
ALLOW_CONNECTIONS = allowconn
CONNECTION LIMIT = connlimit
IS_TEMPLATE = istemplate
OID = oid;
CREATE DATABASE name2;
-- CREATE DOMAIN
CREATE DOMAIN domain_name AS data_type
COLLATE col
DEFAULT expr
CONSTRAINT constraint_name NOT NULL
NULL
CHECK(
VALUE ~ '^\d{5}$'
OR VALUE ~ '^\d{5}-\d{4}$'
);
CREATE DOMAIN domain_name my_type;
-- CREATE EVENT TRIGGER
CREATE EVENT TRIGGER trigger_name
ON event_name
WHEN TAG IN ('filter_value1', 'filter_value2') AND filter_variable IN ('filter_value1', 'filter_value2')
EXECUTE PROCEDURE function_name();
CREATE EVENT TRIGGER trigger_name
ON event_name
EXECUTE PROCEDURE function_name();
-- CREATE EXTENSION
CREATE EXTENSION IF NOT EXISTS extension_name
WITH SCHEMA schema_name
VERSION version
FROM old_version;
CREATE EXTENSION extension_name1;
-- CREATE FOREIGN DATA WRAPPER
CREATE FOREIGN DATA WRAPPER name1
HANDLER handler_function
VALIDATOR validator_function
OPTIONS ( option_name 'value', option_name1 'value2');
CREATE FOREIGN DATA WRAPPER name2
NO HANDLER
NO VALIDATOR
OPTIONS ( option_name 'value');
CREATE FOREIGN DATA WRAPPER name3;
-- CREATE FOREIGN TABLE
CREATE FOREIGN TABLE IF NOT EXISTS table_name (column_name varchar(10) OPTIONS ( option_name1 'value', option_name2 'values') COLLATE coll_name CONSTRAINT constraint_name NOT NULL)
SERVER server_name
OPTIONS ( option_name1 'value', option_name2 'value3');
CREATE FOREIGN TABLE films (
code char(5) NOT NULL,
title varchar(40) NOT NULL,
did integer NOT NULL,
date_prod date,
kind varchar(10),
len interval hour to minute
)
SERVER film_server;
-- CREATE FUNCTION
CREATE OR REPLACE FUNCTION
name ( INOUT argname int DEFAULT a>3)
RETURNS integer
AS 'obj_file'
WITH (isStrict, isCachable);
-- CREATE GROUP
CREATE GROUP group_name WITH SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB
CREATEROLE NOCREATEROLE
INHERIT NOINHERIT
LOGIN NOLOGIN
REPLICATION NOREPLICATION
BYPASSRLS NOBYPASSRLS
CONNECTION LIMIT 234
ENCRYPTED PASSWORD 'password'
VALID UNTIL '2023-09-23'
IN ROLE role_name, role_name1
IN GROUP role_name
ROLE role_name
ADMIN role_name
USER role_name
SYSID 757;
CREATE GROUP group_name WITH ENCRYPTED PASSWORD 'password';
CREATE GROUP group_name;
-- CREATE INDEX
CREATE UNIQUE INDEX CONCURRENTLY index_name ON table_name USING btree
((a > 4) COLLATE collation_name ASC NULLS LAST )
INCLUDE (column_name1, clou_2)
NULLS NOT DISTINCT
WITH ( storage_parameter = 1)
TABLESPACE tablespace_name
WHERE (y > 4);
CREATE INDEX ON table_name (col1);
-- CREATE LANGUAGE
CREATE OR REPLACE TRUSTED PROCEDURAL LANGUAGE lan_name1
HANDLER call_handler INLINE inline_handler VALIDATOR valfunction;
CREATE LANGUAGE name;
CREATE LANGUAGE name HANDLER call_handler;
-- CREATE MATERIALIZED VIEW
CREATE MATERIALIZED VIEW table_name
(column_name, column_name2)
WITH ( storage_parameter=3, storage_parameter1=4)
TABLESPACE tablespace_name
AS SELECT * FROM product
WITH NO DATA;
CREATE MATERIALIZED VIEW table_name2 AS SELECT * FROM product;
-- CREATE OPERATOR
CREATE OPERATOR - (
PROCEDURE = function_name,
LEFTARG = left_type,
RIGHTARG = right_type,
COMMUTATOR = com_op,
NEGATOR = neg_op,
RESTRICT = res_proc,
JOIN = join_proc,
HASHES,
MERGES
);
CREATE OPERATOR == (
PROCEDURE = function_name
);
-- CREATE OPERATOR CLASS
CREATE OPERATOR CLASS op_class_name DEFAULT FOR TYPE type4
USING index_method FAMILY family_name AS
OPERATOR 2 = (arraytype, arraytype1) FOR ORDER BY sort_family_name,
FUNCTION 4 (op_type1, op_type2 ) function_name ( argument_type, argument_type2 ),
STORAGE storage_type;
CREATE OPERATOR CLASS gist__int_ops
FOR TYPE _int4 USING gist AS
OPERATOR 3 &&;
-- CREATE OPERATOR FAMILY
CREATE OPERATOR FAMILY name USING index_method;
-- CREATE POLICY
CREATE POLICY name ON table_name
AS PERMISSIVE
FOR INSERT
TO PUBLIC
USING ( using_expression )
WITH CHECK ( check_expression );
CREATE POLICY name ON table_name;
-- CREATE PROCEDURE
CREATE OR REPLACE PROCEDURE
name ( IN argname int DEFAULT default_expr)
LANGUAGE lang_name
TRANSFORM FOR TYPE type_name
EXTERNAL SECURITY INVOKER
EXTERNAL SECURITY DEFINER
SET configuration_parameter FROM CURRENT
AS 'definition'
AS 'obj_file', 'link_symbol'
sql_body;
-- CREATE PUBLICATION
CREATE PUBLICATION name
FOR ALL TABLES
WITH ( publication_parameter = value);
CREATE PUBLICATION name;
-- CREATE ROLE
CREATE ROLE name WITH SUPERUSER CREATEDB CREATEROLE
CREATEUSER
INHERIT
LOGIN
REPLICATION
CONNECTION LIMIT 234
ENCRYPTED PASSWORD 'password'
VALID UNTIL '2013-09-20'
IN ROLE role_name, role_name2
IN GROUP role_name2, role_name3
ROLE role_name3, role_name4
ADMIN role_name4, role_name5
USER role_name5, role_name6
SYSID 234;
-- CREATE RULE
CREATE OR REPLACE RULE name AS ON SELECT
TO table_name WHERE y=3
DO INSTEAD NOTHING;
CREATE OR REPLACE RULE name AS ON SELECT
TO table_name WHERE y=3
DO ALSO (SELECT bb FROM prod);
CREATE RULE rule_name AS ON UPDATE TO table_name DO NOTHING;
-- CREATE SCHEMA
CREATE SCHEMA schema_name AUTHORIZATION user_name CREATE TABLE films (title text, release date, awards text[]) CREATE VIEW winners AS
SELECT title, release FROM films WHERE awards IS NOT NULL;
CREATE SCHEMA AUTHORIZATION user_name CREATE TABLE films (title text, release date, awards text[]);
CREATE SCHEMA IF NOT EXISTS schema_name AUTHORIZATION user_name;
CREATE SCHEMA IF NOT EXISTS AUTHORIZATION user_name;
-- CREATE SEQUENCE
CREATE TEMPORARY SEQUENCE squen_name INCREMENT BY 2432 MINVALUE 45 MAXVALUE 12
START WITH 4654 CACHE 1232 NO CYCLE
OWNED BY table_name.column_name;
CREATE SEQUENCE squen_name;
-- CREATE SERVER
CREATE SERVER server_name TYPE 'server_type' VERSION 'server_version'
FOREIGN DATA WRAPPER fdw_name
OPTIONS ( option 'value', option 'value3');
CREATE SERVER server_name FOREIGN DATA WRAPPER fdw_name;
-- CREATE STATISTICS
CREATE STATISTICS IF NOT EXISTS statistics_name
ON ( expression )
FROM table_name;
CREATE STATISTICS IF NOT EXISTS statistics_name
( statistics_kind )
ON column_name, ( expression )
FROM table_name;
CREATE STATISTICS ON column_name, column_name FROM table_name;
-- CREATE SUBSCRIPTION
CREATE SUBSCRIPTION subscription_name
CONNECTION 'conninfo'
PUBLICATION publication_name, publication_name1
WITH ( subscription_parameter = value, subscription_parameter = value);
CREATE SUBSCRIPTION subscription_name
CONNECTION 'conninfo'
PUBLICATION publication_name;
-- CREATE TABLE
CREATE UNLOGGED TABLE IF NOT EXISTS table_name (
column_name int STORAGE PLAIN COMPRESSION compression_method COLLATE collation_name NOT NULL,
CONSTRAINT constraint_name
CHECK ( expression>3 ) NO INHERIT ,
LIKE source_table
)
INHERITS ( parent_table, parent_table)
PARTITION BY RANGE ( column_name COLLATE collation_name opclass)
USING method
WITH ( storage_parameter = value)
ON COMMIT PRESERVE ROWS
TABLESPACE tablespace_name;
CREATE TABLE table_name (column_name int);
CREATE GLOBAL TEMPORARY TABLE table_name
OF int ( column_name WITH OPTIONS GENERATED ALWAYS AS ( generation_expr ) STORED
)
PARTITION BY HASH ( ( expression>3 ) COLLATE collation_name opclass)
USING method
WITH ( storage_parameter = value )
ON COMMIT PRESERVE ROWS
TABLESPACE tablespace_name;
CREATE TABLE table_name OF type_name;
CREATE TABLE table_name
PARTITION OF parent_table (
column_name WITH OPTIONS NOT NULL
NULL
CHECK ( expression ) NO INHERIT
DEFAULT default_expr
GENERATED ALWAYS AS ( generation_expr ) STORED
GENERATED BY DEFAULT AS IDENTITY ( AS data_type )
UNIQUE NULLS NOT DISTINCT INCLUDE ( column_name )
PRIMARY KEY WITH ( storage_parameter = value )
REFERENCES reftable ( refcolumn ) MATCH FULL
ON DELETE NO ACTION ON UPDATE RESTRICT
DEFERRABLE INITIALLY DEFERRED
) FOR VALUES FROM (MINVALUE, x>3) TO (MAXVALUE,MAXVALUE);
-- CREATE TABLE AS
CREATE GLOBAL TEMPORARY TABLE table_name
(column_name, column_name2)
WITH ( storage_parameter = 4)
ON COMMIT PRESERVE ROWS
TABLESPACE tablespace_name
AS SELECT * FROM ad
WITH NO DATA;
CREATE TABLE table_name AS SELECT * FROM ad;
-- CREATE TABLESPACE
CREATE TABLESPACE tablespace_name OWNER user_name LOCATION 'directory';
CREATE TABLESPACE tablespace_name LOCATION 'directory';
-- CREATE TEXT SEARCH CONFIGURATION
CREATE TEXT SEARCH CONFIGURATION name (
PARSER = parser_name
);
CREATE TEXT SEARCH CONFIGURATION name (
COPY = source_config
);
-- CREATE TEXT SEARCH DICTIONARY
CREATE TEXT SEARCH DICTIONARY name (
TEMPLATE = template
);
-- CREATE TEXT SEARCH PARSER
CREATE TEXT SEARCH PARSER name (
START = start_function ,
GETTOKEN = gettoken_function ,
END = end_function ,
LEXTYPES = lextypes_function,
HEADLINE = headline_function
);
CREATE TEXT SEARCH PARSER name (
START = start_function ,
GETTOKEN = gettoken_function ,
END = end_function ,
LEXTYPES = lextypes_function
);
-- CREATE TEXT SEARCH TEMPLATE
CREATE TEXT SEARCH TEMPLATE name (
INIT = init_function,
LEXIZE = lexize_function
);
CREATE TEXT SEARCH TEMPLATE name (
LEXIZE = lexize_function
);
-- CREATE TRANSFORM
CREATE OR REPLACE TRANSFORM FOR type_name LANGUAGE lang_name (
FROM SQL WITH FUNCTION from_sql_function_name (argument_type),
TO SQL WITH FUNCTION to_sql_function_name (argument_type )
);
-- CREATE TRIGGER
CREATE OR REPLACE CONSTRAINT TRIGGER trig_name INSTEAD OF INSERT OR UPDATE
ON table_name
FROM referenced_table_name
DEFERRABLE INITIALLY IMMEDIATE
FOR EACH STATEMENT
WHEN (OLD.balance IS DISTINCT FROM NEW.balance)
EXECUTE PROCEDURE function_name ();
-- CREATE TYPE
CREATE TYPE name AS
(attribute_name int COLLATE collation_name, attribute_name integer COLLATE collation_name);
CREATE TYPE name AS ENUM
('label', 'name');
CREATE TYPE name AS RANGE (
SUBTYPE = subtype,
SUBTYPE_OPCLASS = subtype_operator_class,
COLLATION = collation,
CANONICAL = canonical_function,
SUBTYPE_DIFF = subtype_diff_function
);
CREATE TYPE name (
INPUT = input_function,
OUTPUT = output_function,
RECEIVE = receive_function,
SEND = send_function,
TYPMOD_IN = type_modifier_input_function,
TYPMOD_OUT = type_modifier_output_function,
ANALYZE = analyze_function,
INTERNALLENGTH = 13,
PASSEDBYVALUE,
ALIGNMENT = alignment,
STORAGE = storage,
LIKE = like_type,
CATEGORY = category,
PREFERRED = preferred,
DEFAULT = default_value,
ELEMENT = float4,
DELIMITER = delimiter,
COLLATABLE = collatable
);
CREATE TYPE name;
-- CREATE USER
CREATE USER name WITH NOSUPERUSER NOCREATEDB NOCREATEROLE
NOCREATEUSER
NOINHERIT
NOLOGIN
NOREPLICATION
CONNECTION LIMIT 234
UNENCRYPTED PASSWORD 'password'
VALID UNTIL '2013-09-20'
IN ROLE role_name, role_name2
IN GROUP role_name2, role_name3
ROLE role_name3, role_name4
ADMIN role_name4, role_name5
USER role_name5, role_name6
SYSID 234;
-- CREATE USER MAPPING
CREATE USER MAPPING FOR CURRENT_USER
SERVER server_name
OPTIONS ( option 'value');
CREATE USER MAPPING FOR PUBLIC
SERVER server_name;
-- CREATE VIEW
CREATE OR REPLACE TEMP RECURSIVE VIEW name ( column_name, column_name2)
WITH ( view_option_name = 2321, view_option_name2='ewfwe')
AS SELECT * FROM my_view;
CREATE VIEW view_name AS SELECT * FROM my_view;

View File

@ -0,0 +1,13 @@
DELETE FROM weather WHERE city = 'Hayward';
DELETE FROM products
WHERE obsoletion_date = 'today'
RETURNING ab AS abc_name;
WITH RECURSIVE a AS (SELECT * from bt )
DELETE FROM ONLY table_name * AS alias
USING using_list
WHERE y > 4
RETURNING *;
DELETE FROM table_name;

View File

@ -0,0 +1,177 @@
-- Drop Table
DROP TABLE IF EXISTS table1, table2 RESTRICT;
DROP TABLE products CASCADE;
DROP TABLE products1;
-- DROP ACCESS METHOD
DROP ACCESS METHOD IF EXISTS name CASCADE;
DROP ACCESS METHOD name;
-- DROP AGGREGATE
DROP AGGREGATE IF EXISTS aggname1(int, integer), aggname2(IN argname integer) CASCADE;
DROP AGGREGATE aggname2(int);
-- DROP CAST
DROP CAST IF EXISTS (integer AS int) RESTRICT;
DROP CAST (int AS integer);
-- DROP COLLATION
DROP COLLATION IF EXISTS collation_name CASCADE;
DROP COLLATION collation_name1;
-- DROP CONVERSION
DROP CONVERSION IF EXISTS conver_name RESTRICT;
DROP CONVERSION conver_name1;
-- DROP DATABASE
DROP DATABASE IF EXISTS db_name WITH (FORCE);
DROP DATABASE db_name;
-- DROP DOMAIN
DROP DOMAIN IF EXISTS domain_name1, domain_name2 CASCADE;
DROP DOMAIN domain_name3;
-- DROP EVENT TRIGGER
DROP EVENT TRIGGER IF EXISTS trigger_name RESTRICT;
DROP EVENT TRIGGER trigger_name1;
-- DROP EXTENSION
DROP EXTENSION IF EXISTS extension_name1, extension_name2 CASCADE;
DROP EXTENSION extension_name3;
-- DROP FOREIGN DATA WRAPPER
DROP FOREIGN DATA WRAPPER IF EXISTS foreigndata_name RESTRICT;
DROP FOREIGN DATA WRAPPER foreigndata_name2;
-- DROP FOREIGN TABLE
DROP FOREIGN TABLE IF EXISTS foreigntable_name1, foreigntable_name2 CASCADE;
DROP FOREIGN TABLE foreigntable_name3;
-- DROP FUNCTION
DROP FUNCTION IF EXISTS function_name (IN argname integer) RESTRICT;
DROP FUNCTION function_name (integer);
-- DROP GROUP
DROP GROUP IF EXISTS group_name1, group_name2;
DROP GROUP group_name3;
-- DROP INDEX
DROP INDEX CONCURRENTLY IF EXISTS index_name1, index_name2 CASCADE;
DROP INDEX index_name3;
-- DROP LANGUAGE
DROP PROCEDURAL LANGUAGE IF EXISTS lan_name RESTRICT;
DROP LANGUAGE lan_name1;
-- DROP MATERIALIZED VIEW
DROP MATERIALIZED VIEW IF EXISTS view_name1, view_name2 CASCADE;
DROP MATERIALIZED VIEW view_name3;
-- DROP OPERATOR
DROP OPERATOR IF EXISTS ! ( NONE , int ) RESTRICT;
DROP OPERATOR - (int, int);
DROP OPERATOR ^ (int, int);
-- DROP OPERATOR CLASS
DROP OPERATOR CLASS IF EXISTS classs_name USING btree CASCADE;
DROP OPERATOR CLASS classs_name USING index_method;
-- DROP OPERATOR FAMILY
DROP OPERATOR FAMILY IF EXISTS family_name USING index_method RESTRICT;
DROP OPERATOR FAMILY family_name1 USING index_method;
-- DROP OWNED
DROP OWNED BY owner_name1, CURRENT_ROLE CASCADE;
DROP OWNED BY CURRENT_USER;
-- DROP POLICY
DROP POLICY IF EXISTS name ON table_name RESTRICT;
DROP POLICY name1 ON table_name1;
-- DROP PROCEDURE
DROP PROCEDURE IF EXISTS name( IN argname int, OUT argname integer), name1( OUT argname int, OUT argname int) CASCADE;
DROP PROCEDURE name1;
-- DROP PUBLICATION
DROP PUBLICATION IF EXISTS name CASCADE;
DROP PUBLICATION name;
-- DROP ROLE
DROP ROLE IF EXISTS role_name1, role_name2;
DROP ROLE role_name3;
-- DROP ROUTINE
DROP ROUTINE IF EXISTS name (IN argname int, OUT argname integer),name1( OUT argname int, OUT argname int) RESTRICT;
DROP ROUTINE name1;
-- DROP RULE
DROP RULE IF EXISTS rule_name ON table_name CASCADE;
DROP RULE rule_name1 ON table_name1;
-- DROP SCHEMA
DROP SCHEMA IF EXISTS schema_name1, schema_name2 RESTRICT;
DROP SCHEMA myschema;
-- DROP SEQUENCE
DROP SEQUENCE IF EXISTS con_name1, con_name2 CASCADE;
DROP SEQUENCE con_name3;
-- DROP SERVER
DROP SERVER IF EXISTS server_name RESTRICT;
DROP SERVER server_name1;
-- DROP STATISTICS
DROP STATISTICS IF EXISTS name, name1 CASCADE;
DROP STATISTICS name1;
-- DROP SUBSCRIPTION
DROP SUBSCRIPTION IF EXISTS name RESTRICT;
DROP SUBSCRIPTION name1;
-- DROP TABLESPACE
DROP TABLESPACE IF EXISTS tbspace_name1;
DROP TABLESPACE tbspace_name2;
-- DROP TEXT SEARCH CONFIGURATION
DROP TEXT SEARCH CONFIGURATION IF EXISTS text_name CASCADE;
DROP TEXT SEARCH CONFIGURATION text_name1;
-- DROP TEXT SEARCH DICTIONARY
DROP TEXT SEARCH DICTIONARY IF EXISTS dic_name1 RESTRICT;
DROP TEXT SEARCH DICTIONARY dic_name2;
-- DROP TEXT SEARCH PARSER
DROP TEXT SEARCH PARSER IF EXISTS parser_name1 CASCADE;
DROP TEXT SEARCH PARSER parser_name2;
-- DROP TEXT SEARCH TEMPLATE
DROP TEXT SEARCH TEMPLATE IF EXISTS temp_name1 RESTRICT;
DROP TEXT SEARCH TEMPLATE temp_name2;
-- DROP TRANSFORM
DROP TRANSFORM IF EXISTS FOR type_name LANGUAGE lang_name RESTRICT;
DROP TRANSFORM FOR type_name LANGUAGE lang_name;
-- DROP TRIGGER
DROP TRIGGER IF EXISTS trigger_name1 ON table_name1 CASCADE;
DROP TRIGGER trigger_name2 ON table_name2;
-- DROP TYPE
DROP TYPE IF EXISTS type_name1, type_name2 RESTRICT;
DROP TYPE type_name3;
-- DROP USER
DROP USER IF EXISTS user_name1, user_name2;
DROP USER user_name3;
-- DROP USER MAPPING
DROP USER MAPPING IF EXISTS FOR user_name SERVER server_name;
DROP USER MAPPING IF EXISTS FOR USER SERVER server_name;
DROP USER MAPPING IF EXISTS FOR CURRENT_USER SERVER server_name;
DROP USER MAPPING IF EXISTS FOR CURRENT_ROLE SERVER server_name;
DROP USER MAPPING IF EXISTS FOR PUBLIC SERVER server_name;
DROP USER MAPPING FOR PUBLIC SERVER server_name;
-- DROP VIEW
DROP VIEW IF EXISTS view_name1, view_name2 RESTRICT;
DROP VIEW view_name3;

View File

@ -0,0 +1,37 @@
-- Inserting Data
INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');
INSERT INTO weather (city, temp_lo, temp_hi, prcp, date)
VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29');
INSERT INTO weather (date, city, temp_hi, temp_lo)
VALUES ('1994-11-29', 'Hayward', 54, 37);
INSERT INTO products (product_no, name, price)
SELECT product_no, name, price FROM new_products
WHERE release_date = 'today';
INSERT INTO products DEFAULT VALUES;
INSERT INTO cities (name, population, altitude, state)
VALUES ('New York', NULL, NULL, 'NY');
-- Boolean Type
INSERT INTO test1 VALUES (FALSE, TRUE, 'non est', 't', 'true', 'y', 'on', '1', 'f', 'false', 'n', 'no', 'off', 0);
-- Arrays -- . Array Value Input
INSERT INTO sal_emp
VALUES ('Bill',
'{10000, 10000, 10000, 10000}',
'{{"meeting", "lunch"}, {"training", "presentation"}}');
-- Range Types
INSERT INTO reservation VALUES
(1108, '[2010-01-01 14:30, 2010-01-01 15:30)');
-- INSERT
WITH RECURSIVE a AS (SELECT * from bt )
INSERT INTO table_name.dt ( column_name, column_name2)
VALUES (1, 2)
RETURNING * ;
INSERT INTO films DEFAULT VALUES;

View File

@ -0,0 +1,321 @@
-- ABORT
ABORT WORK;
ABORT TRANSACTION;
ABORT AND NO CHAIN;
-- ANALYZE
ANALYZE VERBOSE table_name ( column_name, column_name2);
ANALYZE VERBOSE;
ANALYZE (VERBOSE false);
ANALYZE (SKIP_LOCKED true);
ANALYZE (BUFFER_USAGE_LIMIT 4);
ANALYZE (SKIP_LOCKED false, SKIP_LOCKED false, BUFFER_USAGE_LIMIT '4KB');
ANALYZE (SKIP_LOCKED false, SKIP_LOCKED false, BUFFER_USAGE_LIMIT '4KB') table_name ( column_name, column_name2);
ANALYZE;
-- BEGIN
BEGIN WORK ISOLATION LEVEL READ UNCOMMITTED
READ WRITE
NOT DEFERRABLE;
-- CALL
CALL name (name => value);
CALL name;
-- CHECKPOINT
CHECKPOINT;
-- CLUSTER
CLUSTER VERBOSE table_name USING index_name;
CLUSTER (VERBOSE, VERBOSE TRUE) table_name USING index_name;
CLUSTER VERBOSE;
CLUSTER;
-- CLOSE
CLOSE ALL;
CLOSE name_2;
-- COMMENT
COMMENT ON
ACCESS METHOD object_name IS 'text';
COMMENT ON
AGGREGATE agg_name (agg_type, agg_type2) IS 'text';
COMMENT ON CAST (source_type AS target_type) IS 'text';
COMMENT ON COLLATION object_name IS 'text';
COMMENT ON COLUMN relation_name.column_name IS 'text';
COMMENT ON CONSTRAINT constraint_name ON table_name IS 'text'
COMMENT ON CONSTRAINT constraint_name ON DOMAIN domain_name IS 'text'
COMMENT ON CONVERSION object_name IS 'text';
COMMENT ON CONSTRAINT constraint_name ON table_name IS 'text';
COMMENT ON DATABASE object_name IS 'text';
COMMENT ON DOMAIN object_name IS 'text';
COMMENT ON EXTENSION object_name IS 'text';
COMMENT ON EVENT TRIGGER object_name IS 'text';
COMMENT ON FOREIGN DATA WRAPPER object_name IS 'text';
COMMENT ON FOREIGN TABLE object_name IS 'text';
COMMENT ON FUNCTION function_name ( INOUT argname timestamp) IS 'text';
COMMENT ON INDEX object_name IS 'text';
COMMENT ON LARGE OBJECT 346344 IS 'text';
COMMENT ON MATERIALIZED VIEW object_name IS 'text';
COMMENT ON OPERATOR -(int, NONE) IS 'text';
COMMENT ON OPERATOR CLASS object_name USING index_method IS 'text';
COMMENT ON OPERATOR FAMILY object_name USING index_method IS 'text';
COMMENT ON POLICY policy_name ON table_name IS 'text';
COMMENT ON PROCEDURAL LANGUAGE object_name IS 'text';
COMMENT ON PROCEDURE procedure_name IS 'text';
COMMENT ON PUBLICATION object_name IS 'text';
COMMENT ON ROLE object_name IS 'text';
COMMENT ON ROUTINE routine_name IS 'text';
COMMENT ON RULE rule_name ON table_name IS 'text';
COMMENT ON SCHEMA object_name IS 'text';
COMMENT ON SEQUENCE object_name IS 'text';
COMMENT ON SERVER object_name IS 'text';
COMMENT ON STATISTICS object_name IS 'text';
COMMENT ON SUBSCRIPTION object_name IS 'text';
COMMENT ON TABLE object_name IS 'text';
COMMENT ON TABLESPACE object_name IS 'text';
COMMENT ON TEXT SEARCH CONFIGURATION object_name IS 'text';
COMMENT ON TEXT SEARCH DICTIONARY object_name IS 'text';
COMMENT ON TEXT SEARCH PARSER object_name IS 'text';
COMMENT ON TEXT SEARCH TEMPLATE object_name IS 'text';
COMMENT ON TRIGGER trigger_name ON table_name IS 'text';
COMMENT ON TYPE object_name IS 'text';
COMMENT ON VIEW object_name IS 'text';
-- COMMIT
COMMIT TRANSACTION;
COMMIT WORK;
COMMIT AND NO CHAIN;
-- COMMIT PREPARED
COMMIT PREPARED 'foobar';
-- COPY
COPY table_name ( column_name, column_name2)
FROM PROGRAM 'command'
WITH ( FORMAT format_name);
COPY (SELECT * FROM td)
TO STDOUT
WITH (DELIMITER 'delimiter_character');
-- DEALLOCATE
DEALLOCATE PREPARE name;
DEALLOCATE PREPARE ALL;
-- DECLARE
DECLARE name BINARY INSENSITIVE NO SCROLL CURSOR WITH HOLD FOR
SELECT
*
FROM
tb;
DECLARE name CURSOR FOR
SELECT
*
FROM
abs;
-- DISCARD
DISCARD TEMPORARY;
DISCARD PLANS;
DISCARD ALL;
DISCARD TEMP;
-- DO
DO LANGUAGE lang_name '$$DECLARE';
DO '$$DECLARE';
-- END
END TRANSACTION;
END WORK;
-- EXECUTE
EXECUTE name ( parameter, parameter2);
-- EXPLAIN
EXPLAIN ( ANALYZE 'true',VERBOSE true, COSTS TRUE, FORMAT TEXT) SELECT * FROM no_nw;
EXPLAIN ANALYZE VERBOSE SELECT * FROM no_nw;
EXPLAIN SELECT * FROM no_nw;
-- FETCH
FETCH NEXT FROM cursor_name;
-- GRANT
GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER
ON TABLE table_name, table_name2
TO GROUP role_name,PUBLIC WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema_name, schema_name2 TO PUBLIC;
GRANT SELECT( column_name, column_name2), INSERT( column_name, column_name2), UPDATE( column_name, column_name2), REFERENCES ( column_name, column_name2)
ON TABLE table_name
TO GROUP role_name WITH GRANT OPTION;
GRANT ALL PRIVILEGES ( column_name, column_name2) ON table_name TO role_name;
GRANT USAGE, SELECT, UPDATE
ON SEQUENCE sequence_name
TO GROUP role_name, PUBLIC WITH GRANT OPTION;
GRANT ALL PRIVILEGES
ON ALL SEQUENCES IN SCHEMA schema_name
TO PUBLIC WITH GRANT OPTION;
GRANT CREATE, CONNECT, TEMPORARY, TEMP
ON DATABASE database_name
TO GROUP role_name, PUBLIC WITH GRANT OPTION;
GRANT role_name TO role_name;
-- IMPORT FOREIGN SCHEMA
IMPORT FOREIGN SCHEMA remote_schema
LIMIT TO ( table_name)
FROM SERVER server_name
INTO local_schema
OPTIONS ( option 'value');
-- LISTEN
LISTEN channel;
-- LOAD
LOAD 'filename';
-- LOCK
LOCK TABLE ONLY name * IN ACCESS SHARE MODE NOWAIT;
-- MOVE
MOVE NEXT FROM cursor_name;
-- MERGE
WITH query_name (id) AS (SELECT id FROM table_expression)
MERGE INTO ONLY target_table_name * AS target_alias
USING ONLY source_table_name * ON s.winename = w.winename
WHEN MATCHED AND s.winename = w.winename THEN UPDATE SET column_name = stock + 3
WHEN NOT MATCHED AND stock_delta + stock > 0 THEN INSERT ( column_name) OVERRIDING SYSTEM VALUE VALUES (s.winename)
WHEN MATCHED THEN DELETE;
-- NOTIFY
NOTIFY virtual, 'This is the payload';
-- PREPARE
PREPARE name ( int, numeric) AS INSERT INTO foo VALUES($1, $2, $3, $4);
-- PREPARE TRANSACTION
PREPARE TRANSACTION 'foobar';
-- REASSIGN OWNED
REASSIGN OWNED BY old_role TO new_role;
-- REFRESH MATERIALIZED VIEW
REFRESH MATERIALIZED VIEW name WITH NO DATA;
-- REINDEX
REINDEX DATABASE CONCURRENTLY dbname;
REINDEX TABLE tbname;
REINDEX INDEX indexname;
REINDEX SYSTEM sysname;
-- RELEASE SAVEPOINT
RELEASE SAVEPOINT savepoint_name;
-- RESET
RESET configuration_parameter;
RESET ALL;
-- REVOKE
REVOKE GRANT OPTION FOR
REFERENCES, CREATE
ON TABLE table_name
FROM GROUP role_name, PUBLIC, SESSION_USER
RESTRICT;
REVOKE ALL PRIVILEGES ON accounts FROM CURRENT_USER;
REVOKE CREATE ON SCHEMA public_name FROM CURRENT_ROLE;
-- ROLLBACK
ROLLBACK TRANSACTION AND NO CHAIN;
ROLLBACK WORK;
-- ROLLBACK PREPARED
ROLLBACK PREPARED 'foobar';
-- ROLLBACK TO SAVEPOINT
ROLLBACK TRANSACTION TO SAVEPOINT savepoint_name;
ROLLBACK WORK TO SAVEPOINT savepoint_name;
ROLLBACK TO savepoint_name;
-- SAVEPOINT
SAVEPOINT savepoint_name;
-- SECURITY LABEL
SECURITY LABEL FOR provider ON TABLE object_name IS 'label';
SECURITY LABEL FOR provider ON COLUMN table_name.column_name IS 'label';
SECURITY LABEL FOR provider ON AGGREGATE agg_name (agg_type, agg_type2) IS 'label';
SECURITY LABEL FOR provider ON DATABASE object_name IS 'label';
SECURITY LABEL FOR provider ON DOMAIN object_name IS 'label';
SECURITY LABEL FOR provider ON EVENT TRIGGER object_name IS 'label';
SECURITY LABEL FOR provider ON FOREIGN TABLE object_name IS 'label';
SECURITY LABEL FOR provider ON FUNCTION function_name ( VARIADIC arg_name timestamp) IS 'label';
SECURITY LABEL FOR provider ON LARGE OBJECT 2432 IS 'label';
SECURITY LABEL FOR provider ON MATERIALIZED VIEW object_name IS 'label';
SECURITY LABEL FOR provider ON PROCEDURAL LANGUAGE object_name IS 'label';
SECURITY LABEL FOR provider ON ROLE object_name IS 'label';
SECURITY LABEL FOR provider ON SCHEMA object_name IS 'label';
SECURITY LABEL FOR provider ON SEQUENCE object_name IS 'label';
SECURITY LABEL FOR provider ON TABLESPACE object_name IS 'label';
SECURITY LABEL FOR provider ON TYPE object_name IS 'label';
SECURITY LABEL FOR provider ON VIEW object_name IS 'label';
-- SET
SET SESSION configuration_parameter TO DEFAULT;
SET LOCAL TIME ZONE LOCAL;
-- SET CONSTRAINTS
SET CONSTRAINTS ALL IMMEDIATE;
SET CONSTRAINTS name1, name2 DEFERRED;
-- SET ROLE
SET SESSION ROLE role_name;
SET LOCAL ROLE NONE;
RESET ROLE;
-- SET SESSION AUTHORIZATION
SET SESSION SESSION AUTHORIZATION user_name;
SET LOCAL SESSION AUTHORIZATION DEFAULT;
RESET SESSION AUTHORIZATION;
-- SET TRANSACTION
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
READ WRITE
NOT DEFERRABLE;
SET TRANSACTION SNAPSHOT '000003A1-1';
SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL REPEATABLE READ READ ONLY DEFERRABLE;
-- SHOW
SHOW name;
SHOW ALL;
-- START TRANSACTION
START TRANSACTION ISOLATION LEVEL SERIALIZABLE
READ WRITE
NOT DEFERRABLE, ISOLATION LEVEL REPEATABLE READ READ ONLY DEFERRABLE;
START TRANSACTION;
-- TRUNCATE
TRUNCATE TABLE ONLY name
RESTART IDENTITY CASCADE;
TRUNCATE TABLE ONLY name
CONTINUE IDENTITY RESTRICT;
TRUNCATE name;
-- UNLISTEN
UNLISTEN *;
UNLISTEN channel;
-- VACUUM
VACUUM ( FULL, FREEZE, VERBOSE, ANALYZE, DISABLE_PAGE_SKIPPING, SKIP_LOCKED, INDEX_CLEANUP, PROCESS_MAIN, PROCESS_TOAST, TRUNCATE, PARALLEL 4,SKIP_DATABASE_STATS, ONLY_DATABASE_STATS, BUFFER_USAGE_LIMIT) table_name (column_name, column_name2);
VACUUM FULL FREEZE VERBOSE table_name;
VACUUM FULL FREEZE VERBOSE ANALYZE table_name (column_name,column_name2);
VACUUM ANALYZE;
ANALYZE;
-- VALUES
VALUES (1, '3'), (3, 'sdsd')
ORDER BY sort_expression ASC
LIMIT 20
OFFSET 324 ROWS;
VALUES (1, '3'), (3, 'sdsd');

View File

@ -0,0 +1,189 @@
-- SELECT
WITH RECURSIVE query_name (id) AS (SELECT id FROM table_expression)
SELECT DISTINCT ON (col1,col2) random() AS name1 FROM table_expression
WHERE name1=name1
GROUP BY DISTINCT id
HAVING sum(len) < interval '5 hours'
WINDOW w AS (PARTITION BY depname ORDER BY salary DESC)
UNION ALL (SELECT * FROM others)
ORDER BY salary DESC
FETCH NEXT ROWS ONLY
OFFSET start ROWS
FOR UPDATE OF table_name, table_name2 NOWAIT;
SELECT;
SELECT * FROM db.tbs GROUP BY (col1 > 3, col2 < 8) ORDER BY col3 > 9;
WITH query_name (id) AS (SELECT id FROM table_expression) SELECT DISTINCT random() AS name1 FROM table_expression WHERE name1=name1 GROUP BY id HAVING sum(len) < interval '5 hours' WINDOW w AS (PARTITION BY depname ORDER BY salary DESC) INTERSECT DISTINCT (SELECT * FROM others) ORDER BY salary ASC OFFSET start FETCH NEXT ROW ONLY FOR NO KEY UPDATE;
WITH query_name (id) AS (SELECT id FROM table_expression) SELECT DISTINCT ON (col1) random() AS name1 FROM table_expression WHERE name1=name1 GROUP BY id HAVING sum(len) < interval '5 hours' WINDOW w AS (PARTITION BY depname ORDER BY salary DESC) EXCEPT (SELECT * FROM others) ORDER BY salary USING > NULLS FIRST OFFSET start FETCH NEXT ROW ONLY FOR SHARE;
WITH query_name (id) AS (SELECT id FROM table_expression) SELECT DISTINCT ON (col1) random() AS name1 FROM table_expression WHERE name1=name1 GROUP BY id HAVING sum(len) < interval '5 hours' WINDOW w AS (PARTITION BY depname ORDER BY salary DESC) EXCEPT (SELECT * FROM others) ORDER BY salary USING > NULLS FIRST OFFSET start FETCH NEXT ROW ONLY FOR KEY SHARE OF table_name NOWAIT;
-- SELECT INTO
WITH RECURSIVE query_name (id) AS (SELECT id FROM table_expression)
SELECT DISTINCT ON (col2, col3)
INTO TEMPORARY TABLE new_table
FROM from_item
WHERE name2=name1
GROUP BY name
HAVING s > 8
WINDOW window_name AS ( RANGE UNBOUNDED PRECEDING )
INTERSECT DISTINCT (SELECT * FROM tb)
ORDER BY expression_1 USING > NULLS FIRST
LIMIT ALL
OFFSET start ROW
FOR UPDATE OF table_name NOWAIT;
SELECT INTO new_table;
-- The Most Easy
SELECT * ;
-- Querying a Table
SELECT city, temp_lo, temp_hi, prcp, date FROM weather;
SELECT city, (temp_hi+temp_lo)/2 AS temp_avg, date FROM weather;
SELECT * FROM weather
WHERE city = 'San Francisco' AND prcp > 0.0;
SELECT * FROM weather
ORDER BY city;
SELECT * FROM weather
ORDER BY city, temp_lo;
SELECT DISTINCT city
FROM weather;
SELECT DISTINCT city
FROM weather
ORDER BY city;
-- Joins Between Tables
SELECT weather.city, weather.temp_lo, weather.temp_hi,
weather.prcp, weather.date, cities.location
FROM weather NATURAL LEFT OUTER JOIN cities
WHERE cities.name = weather.city;
SELECT W1.city, W1.temp_lo AS low, W1.temp_hi AS high,
W2.city, W2.temp_lo AS low, W2.temp_hi AS high
FROM weather W1 NATURAL RIGHT OUTER JOIN weather W2
WHERE W1.temp_lo < W2.temp_lo
AND W1.temp_hi > W2.temp_hi;
SELECT *
FROM weather w NATURAL FULL OUTER JOIN cities c
WHERE w.city = c.name;
SELECT *
FROM weather w CROSS JOIN cities c
WHERE w.city = c.name;
-- Aggregate Functions
SELECT city, max(temp_lo)
FROM weather
WHERE city LIKE 'S%'
GROUP BY city
HAVING max(temp_lo) < 40;
-- Window Functions
SELECT depname, empno, salary, enroll_date
FROM
(SELECT depname, empno, salary, enroll_date,
rank() OVER (PARTITION BY depname ORDER BY salary DESC, empno) AS pos
FROM empsalary
) AS ss
WHERE pos < 3;
SELECT sum(salary) OVER w, avg(salary) OVER w
FROM empsalary
WINDOW w AS (PARTITION BY depname ORDER BY salary DESC);
SELECT name, altitude
FROM ONLY cities
WHERE altitude > 500;
SELECT name, altitude
FROM cities*
WHERE altitude > 500;
SELECT c.tableoid, c.name, c.altitude
FROM cities c
WHERE c.altitude > 500;
-- Overview
WITH query_name (id) AS (SELECT id FROM table_expression) SELECT random() FROM table_expression ORDER BY salary DESC
-- Partitioning and Constraint Exclusion
SET constraint_exclusion = on;
SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01';
-- Table Functions
SELECT * FROM foo
WHERE foosubid IN (
SELECT foosubid
FROM getfoo(foo.fooid) z
WHERE z.fooid = foo.fooid
);
SELECT *
FROM dblink('dbname=mydb', 'SELECT proname, prosrc FROM pg_proc')
AS t1(proname name, prosrc text)
WHERE proname LIKE 'bytea%';
-- The Schema Search Path
SELECT 3 OPERATOR(pg_catalog.+) 4;
-- Monetary Types
SELECT '12.34'::float8::numeric::money;
-- Binary Data Types
SELECT '\xDEADBEEF';
-- bytea Escape Format
SELECT 'abc \153\154\155 \052\251\124'::bytea;
-- Date/Time Types Interval Input
SELECT EXTRACT(days from '80 hours'::interval);
-- Text Search Types
SELECT 'a fat cat sat on a mat and ate a fat rat'::tsvector;
SELECT $$the lexeme ' ' contains spaces$$::tsvector;
SELECT $$the lexeme 'Joe''s' contains a quote$$::tsvector;
SELECT 'a:1 fat:2 cat:3 sat:4 on:5 a:6 mat:7 and:8 ate:9 a:10 fat:11 rat:12'::tsvector;
SELECT to_tsvector('english', 'The Fat Rats');
SELECT 'fat & rat & ! cat'::tsquery;
SELECT to_tsquery('Fat:ab & Cats');
-- Arrays --Accessing Arrays
SELECT name FROM sal_emp WHERE pay_by_quarter[1] <> pay_by_quarter[2];
SELECT schedule[1:2][2] FROM sal_emp WHERE name = 'Bill';
-- Arrays -- Searching in Arrays
SELECT * FROM sal_emp WHERE pay_by_quarter[1] = 10000 OR
pay_by_quarter[2] = 10000 OR
pay_by_quarter[3] = 10000 OR
pay_by_quarter[4] = 10000;
-- Array Input and Output Syntax
SELECT f1[1][-2][3] AS e1, f1[1][-1][5] AS e2
FROM (SELECT '[1:1][-2:-1][3:5]={{{1,2,3},{4,5,6}}}'::int[] AS f1) AS ss;
-- Containment
SELECT int4range(10, 20) @> 3;
-- Object Identifier Types
SELECT * FROM pg_attribute WHERE attrelid = 'mytable'::regclass;

View File

@ -0,0 +1,38 @@
UPDATE MY_TABLE SET A = 5;
UPDATE weather
SET temp_hi = temp_hi - 2, temp_lo = temp_lo - 2
WHERE date > '1994-11-28';
-- Transactions
UPDATE accounts SET balance = balance - 100.00
WHERE name = 'Alice';
UPDATE branches SET balance = balance - 100.00
WHERE name = (SELECT branch_name FROM accounts WHERE name = 'Alice');
UPDATE accounts SET balance = balance + 100.00
WHERE name = 'Bob';
UPDATE branches SET balance = balance + 100.00
WHERE name = (SELECT branch_name FROM accounts WHERE name = 'Bob');
UPDATE accounts SET balance = balance - 100.00
WHERE name = 'Alice';
UPDATE mytable SET a = 5, b = b * 3, c = c + 1 WHERE a > 0;
-- Arrays -- Modifying Arrays
UPDATE sal_emp SET pay_by_quarter = ARRAY[25000,25000,27000,27000]
WHERE name = 'Carol';
UPDATE sal_emp SET pay_by_quarter[1:2] = '{27000,27000}'
WHERE name = 'Carol';
--
-- UPDATE
WITH RECURSIVE query_name (id) AS (SELECT id FROM table_expression)
UPDATE ONLY table_name * AS alias
SET column_name = DEFAULT, (column_name, column_nam2) = ROW ( a+1,DEFAULT)
FROM from_list
WHERE a=b
RETURNING column_name AS output_name;
UPDATE table_name SET column_name = a + 3;