读书人

转:psq-下令摘要

发布时间: 2012-08-26 16:48:06 作者: rapoo

转:psq-命令摘要
psql命令大全(1)

psql 8.0.3, PostgreSQL 的交互终端.

输入: \copyright 获取发布信息
\h 获取 SQL 命令的帮助
\? 获取 psql 命令的帮助
\g 或者以分号作为执行查询的结尾
\q 退出

\?
一般选项
\c[onnect] [数据库名|- [用户名称]]
联接到新的数据库 (当前为 "test")
\cd [目录名] 改变当前的工作目录
\copyright 显示 PostgreSQL 用法和发布信息
\encoding [编码]
显示或设置客户端编码
\h [名字] SQL 命令的语法帮助, 用 * 可以看所有命令的帮助
\q 退出 psql
\set [名字 [值]]
设置内部变量, 如果没有参数就列出所有
\timing 查询计时开关切换 (目前是 关闭)
\unset 名字 取消(删除)内部变量
\! [命令] 在 shell 里执行命令或者开始一个交互的 shell

查询缓冲区选项
\e [文件名] 用一个外部编辑器编辑当前查询缓冲区或者文件
\g [文件名] 向服务器发送 SQL 命令 (并且把结果写到文件或者 |管道)
\p 显示当前查询缓冲区的内容
\r 重置 (清理) 查询缓冲区
\s [文件名] 打印历史或者将其保存到文件
\w [文件名] 将查询缓冲区写出到文件

输入/输出选项
\echo [字串] 向标准输出写出文本
\i 文件名 执行来自文件的命令
\o [文件名] 向文件或者 |管道 发送所有查询结果
\qecho [字串]
向查询输出流写出文本 (见 \o)

信息选项
\d [名字] 描述表, 索引, 序列, 或者视图
\d{t|i|s|v|S} [模式] (加 "+" 获取更多信息)
列出表/索引/序列/视图/系统表
\da [模式] 列出聚集函数
\db [模式] 列出表空间 (加 "+" 获取更多的信息)
\dc [模式] 列出编码转换
\dC 列出类型转换
\dd [模式] 显示目标的注释
\dD [模式] 列出域
\df [模式] 列出函数 (加 "+" 获取更多的信息)
\dg [模式] 列出组
\dn [模式] 列出模式 (加 "+" 获取更多的信息)
\do [名字] 列出操作符
\dl 列出大对象, 和 \lo_list 一样
\dp [模式] 列出表, 视图, 序列的访问权限
\dT [模式] 列出数据类型 (加 "+" 获取更多的信息)
\du [模式] 列出用户
\l 列出所有数据库 (加 "+" 获取更多的信息)
\z [模式] 列出表, 视图, 序列的访问权限 (和 \dp 一样)

格式选项
\a 在非对齐和对齐的输出模式之间切换
\C [字串] 设置表标题, 如果参数空则取消标题
\f [字串] 为非对齐查询输出显示或设置域分隔符
\H 在 HTML 输出模式之间切换 (当前是 关闭)
\pset 变量 [值]
设置表的输出选项
(变量 := {foramt|border|expanded|fieldsep|null|
recordsep|tuples_only|title|tableattr|pager})
\t 只显示行 (当前是 关闭)
\T [字串] 设置 HTML <表> 标记属性, 如果没有参数就取消设置
\x 在扩展输出之间切换 (目前是 关闭)

拷贝, 大对象选项
\copy ... 执行 SQL COPY, 数据流指向客户端主机
\lo_export LOBOID FILE
\lo_import FILE [COMMENT]
\lo_list
\lo_unlink LOBOID 大对象操作

SQL帮助:

