psql的常用命令。

^_^

终于可以切入正体了。

-------------------------------

连接Postgres服务器后,

可能第一件事,就是连接到一个数据库进行实际的操作了,

如果您没有在运行 psql 命令时指定连接的数据库,

那么现在可以发出指令来连接一个数据库,

当然,在运行 psql 命令时指定连接的数据库的话,

也可以使用下面这个指令来改变连接的数据库。

命令:\c  数据库名

例子:

testdb=>\c  tesdb1

这条命令将当前连接的testdb数据库改变成 testdb1 。

------------------------------

下面就来看看如何断开与Postgres服务器的连接,

命令:\q

这个命令很简单,执行这个指令后,

就回到了shell提示符下了。

------------------------------

------------------------------

将数据库 导出到 文件标识符

命令:\copy 表名 to 文件名|标准输出 [delimiter  as  '分隔符']  [null  as 'null表示的字符串' ]

        [csv  quote  as '引号的类型'] 

解释:

可以将表中的数据输出到 文件或标准输出。

delimiter as '分隔符'   :说明输出设备的文本中表的每个字段用什么字符分割,默认是tab;

null  as 'null表示的字符串':说明输出设备的文本中表的NULL值的表示方法,默认为“\N”;

csv quote as '引号类型' :说明导出的csv文件中的引号类型是什么,

对于Postgres7.4以前的版本,不支持csv的导入与导出,这时不要使用这个可选项。

例子:

testdb=>\copy  testtable to data.csv  delimiter as ',' csv quote as '"'

这条命令将testtable表中的内容作为SQL语句,导出data.csv文件中。

delimiter as ','   :说明data.txt文本中表的每个字段用“逗号”分割;

csv quote as '"' :说明csv中的引号类型是“双引号”。

像前面说的:这个例子不适用在Postgres7.4以前的版本。

------------------------------

从 文件标识符 导入数据到数据库

命令:\copy 表名 form 文件名|标准输入 [delimiter  as  '分隔符']  [null  as 'null表示的字符串' ]

        [csv  quote  as '引号的类型'] 

解释:

可以从 文件名|标准输入 两个文件设备导入到指定的表中

delimiter as '分隔符'   :说明输入设备的文本中表的每个字段用什么字符分割,

通常是tab,取决于copy出去的文件是什么参数;

null  as 'null表示的字符串':说明输入设备的文本中表的NULL值的表示方法,通常为“\N”;

csv quote as '引号类型' :说明导入的csv文件中的引号类型是什么,

取决于copy出去的文件是什么参数。

例子:

testdb=>\copy  testtable from data.csv  delimiter as ',' csv quote as '"'

这条命令将data.csv文件中的文本,作为sql语句导入到testtable表,

delimiter as ','   :说明data.txt文本中表的每个字段用“逗号”分割;

csv quote as '"' :说明csv中的引号类型是“双引号”。

------------------------------

显示和设置客户端字符集。

命令:\encoding [ encoding ]

解释:

在数据库领域,存在字符集的转换问题,

一般地,服务器端字符集是在建立数据库时指定的,

为了能够在不同的客户终端显示正确的数据,

需要认为的为客户终端设置客户端字符集。

如果服务器端的字符集是EUC_JP(日语字符集),

而客户终端的字符集是GBK,

捡索出来的汉字数据很可能就出现乱码,

所以要统一两边的字符集。

例子:

1、显示客户端字符集

testdb=>\encoding

这条命令没有带可选参数,

所以显示当前的客户终端字符集。

2、设置客户端字符集

testdb=>\encoding 'EUC_JP'

这条命令设置当前的客户终端字符集为“EUC_JP”,

如果服务器端的字符集也是“EUC_JP”,就可以正常显示数据了。

------------------------------

除了上面这些介绍,在这个客户终端可以使用所有标准SQL语句,

对数据库进行操作。

Author: sinpool

java和linux爱好者,至于English嘛,提高中...