zoukankan      html  css  js  c++  java
  • postgreSQL psql工具使用详解

           PostgreSQL是功能最接近Oracle的开源数据库,对标Oracle 的sqlplus工具,在PostgreSQL中也有一个类似的命令行工具,就是plsq,它允许你交互地键入SQL或命令,本节就来讲讲psql的使用方法。

    一. 进入psql

      psql -h <hostname or ip> -p <端口> [数据库名称] [用户名称]

    如下:通过postgres用户进入jimhe这个本地数据库:

    psql -h localhost -p 5432 jimhe postgres

    如果相应的环境变量都配好了,包括这几个环境变量:

    PGDATABASE,PGHOST,PGPORT,PGUSER

    配置好之后,就可以直接输入plsq进入psql界面:

    进入后可以看到psql的版本是11.2.

    通过使用plsql -l 可以查看有哪些数据库。

    二.常用的命令

      psql的命令大多数都是以开头的,下面将介绍常用的psql命令

     1. l  查看有哪些数据库

      

     

      2. c 用于切换数据库

      

     3. q 用于退出psql命令行界面

    4. d命令

       d命令的格式如下:

       d [ pattern ]

       d [ pattern ] +

       该命令用于显示每个匹配关系(表,视图,索引,序列)的信息

       (1)如果d 后面什么都不带,会显示数据库所有的表,视图,索引,序列。

          

          (2)d后面跟一个表名,表示显示这个表的结构定义

           

        (3)d 后跟一个索引,可以显示索引的信息

              

         (4)d后面跟通配符如“*” 或“?”

               

              (5) d后面可以跟视图

               

             (6)d+命令显示比d更多的信息包括表和列的注释等相关信息

               

         (7) 匹配不同对象类型的d命令

               dt   显示匹配的表

               di   显示匹配的索引

               ds  显示匹配的序列

               dv  显示匹配的视图

               df   显示匹配的函数

          (8)如果想显示SQL已经执行的时间,可以使用 iming on 命令开启计时功能,如果要关闭,使用 iming off关闭计时功能。

                 

             (9)列出所有的schema 使用 dn

                

             (10)显示所有的表空间 使用db

                  

              (11) 列出所有的角色或者用户,使用du 或者dg命令。

                   

                 这两个命令其实是等价的,在PG中角色和用户是一个概念。

               (12)显示权限分配情况 dp或者z

                

           (13)i file 执行文件中的命令

                  一般i用于执行sql文件的脚本

                

    三.指定字符集编译的命令

          当客户端的字符编码与服务器不一致时,可能出现乱码现象,可以使用encoding命令指定客户端的字符编码。

        比如:

       encoding gbk    设置客户端的字符编码为gbk.

       encoding utf8    设置客户端的字符编码为uft8

    四. pset 命令

        pset命令用于设置输出的格式

        pset border 0:表示输出内容无边框

        pset border 1:表示边框只在内部存在

        pset border 2:表示内外都有边框

        

        

       

       上面三种风格可以比较明显的看出来,可以根据自己喜好设置。

    五. x命令

        使用x命令,可以把表中的每一行的每列数据都拆分为单行展示,这种适合列比较多,界面显示不全的情况下比较有用。

       

      扩展显示相当于列转行了,把多列显示成多行,更容易查看。

      关闭扩展显示可以再输入一次x 。

    六.显示信息命令

        echo命令用于输出一行信息

       这个命令和shell中的echo命令功能是一样的,打印一条记录。可以在编写sql脚本中使用,然后调用psql执行时就会打印出来相应的信息。

      比如sql文件内容如下:

      

    echo ----------------------------------------------------
    select * from code_test.test limit 10;
    echo -----------------------------------------------------

      执行命令后结果日下所示:

     

     七.自动提交功能

         在psql中事务是自动提交的,为了控制事务的进行,不希望自动提交事务,可以采用两种方法来进行操作。

        第一种方法就是在命令的开始输入begin;  然后在命令的结束位置输入 commit或者rollback,  commit表示事务提交,rollback表示事务回滚。

        第二种方式就是通过设置 set AUTOCOMMIT off将自动提交功能关闭。

      

      

     

    八 更多的命令

       通过使用? 可以获取到更多的命令的解释。

       

                 

       

          

        

  • 相关阅读:
    fib数列变种题目
    中缀表达式-后缀表达式
    webpy 访问静态文件
    webpy 调试
    树莓派与windows互传文件
    使用图的遍历解决分酒问题
    cogs 48. [NOIP2007] 字符串的展开
    洛谷 P1091 合唱队形
    cogs 1435. [USACO NOV]金发姑娘和N头牛
    codevs 3498 小木棍
  • 原文地址:https://www.cnblogs.com/nanshanjushi/p/11324607.html
Copyright © 2011-2022 走看看