ABORT CREATE INDEX DROP TYPE
ALTER AGGREGATE CREATE LANGUAGE DROP USER
ALTER CONVERSION CREATE OPERATOR CLASS DROP VIEW
ALTER DATABASE CREATE OPERATOR END
ALTER DOMAIN CREATE RULE EXECUTE
ALTER FUNCTION CREATE SCHEMA EXPLAIN
ALTER GROUP CREATE SEQUENCE FETCH
ALTER INDEX CREATE TABLE GRANT
ALTER LANGUAGE CREATE TABLE AS INSERT
ALTER OPERATOR CLASS CREATE TABLESPACE LISTEN
ALTER OPERATOR CREATE TRIGGER LOAD
ALTER SCHEMA CREATE TYPE LOCK
ALTER SEQUENCE CREATE USER MOVE
ALTER TABLE CREATE VIEW NOTIFY
ALTER TABLESPACE DEALLOCATE PREPARE
ALTER TRIGGER DECLARE REINDEX
ALTER TYPE DELETE RELEASE SAVEPOINT
ALTER USER DROP AGGREGATE RESET
ANALYZE DROP CAST REVOKE
BEGIN DROP CONVERSION ROLLBACK
CHECKPOINT DROP DATABASE ROLLBACK TO SAVEPOINT
CLOSE DROP DOMAIN SAVEPOINT
CLUSTER DROP FUNCTION SELECT
COMMENT DROP GROUP SELECT INTO
COMMIT DROP INDEX SET
COPY DROP LANGUAGE SET CONSTRAINTS
CREATE AGGREGATE DROP OPERATOR CLASS SET SESSION AUTHORIZATION
CREATE CAST DROP OPERATOR SET TRANSACTION
CREATE CONSTRAINT TRIGGER DROP RULE SHOW
CREATE CONVERSION DROP SCHEMA START TRANSACTION
CREATE DATABASE DROP SEQUENCE TRUNCATE
CREATE DOMAIN DROP TABLE UNLISTEN
CREATE FUNCTION DROP TABLESPACE UPDATE
CREATE GROUP DROP TRIGGER VACUUM


命令: ABORT
描述: 终止当前事务
语法:
ABORT [ WORK | TRANSACTION ]

命令: ALTER AGGREGATE
描述: 改变一个聚集函数的定义
语法:
ALTER AGGREGATE 名字 ( 类型 ) RENAME TO 新名字
ALTER AGGREGATE 名字 ( 类型 ) OWNER TO 新属主

命令: ALTER CONVERSION
描述: 改变一个转换的定义
语法:
ALTER CONVERSION 名字 RENAME TO 新名字
ALTER CONVERSION 名字 OWNER TO 新属主

命令: ALTER DATABASE
描述: 改变一个数据库
语法:
ALTER DATABASE 名字 SET 参数 { TO | = } { 值 | DEFAULT }
ALTER DATABASE 名字 RESET 参数
ALTER DATABASE 名字 RENAME TO 新名字
ALTER DATABASE 名字 OWNER TO 新属主

命令: ALTER DOMAIN
描述: 改变一个域的定义
语法:
ALTER DOMAIN 名字
{ SET DEFAULT 说明 | DROP DEFAULT }
ALTER DOMAIN 名字
{ SET | DROP } NOT NULL
ALTER DOMAIN 名字
ADD 域约束
ALTER DOMAIN 名字
DROP CONSTRAINT 约束名字 [ RESTRICT | CASCADE ]
ALTER DOMAIN 名字
OWNER TO 新宿主

命令: ALTER DOMAIN
描述: 改变一个域的定义
语法:
ALTER DOMAIN 名字
{ SET DEFAULT 说明 | DROP DEFAULT }
ALTER DOMAIN 名字
{ SET | DROP } NOT NULL
ALTER DOMAIN 名字
ADD 域约束
ALTER DOMAIN 名字
DROP CONSTRAINT 约束名字 [ RESTRICT | CASCADE ]
ALTER DOMAIN 名字
OWNER TO 新宿主

