Postgresql

mac环境

postgres 10.4

安装和连接数据库:基于docker

传送门:https://www.cnblogs.com/zhzhlong/p/9493245.html

数据库操作

pg默认已经进行了如下的操作:创建了一个名为postgres的数据库用户和一个名为postgres的数据库,同时还创建了一个名为postgres的Linux系统用户。实际上,这里创建的postgres数据库用户拥有超级管理员身份,可以访问我们后面所创建的所有数据库,同时可以进行创建新数据库用户和修改用户密码等操作。 --------------------- 本文来自 coolboygym 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/mimicoa/article/details/79090930?utm_source=copy 

设置或重置密码:

# password postgres

创建用户:因为postgers用户具有很高的权限,通常我们不会直接以这个身份登录,而是会另外创建一个新用户

# CREATE USER dbuser WITH PASSWORD 'password';

为用户创建数据库:

# CREATE DATABASE exampledb OWNER dbuser;

使用新创建的用户和数据库登陆:

psql -U dbuser -d exampledb -h localhost -p 5432

常用的控制台命令:

password           设置密码
q                  退出
h                  查看SQL命令的解释,比如h select
?                  查看psql命令列表
l                  列出所有数据库
c [database_name]  连接其他数据库
d                  列出当前数据库的所有表格
d [table_name]     列出某一张表格的结构
x                  对数据做展开操作
du                 列出所有用户

常用的SQL语句

# 创建新表
CREATE TABLE table_name(name VARCHAR(20), birth DATE);

# 插入数据
INSERT INTO table_name(name, birth) VALUES('欧文', '1994-08-23');

# 查询记录
SELECT * FROM table_name;

# 更新数据
UPDATE table_name set name = '勒夫' WHERE name = '欧文';

# 删除记录
DELETE FROM table_name WHERE name = '欧文' ;

# 添加字段
ALTER TABLE table_name ADD email VARCHAR(40);

# 更改字段类型
ALTER TABLE table_name ALTER COLUMN birth SET NOT NULL;

# 设置字段默认值(注意字符串使用单引号)
ALTER TABLE table_name ALTER COLUMN email SET DEFAULT 'example@example.com';

# 去除字段默认值
ALTER TABLE table_name ALTER email DROP DEFAULT;

# 重命名字段
ALTER TABLE table_name RENAME COLUMN birth TO birthday;

# 删除字段
ALTER TABLE table_name DROP COLUMN email;

# 表重命名
ALTER TABLE table_name RENAME TO backup_table;

# 删除表
DROP TABLE IF EXISTS backup_table;

# 删除库
c postgres;
DROP DATABASE IF EXISTS hello;

备份和恢复

$ pg_dump --format=t -d db_name -U user_name -h 127.0.0.1 -O -W  > dump.sql
$ psql -h 127.0.0.1 -U user_name db_name < dump.sql

参考:https://blog.csdn.net/mimicoa/article/details/79090930

原文地址:https://www.cnblogs.com/zhzhlong/p/9390125.html