pgsql笔记

p.s.这是萌新自己自学总结的笔记,如果想学习得更透彻的话还是请去看大佬的讲解

目录

pgsql是一个nosql数据库,使用广泛

语法

sql 复制代码
# 建库
create database db;

# 查看数据库列表
\l

# 切换数据库
\c

# 删除数据库   需要当前会话不在当前库
drop database db1;

# 在shell中直接建库
createdb -U postgres mydb
sql 复制代码
# 建表
create table test(id serial primary key, name varchar(16) not null);

# 插入数据
insert into test(name) values('qill7');

# 查记录
select * from test;

# 查看当前库下的所有表
\d

# 看表结构
\d test

Schema

在 mysql 中,Schema 就是库

但是在 pg 中,Schema 不太一样,可以理解为命名空间,在库的下面又套了一层

使用模式(Schema)的优势:

允许多个用户使用一个数据库并且不会互相干扰

命名空间

将数据库对象组织成逻辑组以便更容易管理

第三方应用的对象可以放在独立的模式中,这样他们就不会与其他对象的名称发生冲突

sql 复制代码
# 创建模式
CREATE SCHEMA schema_name;
# 创建表到指定模式
CREATE TABLE schema_name.table_name (
    column_name data_type
);
# 切换模式
SET search_path TO schema_name;
# 查看模式列表
\dn;
# 删除模式
DROP SCHEMA schema_name CASCADE;

数据备份

sql 复制代码
# 导出数据
pg_dump -U postgres db_name > dbname.sql
# 恢复数据 需要先创建数据库
psql -f xx.sql -U postgres db

用户操作

sql 复制代码
# 创建用户并设置密码
create user u1 password 'pwd';

# 创建一个创建用户
create user u2 superuser password 'pwd';

# 创建一个可以建库的用户
create user u3 createdb password 'pwd';

# 查看用户列表
\du

# 赋予权限 赋予用户对 xx 数据库中 public 模式的所有权限:
GRANT ALL PRIVILEGES ON DATABASE db_name TO username;

# 取消权限
REVOKE ALL PRIVILEGES ON DATABASE db_name FROM username;

# 删除用户
DROP USER username;
相关推荐
MongoDB 数据平台10 小时前
为编码代理引入 MongoDB 代理技能和插件
数据库·mongodb
极客on之路10 小时前
mysql explain type 各个字段解释
数据库·mysql
代码雕刻家10 小时前
MySQL与SQL Server的基本指令
数据库·mysql·sqlserver
lThE ANDE10 小时前
开启mysql的binlog日志
数据库·mysql
yejqvow1210 小时前
CSS如何控制placeholder文字的颜色_使用--placeholder伪元素
jvm·数据库·python
handler0110 小时前
从源码到二进制:深度拆解 Linux 下 C 程序的编译与链接全流程
linux·c语言·开发语言·c++·笔记·学习
oLLI PILO10 小时前
nacos2.3.0 接入pgsql或其他数据库
数据库
m0_7436239210 小时前
HTML怎么创建多语言切换器_HTML语言选择下拉结构【指南】
jvm·数据库·python
pele10 小时前
Angular 表单中基于下拉选择动态启用字段必填校验的完整实现
jvm·数据库·python