命令: ALTER FUNCTION
描述: 改变一个函数的定义
语法:
ALTER FUNCTION 名字 ( [ 类型 [, ...] ] ) RENAME TO 新名字
ALTER FUNCTION 名字 ( [ 类型 [, ...] ] ) OWNER TO 新属主

命令: ALTER GROUP
描述: 改变一个用户组
语法:
ALTER GROUP 组名称 ADD USER 用户名称 [, ... ]
ALTER GROUP 组名称 DROP USER 用户名称 [, ... ]
ALTER GROUP 组名称 RENAME TO 新名称

命令: ALTER INDEX
描述: 改变一个索引的定义
语法:
ALTER INDEX 索引名称
动作 [, ... ]
ALTER INDEX 索引旧名称
RENAME TO 索引新名称
动作为以下之一:
OWNER TO 新属主
SET TABLESPACE indexspace_name

命令: ALTER LANGUAGE
描述: 改变一个过程语言的定义
语法:
ALTER LANGUAGE 名字 RENAME TO 新名字


命令: ALTER OPERATOR CLASS
描述: 改变一个操作符表的定义
语法:
ALTER OPERATOR CLASS 名字 USING 索引方法 RENAME TO 新名字
ALTER OPERATOR CLASS 名字 USING 索引方法 OWNER TO 新属主


命令: ALTER OPERATOR CLASS
描述: 改变一个操作符表的定义
语法:
ALTER OPERATOR CLASS 名字 USING 索引方法 RENAME TO 新名字
ALTER OPERATOR CLASS 名字 USING 索引方法 OWNER TO 新属主

命令: ALTER OPERATOR
描述: 改变一个操作符的定义
语法:
ALTER OPERATOR 名字 ( { 左边类型 | NONE } , { 右边类型 | NONE } ) OWNER TO 新属主

命令: ALTER SCHEMA
描述: 改变一个模式的定义
语法:
ALTER SCHEMA 名字 RENAME TO 新名字
ALTER SCHEMA 名字 OWNER TO 新属主

命令: ALTER SEQUENCE
描述: 改变一个序列生成器的定义
语法:
ALTER SEQUENCE 名字 [ INCREMENT [ BY ] 递增 ]
[ MINVALUE 最小值 | NO MINVALUE ] [ MAXVALUE 最大值 | NO MAXVALUE ]
[ RESTART [ WITH ] 开始 ] [ CACHE 缓存 ] [ [ NO ] CYCLE ]

命令: ALTER TABLE
描述: 改变一个表的定义
语法:
ALTER TABLE [ ONLY ] 表名 [ * ]
action [, ... ]
ALTER TABLE [ ONLY ] 表名 [ * ]
RENAME [ COLUMN ] 字段名 TO 新字段名
ALTER TABLE 表名
RENAME TO 新表名
action 为下面的一种:
ADD [ COLUMN ] 字段名 类型 [ 字段约束 [ ... ] ]
DROP [ COLUMN ] 字段名 [ RESTRICT | CASCADE ]
ALTER [ COLUMN ] 字段名 TYPE 类型 [ USING 表达式 ]
ALTER [ COLUMN ] 字段名 SET DEFAULT 表达式
ALTER [ COLUMN ] 字段名 DROP DEFAULT
ALTER [ COLUMN ] 字段名 { SET | DROP } NOT NULL
ALTER [ COLUMN ] 字段名 SET STATISTICS integer
ALTER [ COLUMN ] 字段名 SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
ADD 表约束
DROP CONSTRAINT 约束名字 [ RESTRICT | CASCADE ]
CLUSTER ON 索引名称
SET WITHOUT CLUSTER
SET WITHOUT OIDS
OWNER TO 新属主
SET TABLESPACE 表空间名字

命令: ALTER TABLESPACE
描述: 改变一个表空间的定义
语法:
ALTER TABLESPACE 名字 RENAME TO 新名字
ALTER TABLESPACE 名字 OWNER TO 新属主

