增、删、改、查:

  • postgres=# \password postgres 为postgres进行密码设置;

  • postgres=# CREATE USER test WITH PASSWORD '123456'; 创建数据库用户;

  • postgres=# CREATE DATABASE test OWNER test; 创建用户数据库并制定其所有者;

  • postgres=# GRANT ALL PRIVILEGES ON DATABASE test to test; 将test数据库所有权限赋给test,否则test只能登录控制台,没有任何数据库操作权限。

  • [root@server8 ~]# sudo -u postgres createuser --superuser test 命令行形式创建数据库用户,之后可以登录数据库控制柜台设置test用户密码,完成后退出控制台。;

  • [root@server8 ~]# sudo -u postgres psql

  • [root@server8 ~]# su -u postgres createdb -O test test 在命令行中创建数据库;

  • psql -U test -d test -h 127.0.0.1 -p 5432 登录数据库;

  • [root@server8 ~]# su -u postgres createdb -O test test 创建数据库;

  • postgres=# \conninfo 查看数据库连接信息;

  • postgres=# \c exampledb test 一某个用户切换到某个数据库;

  • postgres=# CREATE TABLE user_tbl(name VARCHAR(20),signup_date DATE); 数据库表创建;

  • postgres=# INSERT INTO user_tbl(name,signup_date)VALUES ('张三','2017-09-21'); 在表中插入信息;

  • postgres=# SELECT * FROM user_tbl ; 查看表结构及其内容;

  • postgres=# UPDATE user_tbl set name='李四'WHERE name= '张三'; 更新表中某列的内容信息;

  • postgres=# DELETE FROM user_tbl WHERE name = '李四'; 删除表中某列的某行中的内容;

  • postgres=# ALTER TABLE user_tbl ADD email VARCHAR(40); 添加表结构字段

  • postgres=# ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL ;

  • postgres=#ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup; 更新字段名称;

  • postgres=# ALTER TABLE user_tbl DROP COLUMN email; 删除表中某字段

  • postgres=# ALTER TABLE user_tbl RENAME TO backup_tbl; 重命名数据库中的表;

  • postgres=# DROP TABLE IF EXISTS backup_tbl; 删除表;

数据导入

pg数据导入步骤

  • 创建组角色

    CREATE ROLE dev;

  • 创建用户

    CREATE ROLE gdyy LOGIN;
    GRANT dev TO gdyy;

  • 创建表空间

    /pgdata/9.1/data/gdyy(用户用gdyy)
    CREATE TABLESPACE gdyy LOCATION '/pgdata/9.1/data/gdyy';

  • 创建数据库

    CREATE DATABASE gdyy WITH ENCODING='UTF8' CONNECTION LIMIT=-1 TABLESPACE=gdyy;  

    GRANT CONNECT, TEMPORARY ON DATABASE tzdatas TO GROUP dev;

  • (\c 数据库名,进入数据库)

    GRANT USAGE ON SCHEMA public TO GROUP dev;

    ALTER DEFAULT PRIVILEGES IN SCHEMA public
    GRANT INSERT, SELECT, UPDATE, DELETE, TRUNCATE ON TABLES
    TO dev;
    CREATE EXTENSION dblink;
    CREATE EXTENSION tablefunc;

    CREATE EXTENSION postgis;(针对轨迹数据库存在的函数,一般用户可忽略)

    CREATE EXTENSION postgis_topology ;(针对轨迹数据库存在的函数,一般用户可忽略)

  • 数据库备份

  pg_dump -U postgres -c -x -O gdyy>/t mp/gdyy.sql

  • 导入

    psql
    \c gdyy gdyy
    \i /tmp/gdyy.sql

