因为之前docker接触的不多,来新公司之后公司数据库用的是pg,感觉安装很麻烦,于是试了一下docker安装,几分钟就搞定了,真方便!自从用了docker之后再也离不开它了!
这里说一下,Windows电脑安装docker之前要安装wsl。这样就可以在Windows系统跑Ubuntu,直接命令行 wsl
就进入了!
可参考:
# 检查DOCKER状态
systemctl status docker
# 启动docker
systemctl start docker
# 设置开机启动
systemctl enable docker
# 查看帮助
docker --help
# 查看 docker 镜像
docker images
# 容器列表 状态
docker ps -a
# 删除容器
docker container rm xxx
# 启动容器
docker start [id]
# 进入容器
docker exec -it [id或者name] /bin/bash
可参考:
# 拉取镜像并运行
# -d 后台运行 postgres:12:指定使用postgres:12作为镜像
docker pull postgres:12
docker run --name postgres12 -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres:12
# 进入容器
docker exec -it postgres12 /bin/bash
# 进入容器后
whereis psql
# 连接数据库
psql -U postgres
psql -U username -h hostname -p port -d dbname
-U username 用户名,默认值postgres
-h hostname 主机名,默认值localhost
-p port 端口号,默认值5432
-d dbname 要连接的数据库名,默认值postgres
# 查看所有数据库
\list
select datname from pg_database;
# 创建数据库
create database TEST;
# 版本
select version();
# 创建数据库
create database xxx ;
# 查看数据库
\list
# 数据库改名
alter database db1 rename to db2;
# 删除数据库
drop database xxx;
# 进入数据库
\c xxx
# 查看表
\d
# 查看表结构
\d xxx
# 创建表
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( 一个或多个列 )
);
CREATE TABLE DEPARTMENT(
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL,
EMP_ID INT NOT NULL
);
# 删除表
drop table xxx;
# 表的修改
# 修改表名
alter table table_name rename to new_name ;
# 修改列名
ALTER TABLE table_name RENAME COLUMN old_name TO new_name;
# 修改列数据结构
ALTER TABLE table_name ALTER COLUMN column_name TYPE new_data_type;
# 增加列
ALTER TABLE table_name ADD COLUMN new_column_name data_type;
# 删除列
ALTER TABLE table_name DROP COLUMN column_name;
# 查看当前数据库模式
\dn
# 创建模式(注意是在哪个数据库创建的)
create schema xxx;
# 删除模式
drop schema xxx;
# 查看指定模式下的表情况
\d 模式名.*
模式
使用模式的优势:
# 表插入多行(注意逗号)
INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES
(值1, 值2, 值3, ...),
(值1, 值2, 值3, ...),
(值1, 值2, 值3, ...),
...
update [表名]
set column1 = value1, column2 = value2...., columnN = valueN
where id=xxx
DELETE FROM table_name WHERE [condition];
1. 数据库的创建、修改和删除;表的创建、修改和删除;数据的插入、修改和删除
2. 数据单表查询;多表查询;子查询;模糊匹配查询;查询运算(聚合、分组等);窗口函数
3. 常见索引(B-tree、Hash等)的特点;创建、修改和删除索引
窗口函数:通俗易懂的学会:SQL窗口函数 - 知乎 (zhihu.com)
数据:PostgreSQL练习_yws_2973199368的博客-CSDN博客