postgresql

1、首先切换到postgres用户,一般数据库安装都会指定一个postgres用户:

  1. su postgres

2、登录数据库命令:psql -U user_name -d database_name -h serverhost

  1. psql -h 127.0.0.1 -d mydata -U dbuser

3、查看帮助: help

\h #查看所有的sql关键字
\? #命令行操作的帮助
\d #查看当前schema 中所有的表
\q #退出pg命令行
\d #schema.table 查看表的结构
\x #横纵显示切换
\dT+ #显示扩展类型相关属性及描述
\l #列出所有的数据库
\timing #显示执行时间
\c database_name #切换数据库
set search to schema #切换schema
explain sql #解释或分析sql执行过程

  1. postgres-# \?
  2. 一般性
  3. \copyright 显示PostgreSQL的使用和发行许可条款
  4. \crosstabview [COLUMNS] 执行查询并且以交叉表显示结果
  5. \errverbose 以最冗长的形式显示最近的错误消息
  6. \g [(OPTIONS)] [FILE] execute query (and send results to file or |pipe);
  7. \g with no arguments is equivalent to a semicolon
  8. \gdesc 描述查询结果,而不执行它
  9. \gexec 执行策略,然后执行其结果中的每个值
  10. \gset [PREFIX] 执行查询并把结果存到psql变量中
  11. \gx [(OPTIONS)] [FILE] as \g, but forces expanded output mode
  12. \q 退出 psql
  13. \watch [SEC] 每隔SEC秒执行一次查询
  14. 帮助
  15. \? [commands] 显示反斜线命令的帮助
  16. \? options 显示 psql 命令行选项的帮助
  17. \? variables 显示特殊变量的帮助
  18. \h [NAME] SQL命令语法上的说明,用*显示全部命令的语法说明
  19. 查询缓存区
  20. \e [FILE] [LINE] 使用外部编辑器编辑查询缓存区(或文件)
  21. \ef [FUNCNAME [LINE]] 使用外部编辑器编辑函数定义
  22. \ev [VIEWNAME [LINE]] 用外部编辑器编辑视图定义
  23. \p 显示查询缓存区的内容
  24. \r 重置(清除)查询缓存区
  25. \w 文件 将查询缓存区的内容写入文件
  26. 输入/输出
  27. \copy ... 执行 SQL COPY,将数据流发送到客户端主机
  28. \echo [-n] [STRING] write string to standard output (-n for no newline)
  29. \i 文件 从文件中执行命令
  30. \ir FILE \i类似, 但是相对于当前脚本的位置
  31. \o [文件] 将全部查询结果写入文件或 |管道
  32. \qecho [-n] [STRING] write string to \o output stream (-n for no newline)
  33. \warn [-n] [STRING] write string to standard error (-n for no newline)
  34. 条件
  35. \if EXPR 开始条件块
  36. \elif EXPR 当前条件块内的备选方案
  37. \else 当前条件块内的最终备选方案
  38. \endif 条件块的结尾
  39. 资讯性
  40. (选项: S = 显示系统对象, + = 其余的详细信息)
  41. \d[S+] 列出表,视图和序列
  42. \d[S+] 名称 描述表,视图,序列,或索引
  43. \da[S] [模式] 列出聚合函数
  44. \dA[+] [模式] 列出访问方法
  45. \dAc[+] [AMPTRN [TYPEPTRN]] list operator classes
  46. \dAf[+] [AMPTRN [TYPEPTRN]] list operator families
  47. \dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families
  48. \dAp [AMPTRN [OPFPTRN]] list support functions of operator families
  49. \db[+] [模式] 列出表空间
  50. \dc[S+] [模式] 列表转换
  51. \dC[+] [模式] 列出类型强制转换
  52. \dd[S] [模式] 显示没有在别处显示的对象描述
  53. \dD[S+] [模式] 列出共同值域
  54. \ddp [模式] 列出默认权限
  55. \dE[S+] [模式] 列出引用表
  56. \det[+] [模式] 列出引用表
  57. \des[+] [模式] 列出外部服务器
  58. \deu[+] [模式] 列出用户映射
  59. \dew[+] [模式] 列出外部数据封装器
  60. \df[anptw][S+] [PATRN] 列出[只包括 聚合/常规/程序/触发器/窗口]函数
  61. \dF[+] [模式] 列出文本搜索配置
  62. \dFd[+] [模式] 列出文本搜索字典
  63. \dFp[+] [模式] 列出文本搜索解析器
  64. \dFt[+] [模式] 列出文本搜索模版
  65. \dg[S+] [模式] 列出角色
  66. \di[S+] [模式] 列出索引
  67. \dl 列出大对象, 功能与\lo_list相同
  68. \dL[S+] [模式] 列出所有过程语言
  69. \dm[S+] [模式] 列出所有物化视图
  70. \dn[S+] [模式] 列出所有模式
  71. \do[S] [模式] 列出运算符
  72. \dO[S+] [模式] 列出所有校对规则
  73. \dp [模式] 列出表,视图和序列的访问权限
  74. \dP[itn+] [PATTERN] list [only index/table] partitioned relations [n=nested]
  75. \drds [模式1 [模式2]] 列出每个数据库的角色设置
  76. \dRp[+] [模式] 列出复制发布
  77. \dRs[+] [模式] 列出复制订阅
  78. \ds[S+] [模式] 列出序列
  79. \dt[S+] [模式] 列出表
  80. \dT[S+] [模式] 列出数据类型
  81. \du[S+] [模式] 列出角色
  82. \dv[S+] [模式] 列出视图
  83. \dx[+] [模式] 列出扩展
  84. \dy [模式] 列出所有事件触发器
  85. \l[+] [模式] 列出所有数据库
  86. \sf[+] FUNCNAME 显示一个函数的定义
  87. \sv[+] VIEWNAME 显示一个视图的定义
  88. \z [模式] \dp的功能相同
  89. 格式化
  90. \a 在非对齐模式和对齐模式之间切换
  91. \C [字符串] 设置表的标题,或如果没有的标题就取消
  92. \f [字符串] 显示或设定非对齐模式查询输出的字段分隔符
  93. \H 切换HTML输出模式 (目前是 关闭)
  94. \pset [NAME [VALUE]] 设置表输出选项
  95. (border|columns|csv_fieldsep|expanded|fieldsep|
  96. fieldsep_zero|footer|format|linestyle|null|
  97. numericlocale|pager|pager_min_lines|recordsep|
  98. recordsep_zero|tableattr|title|tuples_only|
  99. unicode_border_linestyle|unicode_column_linestyle|
  100. unicode_header_linestyle
  101. \t [开|关] 只显示记录 (目前是关闭)
  102. \T [字符串] 设置HTML <表格>标签属性, 或者如果没有的话取消设置
  103. \x [on|off|auto] 切换扩展输出模式(目前是 关闭)
  104. 连接
  105. \c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}
  106. 连接到新数据库(当前是"postgres"
  107. \conninfo 显示当前连接的相关信息
  108. \encoding [编码名称] 显示或设定客户端编码
  109. \password [USERNAME] 安全地为用户更改口令
  110. 操作系统
  111. \cd [目录] 更改目前的工作目录
  112. \setenv NAME [VALUE] 设置或清空环境变量
  113. \timing [开|关] 切换命令计时开关 (目前是关闭)
  114. \! [命令] shell中执行命令或启动一个交互式shell
  115. 变量
  116. \prompt [文本] 名称 提示用户设定内部变量
  117. \set [名称 [值数]] 设定内部变量,若无参数则列出全部变量
  118. \unset 名称 清空(删除)内部变量
  119. 大对象
  120. \lo_export LOBOID 文件
  121. \lo_import 文件 [注释]
  122. \lo_list
  123. \lo_unlink LOBOID 大对象运算

4、查看所有表 \d

image.png

5、查询表,并显示查询内容:注意,在sql语句后面加上 \d 会立即显示查询内容

  1. select × from projects \g