命令: ALTER TABLESPACE
描述: 改变一个表空间的定义
语法:
ALTER TABLESPACE 名字 RENAME TO 新名字
ALTER TABLESPACE 名字 OWNER TO 新属主

命令: ALTER TRIGGER
描述: 改变一个触发器的定义
语法:
ALTER TRIGGER 名字 ON 表 RENAME TO 新名字

命令: ALTER TYPE
描述: 改变一个类型的定义
语法:
ALTER TYPE 名字 OWNER TO 新属主

命令: ALTER USER
描述: 改变一个数据库用户
语法:
ALTER USER name [ [ WITH ] option [ ... ] ]
where option can be:
CREATEDB | NOCREATEDB
| CREATEUSER | NOCREATEUSER
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| VALID UNTIL 'abstime'
ALTER USER name RENAME TO newname
ALTER USER name SET parameter { TO | = } { value | DEFAULT }
ALTER USER name RESET parameter

命令: ANALYZE
描述: 收集关于数据库的统计数字
语法:
ANALYZE [ VERBOSE ] [ 表 [ (字段 [, ...] ) ] ]


命令: BEGIN
描述: 开始一个事务块
语法:
BEGIN [ WORK | TRANSACTION ] [ 事物模式 [, ...] ]
事物模式为下面之一:
ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
READ WRITE | READ ONLY

命令: CHECKPOINT
描述: 强行交易日志检查
语法:
CHECKPOINT

命令: CLOSE
描述: 关闭一个游标
语法:
CLOSE 名字


命令: CLUSTER
描述: 根据一个索引建表簇
语法:
CLUSTER 索引名字 ON 表名
CLUSTER 表名
CLUSTER

