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
Postgres常用命令之增、删、改、查的更多相关文章
- 好用的SQL TVP~~独家赠送[增-删-改-查]的例子
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...
- iOS sqlite3 的基本使用(增 删 改 查)
iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...
- django ajax增 删 改 查
具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...
- ADO.NET 增 删 改 查
ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...
- MVC EF 增 删 改 查
using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...
- python基础中的四大天王-增-删-改-查
列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...
- 网站的增 / 删 / 改 / 查 时常用的 sql 语句
最近在学习数据库 php + mysql 的基本的 crud 的操作,记录碰到的坑供自己参考.crud中需要用到的sql语句还是比较多的,共包括以下几个内容: 查询所有数据 查询表中某个字段 查询并根 ...
- 简单的php数据库操作类代码(增,删,改,查)
这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...
随机推荐
- 转:Windows任务计划实现自动执行ArcGIS相关功能
今天一不小心点开了Windows任务计划,以前咩有怎么用过,发现还挺好用,于是想到了以前用户的一些问题 1:用户环境使用ArcSDE服务连接,每次运行到一定的负载量(可能是几天),就会很慢,用户就喜欢 ...
- Eclipse 如何修改 Web 项目的名称
Eclipse 切换到 Navigator 视图,能显现出项目下所有的文件便于修改. 1.修改该项目目录下:.project文件 <projectDescription><name ...
- selenium server在页面加载超时浏览器与driver通信失败时的妙用
事实上,WebDriver有两种方式“驱动”浏览器的方式.1. Selenium Server:和Selenium RC一样的,通过指定远端服务器IP地址和端口号,由这个远端服务器来驱动浏览器.2. ...
- Java—多态
多态——对象的多种形态(继承是多态实现的基础) 引用多态:父类的引用可以指向本类的对象:父类的引用可以指向子类的对象 方法多态:创建本类对象时,调用的方法为本类方法:创建子类对象时,调用的方法为子类重 ...
- java compiler没有1.8怎么办
选择第一个点击安装,安装完成后,重启eclipse,打开java compiler 就可以选择1.8了. 成功: 扫个红包吧! Donate捐赠 如果我的文章帮助了你,可以赞赏我 1 元,让我继续写 ...
- win2008 配置TLS1.2
配置TLS1.2 提供两种方法, 选择其中一种就行了 1.手动设置 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProv ...
- JavaScript 面向对象编程(二):继承
Javascript面向对象编程(二):构造函数的继承 这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例. 今天要介绍的是,对象之间的"继 ...
- LeetCode OJ Palindrome Number(回文数)
class Solution { public: bool isPalindrome(int x) { ,init=x; ) return true; ) return false; ){ r=r*+ ...
- MySQL入门很简单: 11 mysql函数
1. 数学函数 2. 字符串函数 3. 日期和时间函数 4. 条件判断函数 IF(expr, v1, v2) // 如果表达式expr成立,返回结果v1,否则返回v2: IFNULL(v1, v2) ...
- leetcode:栈
1. evaluate-reverse-polish-notation Evaluate the value of an arithmetic expression in Reverse Polish ...