zoukankan      html  css  js  c++  java
  • Postgres常用命令之增、删、改、查

    增、删、改、查:

    • 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 

  • 相关阅读:
    Java小案例——对字符串进行加密解密
    Java基础——使用三元运算符判断一个数的奇偶性
    Java基础——字母大小写转换
    多线程实现——新龟兔赛跑
    编程面试题之——简答题(持续更新...)
    多线程之——共享数据
    多线程之——线程的状态
    Android 8.0 Oreo介绍
    Android 7.0 Nougat介绍
    Android 6.0 Marshmallow介绍
  • 原文地址:https://www.cnblogs.com/cf532088799/p/7592888.html
Copyright © 2011-2022 走看看