命令: COMMENT
描述: 定义或改变一个对象的评注
语法:
COMMENT ON
{
TABLE object_name |
COLUMN table_name.column_name |
AGGREGATE agg_name (agg_type) |
CAST (sourcetype AS targettype) |
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 (leftoperand_type, rightoperand_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
描述: 提交当前事务
语法:
COMMIT [ WORK | TRANSACTION ]

命令: COPY
描述: 在一个文件和一个表之间拷贝数据
语法:
COPY 表名 [ ( 字段 [, ...] ) ]
FROM { '文件名' | STDIN }
[ [ WITH ]
[ BINARY ]
[ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]
[ NULL [ AS ] 'null string' ]
[ CSV [ QUOTE [ AS ] 'quote' ]
[ ESCAPE [ AS ] 'escape' ]
[ FORCE NOT NULL column [, ...] ]

COPY 表名 [ ( 字段 [, ...] ) ]
TO { '文件名' | 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 (源类型 AS 目标类型)
WITH FUNCTION 函数名 (参数类型)
[ AS ASSIGNMENT | AS IMPLICIT ]

CREATE CAST (源类型 AS 目标类型)
WITHOUT FUNCTION
[ AS ASSIGNMENT | AS IMPLICIT ]

命令: CREATE CONSTRAINT TRIGGER
描述: 定义一个新的约束触发器
语法:
CREATE CONSTRAINT TRIGGER name
AFTER events ON
tablename constraint attributes
FOR EACH ROW EXECUTE PROCEDURE funcname ( args )

命令: CREATE CONVERSION
描述: define a new encoding conversion
语法:
CREATE [DEFAULT] CONVERSION 名字
FOR 源编码 TO 目标编码 FROM 函数名

命令: CREATE DATABASE
描述: 创建一个新的数据库
语法:
CREATE DATABASE 数据库名称
[ [ WITH ] [ OWNER [=] 数据库属主 ]
[ TEMPLATE [=] 模板 ]
[ ENCODING [=] 编码 ]
[ TABLESPACE [=] 表空间 ] ]

命令: CREATE DOMAIN
描述: 定义一个新的域
语法:
CREATE DOMAIN name [AS] data_type
[ DEFAULT expression ]
[ constraint [ ... ] ]

constraint 是:

[ CONSTRAINT constraint_name ]
{ NOT NULL | NULL | CHECK (expression) }

命令: CREATE FUNCTION
描述: 定义一个新的函数
语法:
CREATE [ OR REPLACE ] FUNCTION 名字 ( [ [ 参数名字 ] 参数类型 [, ...] ] )
RETURNS 返回类型
{ LANGUAGE 语言名称
| 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
描述: 定义一个新的用户组
语法:
CREATE GROUP 组名 [ [ WITH ] option [ ... ] ]

option 可以为:

SYSID gid
| USER username [, ...]

命令: CREATE INDEX
描述: 定义一个新的索引
语法:
CREATE [ UNIQUE ] INDEX 索引名称 ON 表名 [ USING method ]
( { column | ( expression ) } [ opclass ] [, ...] )
[ TABLESPACE tablespace ]
[ WHERE predicate ]

命令: CREATE LANGUAGE
描述: 定义一个新的过程语言
语法:
CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name
HANDLER call_handler [ VALIDATOR valfunction ]

命令: 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 funcname ( argument_type [, ...] )
| STORAGE storage_type
} [, ... ]

命令: 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 funcname ( argument_type [, ...] )
| STORAGE storage_type
} [, ... ]

命令: CREATE OPERATOR
描述: 定义一个新的操作符
语法:
CREATE OPERATOR name (
PROCEDURE = funcname
[, LEFTARG = lefttype ] [, RIGHTARG = righttype ]
[, 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 RULE
描述: 定义一个新的重写规则
语法:
CREATE [ OR REPLACE ] RULE 名字 AS ON 事件
TO 表 [ WHERE 条件 ]
DO [ ALSO | INSTEAD ] { NOTHING | 命令 | ( 命令 ; 命令 ... ) }

命令: CREATE RULE
描述: 定义一个新的重写规则
语法:
CREATE [ OR REPLACE ] RULE 名字 AS ON 事件
TO 表 [ WHERE 条件 ]
DO [ ALSO | INSTEAD ] { NOTHING | 命令 | ( 命令 ; 命令 ... ) }

test=# \h CREATE SCHEMA
命令: CREATE SCHEMA
描述: 定义一个新的模式
语法:
CREATE SCHEMA 模式名称 [ AUTHORIZATION 用户名称 ] [ 模式元素 [ ... ] ]
CREATE SCHEMA AUTHORIZATION 用户名称 [ 模式元素 [ ... ] ]

命令: 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 ]

where column_constraint is:

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

and table_constraint is:

[ 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 reftable [ ( refcolumn [, ... ] ) ]
[ 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 表名字 [ (字段名字 [, ...] ) ] [ [ WITH | WITHOUT ] OIDS ]
AS query

命令: CREATE TABLESPACE
描述: 定义一个新的表空间
语法:
CREATE TABLESPACE 表空间名称 [ OWNER 用户名称 ] LOCATION '目录'

命令: CREATE TRIGGER
描述: 定义一个新的触发器
语法:
CREATE TRIGGER 名字 { BEFORE | AFTER } { 事件 [ OR ... ] }
ON 表 [ FOR [ EACH ] { ROW | STATEMENT } ]
EXECUTE PROCEDURE 函数名 ( 参数 )

命令: 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 = { internallength | VARIABLE } ]
[ , PASSEDBYVALUE ]
[ , ALIGNMENT = alignment ]
[ , STORAGE = storage ]
[ , DEFAULT = default ]
[ , ELEMENT = element ]
[ , DELIMITER = delimiter ]
)

命令: CREATE USER
描述: 定义一个新的数据库用户帐户
语法:
CREATE USER name [ [ WITH ] option [ ... ] ]

where option can be:

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


命令: CREATE VIEW
描述: 定义一个新的视图
语法:
CREATE [ OR REPLACE ] VIEW 名字 [ ( 字段名 [, ...] ) ] AS query

读书人网 >编程

热点推荐