当前位置: 首页 > news >正文

PostgreSQL 的命令行psql和数据交互

一、psql

1、一旦运行,psql 将通过包含我们当前连接到的数据库名并跟随“=>”符号的提示符提示输入命令。对于在当前数据
库拥有全部权限的用户,提示符被替换为“=#".

2、psql 的命令分为两种不同的类型:SQL 命令:我们可以输入任何 PostgreSQL 支持的 SQL 语句给 psql,然后它将执行它。内部命令:有一些 psql 命令用于执行 SQL 不直接执行的命令例如列出存在的表和执行脚本。所有的内部命令都由一条反斜杠开始切不能被拆分成多行。

3、需要通过一个分号来告诉 psql 我们已经完成一条可能被拆分成多行的长 SQL 命令。注意分号不是一条 SQL 命
令必须的部分,它只是用于告诉 psql 我们已经完成输入了。

4、收集一组 psql 命令(包括 SQL 和内部命令)到一个文件并把它当做一个简单的脚本使用。内部命令“\i”将从一个文件中读取一组 psql 命令(一定要用unix方式的路径:即用左斜杠的方式)。如下:

 \i D:/company/select.sql;     

二、数据交互

1、使用 INSERT 语句往 customer 表里头添加数据,按照建表时列的顺序排列插入的值。要插入数字,则直接写数字。要插入字符串,则把字符串包含在单引号中。为了在插入的字符串里头包含单引号,我们必须在单引号之前添加一个反斜杠字符(\)。如果我们还需要插入一个反斜杠字符,那么我们需要写一对反斜杠,就像这样“\\”。

2、避免在插入数据的时候为 serial 类型的数据提供数值。

3、使用:setval('序列生成器名', 新的值);的方式给序列更新值。如:

 SELECT setval('customer_customer_id_seq', 19);

4、命令是TRUNCATE,从一个表中删除所有数据,它没有办法恢复被删除的数据。使用这个命令需要非常小心,只有当你非常确定要永久删除表中的数据才能使用。从某些方面说,它非常类似于删除表并重建它,除了它更容易操作且不会重置序列生成器。使用如下:

bpsimple=# TRUNCATE TABLE tcust;
TRUNCATE TABLE
bpsimple=# SELECT count(*) FROM tcust;
count
-------
 0
(1 row)
bpsimple=#

 

相关文章:

  • 设计模式---代理模式
  • PostgreSQL之高级数据选择
  • PostgreSQL 的数据定义
  • iOS - TouchID 指纹识别
  • PostgreSQL 事务和锁
  • PostgreSQL的函数、存储过程和触发器
  • PostgreSQL实战(1)允许远程连接
  • Phoenix官方教程 (五) 控制器
  • PostgreSQL实战(12)高级特性
  • base64图上上传保存到服务器
  • ajax报错302重定向错误
  • ArcGIS Engine开发之旅03--ArcGIS Engine中的控件
  • kafka消费过程中失败,kafka重试补偿
  • 从0到1搭建属于自己的服务器
  • PostgreSQL实战(2)数据结构
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • avalon2.2的VM生成过程
  • CSS 专业技巧
  • Django 博客开发教程 8 - 博客文章详情页
  • JS变量作用域
  • mac修复ab及siege安装
  • node入门
  • NSTimer学习笔记
  • Rancher如何对接Ceph-RBD块存储
  • React组件设计模式(一)
  • Redis中的lru算法实现
  • Selenium实战教程系列(二)---元素定位
  • ucore操作系统实验笔记 - 重新理解中断
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • Vue小说阅读器(仿追书神器)
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 工作手记之html2canvas使用概述
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 计算机常识 - 收藏集 - 掘金
  • 记一次删除Git记录中的大文件的过程
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 你不可错过的前端面试题(一)
  • 前端js -- this指向总结。
  • 前端面试之闭包
  • 前端之React实战:创建跨平台的项目架构
  • 让你的分享飞起来——极光推出社会化分享组件
  • 入门到放弃node系列之Hello Word篇
  • 网络应用优化——时延与带宽
  • 学习Vue.js的五个小例子
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 积累各种好的链接
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #android不同版本废弃api,新api。
  • #if #elif #endif
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)springboot学生选课系统 毕业设计 612555