瀚高数据库基础操作
瀚高数据库(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语句。
二、数据库操作
- 列出所有数据库
\l
- 连接到数据库
\c mydatabase
- 列出当前数据库所有表
\dt
- 推出
\q
- 列出所有用户
\du
- 推出 psql
\q
- 创建用户并设置密码
CREATE USER postgres WITH PASSWORD 'your_password';
- 修改指定用户密码
ALTER USER username WITH PASSWORD 'new_password';
三、备份还原操作
- 备份数据库并包含创建数据库命令:
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:要备份的数据库名。
- 恢复包含创建数据库命令的备份文件:
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:要恢复的备份文件的路径和文件名。
四、表操作
- 创建表
创建表的语法与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)
);
- 修改表
- 添加列
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;
- 删除表
删除表的语法如下:
DROP TABLE table_name;
例如,删除名为old_table的表:
DROP TABLE old_table;
- 查看表信息
在psql命令行界面中,可以使用以下命令来查看表信息:
- \d table_name:显示指定表的结构,包括列名、数据类型、是否允许为空以及默认值等信息。
- \d+ table_name:除了显示表的结构外,还会显示表的索引、触发器、约束以及外键等信息。