Postgres新手入门

概览

在工作中接触到了Postgres对这个和mysql齐名的数据库很好奇,所以把它与mysql的异同整理出来,希望能对一些和我一样从未接触过Postgres的人,有些许帮助

第一次整理文章,做分享,如有错误,欢迎指正

postgres 可以说是目前功能最强大、特性最丰富和结构最复杂的开源数据库管理系统,其中有些特性甚至连商业数据库都不具备。这个起源于加州大学伯克利分校的数据库,现已成为一项国际开发项目,并且拥有广泛的用户群,尤其是在海外,目前国内使用者也越来越多,被称为功能最强大的开源数据库。

安装

mac安装

安装数据库非常简单,只需要执行以下命令即可

brew install postgresql
复制代码

安装信息可以使用以下命令查看

brew info postgresql 
复制代码

安装路径

// 软件路径
/usr/local/Cellar/postgresql/版本号/*
// 配置路径
/usr/local/var/postgres/postgres.conf
// 默认数据路径
/usr/local/var/postgres/
复制代码

ubuntu安装

安装PostgreSQL客户端和服务端

sudo apt-get install -y postgresql-client postgresql pgadmin3
复制代码

安装配置

第一次使用

启动

初次安装后,默认生成一个名为postgres的数据库

其中linux生成了一个 名为postgres系统用户和同名的数据库用户

而mac 则只直接生成了 一个安装用户同名的数据库用户

默认密码都未空

初始化数据库

initdb /usr/local/var/postgres
复制代码

启动方式

brew services postgresql start/stop/restart 
// 或者
pg_ctl -D /usr/local/var/postgres start
复制代码

登陆

登陆后需要尽快更新密码

psql -U [user] -d [database] -h [host] -p [post]
复制代码

更新密码方式 执行\password [用户] 之后输入两次新密码即可

\password [用户]
复制代码

常用操作

辅助命令

  • \? 查看psql命令列表
  • \l 展示所有数据库列表 类似于mysql show databases
  • \c [database_name] 切换数据库 类似于mysql use database
  • \d 展示当前数据库的所有表格 类似于mysql show tables
  • \d [table_name] 列出某一张表格的结构 类似于mysql desc table
  • \di 查看索引
  • \du 列出所有用户
  • \h 查看帮助
  • \password [user_name] 重置用户密码
  • alter user 用户名 with password '新密码'
  • \q 退出

数据库操作

  • 创建数据库
create database [数据库名]; 
复制代码
  • 删除数据库
drop  database [数据库名]; 
复制代码
  • 修改数据库名
alter database [旧数据库名] rename to [新数据库名];
复制代码

数据表操作

数据表操作与mysql基本一致

  • 创建数据表
CREATE TABLE user_tbl(
    name VARCHAR(20), 
    signup_date DATE
);
复制代码
  • 删除数据表
drop TABLE user_tbl;
复制代码
  • 修改数据表名
alter TABLE [旧数据表名] rename to [新数据表名];
复制代码

数据表字段操作

  • 新增字段
ALTER TABLE user_tbl ADD email VARCHAR(40);
复制代码
  • 更改字段结构
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;
复制代码
  • 修改数据字段名称
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;
复制代码
  • 删除字段
ALTER TABLE user_tbl DROP COLUMN email;
复制代码

数据表索引操作

postgres 共有9种索引 hash,gin,gist,sp-gist,brin,bloom ,rum,zombodb,bitmap 具体差异参考文章 PostgreSQL 9种索引的原理和应用场景

  • 新增索引
CREATE INDEX name ON table USING hash (column);
复制代码
  • 修改&重建索引
 ALTER INDEX 索引名 SET (fillfactor = 75);
 REINDEX INDEX 索引名;
复制代码
  • 索引重命名
ALTER INDEX 旧索引 RENAME TO 新索引;
复制代码
  • 索引删除(级联删除)
drop index 索引名 Cascade
复制代码

数据操作 增删改查

  • 添加数据
INSERT INTO user_tbl(
    name, 
    signup_date
) VALUES(
    '张三', 
    '2013-12-22'
);
复制代码
  • 更新数据
UPDATE user_tbl 
    set name = '李四' 
WHERE 
    name = '张三';
复制代码

-- 删除数据

DELETE FROM user_tbl WHERE name = '李四' ;
复制代码

-- 查询

SELECT * FROM user_tbl WHERE name = '张三';
复制代码

转载于:https://juejin.im/post/5c1c899ef265da615f773e1b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值