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