瀚高数据库基础操作

瀚高数据库(HighGo Database)是一种关系型数据库,它兼容PostgreSQL语法。以下是关于瀚高数据库连接数据库、表操作以及样例的详细介绍:

一、连接数据库

要连接瀚高数据库,通常需要使用数据库客户端工具或命令行工具。以下是通过命令行工具连接瀚高数据库的示例:

psql -h host -p port -U user -d database

其中:

  • -h 指定主机地址。
  • -p 指定端口号(翰高数据库默认端口为5866,但可能因版本或配置而异)。
  • -U 指定用户名。
  • -d 指定要连接的数据库名称。

例如,要连接到名为my_database的数据库,可以使用以下命令:

psql -h localhost -p 5866 -U myuser -d my_database

在连接成功后,会进入psql命令行界面,可以在此界面执行SQL语句。

二、数据库操作

  1. 列出所有数据库
\l
  1. 连接到数据库
\c mydatabase
  1. 列出当前数据库所有表
\dt
  1. 推出
\q
  1. 列出所有用户
\du
  1. 推出 psql
\q
  1. 创建用户并设置密码
CREATE USER postgres WITH PASSWORD 'your_password';
  1. 修改指定用户密码
ALTER USER username WITH PASSWORD 'new_password';

三、备份还原操作

  1. 备份数据库并包含创建数据库命令:
pg_dump -U postgres -h localhost -p 5432 -F c -b -v -C -f /path/to/backup/aibox_cloud.backup mydatabase

参数解释:

  • pg_dump:用于备份 PostgreSQL 数据库的工具。
  • -U postgres:指定数据库用户名为 postgres。
  • -h localhost:指定数据库服务器的主机名为 localhost。
  • -p 5432:指定数据库服务器的端口号为 5432。
  • -F c:指定备份文件格式为自定义格式(custom)。这种格式支持压缩和并行恢复。
  • -b:包含大对象(blobs)在备份中。
  • -v:启用详细模式,显示备份过程中的详细信息(verbose)。
  • -C:在备份文件中包含创建数据库的命令(–create)。
  • -f /path/to/backup/aibox_cloud.backup:指定输出备份文件的路径和文件名为 /path/to/backup/aibox_cloud.backup。
  • mydatabase:要备份的数据库名。
  1. 恢复包含创建数据库命令的备份文件:
pg_restore -U postgres -h localhost -p 5432 -C -d postgres -v /path/to/backup/aibox_cloud.backup

参数解释:

  • pg_restore:用于恢复由 pg_dump 创建的备份文件的工具。
  • -U postgres:指定数据库用户名为 postgres。
  • -h localhost:指定数据库服务器的主机名为 localhost。
  • -p 5432:指定数据库服务器的端口号为 5432。
  • -C:在恢复过程中创建数据库。如果备份文件中包含了创建数据库的命令(–create)。
  • -d postgres:指定连接的目标数据库。在使用 -C 选项时,这个数据库仅用作连接,并在其中执行创建和恢复新数据库的操作。通常使用默认的 postgres 数据库。
  • -v:启用详细模式,显示恢复过程中的详细信息(verbose)。
  • /path/to/backup/aibox_cloud.backup:要恢复的备份文件的路径和文件名。

四、表操作

  1. 创建表
    创建表的语法与PostgreSQL类似,以下是一个创建表的示例:
CREATE TABLE table_name (
    column1 data_type1 [constraint1],
    column2 data_type2 [constraint2],
    ...
);

例如,创建一个名为employees的表,包含id、name、age和department四个字段:

CREATE TABLE employees (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50),
    age INTEGER,
    department VARCHAR(30)
);
  1. 修改表
  • 添加列
ALTER TABLE table_name ADD COLUMN new_column_name data_type [constraint];

例如,在employees表中添加一个名为salary的列:

ALTER TABLE employees ADD COLUMN salary DECIMAL(10,2);
  • 修改列的数据类型
ALTER TABLE table_name ALTER COLUMN column_name TYPE new_data_type;

例如,将employees表中的age列的数据类型从INTEGER修改为BIGINT:

ALTER TABLE employees ALTER COLUMN age TYPE BIGINT;
  • 删除列
ALTER TABLE table_name DROP COLUMN column_name;

例如,从employees表中删除department列:

ALTER TABLE employees DROP COLUMN department;
  1. 删除表
    删除表的语法如下:
DROP TABLE table_name;

例如,删除名为old_table的表:

DROP TABLE old_table;
  1. 查看表信息
    在psql命令行界面中,可以使用以下命令来查看表信息:
  • \d table_name:显示指定表的结构,包括列名、数据类型、是否允许为空以及默认值等信息。
  • \d+ table_name:除了显示表的结构外,还会显示表的索引、触发器、约束以及外键等信息。
  1. 查询所有表数据
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public' AND table_type = 'BASE TABLE';

解释:

  1. information_schema.tables:
    这是一个标准的 SQL 信息架构视图,用于存储数据库中所有表的信息。
  2. table_schema:
    指定表的 schema。在瀚高数据库中,public 是默认的 schema,但你也可以根据你的实际 schema 名称进行修改。
  3. table_type:
    过滤条件,确保只选择基础表(BASE TABLE),不包括视图(VIEW)等其他类型的对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王小工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值