(1)登录
peng@peng-virtual-machine:~$ sudo -u postgres psql
以用户postgres身份登录,postgres为用户名,可有多个用户,登录时会要求输入相应密码,之后就会进入psql环境了
(2)切换数据库
有时候需要在psql环境下切换数据库,此时执行如下psql命令:
c dbname username serverIP port
其中除了数据库名外,其他的参数都是可选的,如果使用默认值可以使用-作为占位符
执行这个命令后,也是提示输入密码。
(3)查看帮助
psql提供了很好的在线帮助文档,总入口命令是help,输入这个命令就可以看到
vsb9=# help
You are using psql, the command-line interface to PostgreSQL.
Type: copyright for distribution terms
h for help with SQL commands(查看SQL命令帮助)
? for help with psql commands(查看psql命令帮助)
g or terminate with semicolon to execute query(g表示命令已经输入完成,开始执行查询或操作任务)
例如上面截图中select id from courses之后#前变"-"表示还在等待输入命令,这一次命令没输入完整,而输入g就告诉它开始执行吧。select id from courses;(注意这里加了“;”)表示输入完成开始执行。这两种得到的结果是一致的都是返回表中id属性的值。
q to quit(退出登录)
可以看到,标准SQL命令的帮助和psql特有命令的帮助是分开的。输入?查看psql命令,会发现所有的psql命令都是以开头,这就很容易和标准的SQL命令进行区分开来。
(4)常用数据库命令(mysql为MySQL数据库操作命令,psql为postgresql数据库命令)
1列出所有的数据库
mysql: show databases
psql: l或list
2切换数据库
mysql: use dbname
psql: c dbname
3列出当前数据库下的所有表
mysql: show tables
psql: d
4列出指定表的所有字段
mysql: show columns from table name
psql: d tablename
5查看表的基本情况
mysql: describe tablename
psql: d+ tablename
SQL常用命令
在切换到某数据库环境后:
select attr from tablename;(加分号立即执行该语句,该表中的属性值,这个表应当是当前数据库中存在的表)
select attr
from tablename;(这样也是可以的,二者效果等同,这一形式在其他情况下会用到)