其他常用命令

  • 连接数据库, 默认的用户和数据库是postgres:psql -U user -d dbname
  • 切换数据库,相当于mysql的use dbname:  \c dbname
  • 列举数据库,相当于mysql的show databases:  \l dbname
  • 列举表,相当于mysql的show tables:  \dt
  • 切换数据库,相当于mysql的use dbname:  \c dbname  
  • 查看表结构,相当于desc tblname,show columns from tbname:  \d tblname
  • \di 查看索引
  • 创建数据库: create database [数据库名];
  • 删除数据库: drop database [数据库名];
  • 重命名一个表: alter table [表名A] rename to [表名B]; 
  • 删除一个表: drop table [表名]; 
  • 在已有的表里添加字段: alter table [表名] add column [字段名] [类型]; 
  • 删除表中的字段: alter table [表名] drop column [字段名];
  • 重命名一个字段:  alter table [表名] rename column [字段名A] to [字段名B];
  • 给一个字段设置缺省值:  alter table [表名] alter column [字段名] set default [新的默认值];
  • 去除缺省值:  alter table [表名] alter column [字段名] drop default;
  • 在表中插入数据: insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);
  • 修改表中的某行某列的数据:
  • update [表名] set [目标字段名]=[目标值] where [该行特征];
  • 删除表中某行数据: delete from [表名] where [该行特征]; delete from [表名];--删空整个表 
  • 创建表: create table ([字段名1] [类型1] <references 关联表名(关联的字段名)>;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;); 
  • \copyright     显示 PostgreSQL 的使用和发行条款

  \encoding [字元编码名称]

  显示或设定用户端字元编码
  \h [名称]      SQL 命令语法上的说明,用 * 显示全部命令
  \prompt [文本] 名称
       提示用户设定内部变数
  \password [USERNAME]
       securely change the password for a user
  \q             退出 psql

  可以使用pg_dump和pg_dumpall来完成。比如备份sales数据库: 
  pg_dump drupal>/opt/Postgresql/backup/1.bak

Postgres常用命令之增、删、改、查的更多相关文章

  1. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  2. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  3. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  4. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  5. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

  6. MVC EF 增 删 改 查

    using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...

  7. python基础中的四大天王-增-删-改-查

    列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...

  8. 网站的增 / 删 / 改 / 查 时常用的 sql 语句

    最近在学习数据库 php + mysql 的基本的 crud 的操作,记录碰到的坑供自己参考.crud中需要用到的sql语句还是比较多的,共包括以下几个内容: 查询所有数据 查询表中某个字段 查询并根 ...

  9. 简单的php数据库操作类代码(增,删,改,查)

    这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...

随机推荐

  1. CSS改变placeholder的颜色

    :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #a1a1a1; } ::-moz-placeholder { /* Mozilla ...

  2. Android Studio 小技巧(2):AS中Button文字默认大写的问题

    问题类型 设置Layout中添加一个Button <Button android:id="@+id/bt_showerror" android:layout_width=&q ...

  3. 【菜鸟学Linux】Cron Job定期删除Log(日志)文件

    以前一直做Windows开发,近期的项目中要求使用Linux.作为小菜鸟一枚,赶紧买了一本经典书<鸟哥的Linux私房菜>学习.最近刚好有一个小任务 - 由于产品产生的Log很多,而且增长 ...

  4. bootstrap-table 大量字段整体表单上传之时间处理

    js 中用$('#addUserForm').serialize(),//获取表单中所有数据 传送到前台 (controller) $.ajax({ type : "POST", ...

  5. 笨办法学Python(三十一)

    习题 31: 作出决定 这本书的上半部分你打印了一些东西,而且调用了函数,不过一切都是直线式进行的.你的脚本从最上面一行开始,一路运行到结束,但其中并没有决定程序流向的分支点.现在你已经学了 if,  ...

  6. Cholesky分解(Cholesky decomposition / Cholesky )

    Cholesky decomposition In linear algebra, the Cholesky decomposition or Cholesky is a decomposition ...

  7. Ubuntu搜狗输入法无法输入中文等问题

    Linux版本的搜狗输入法经常崩溃,无法输入中文,今天作下记录,环境:Ubuntu14.04 64位 1.安装和卸载 Linux搜狗是基于框架fcitx的,先得安装框架Ubunt安装搜狗方法 也可以直 ...

  8. python中那个断言assert的优化

    Python Assert 为何不尽如人意# Python中的断言用起来非常简单,你可以在assert后面跟上任意判断条件,如果断言失败则会抛出异常. Copy >>> assert ...

  9. AI-Info-Micron-Insight:5G、人工智能和即将到来的移动革命

    ylbtech-AI-Info-Micron-Insight:5G.人工智能和即将到来的移动革命 1.返回顶部 1. 5G.人工智能和即将到来的移动革命 人们都说自己的手机“智能”,但究竟有多智能?凡 ...

  10. P1290 【欧几里德的游戏】

    P1290 [欧几里德的游戏] 真·做题全凭感性 从题目中很容易看出 这是一道\(Gcd\)的题 同时又结合了一些略略的博弈论(丢下锅跑真爽 我们看,辗转相减的\(a,b\)一共只有两种情况 \(a- ...