开发者
资源
openGauss数据库常用指令
openGauss数据库常用指令
发表于2024/04/09
4803

openGauss数据库作为一款基于SQL标准的关系型数据库管理系统,支持广泛的SQL指令进行数据操作、查询、管理以及权限控制。以下是openGauss数据库中一些常用的SQL指令示例,涵盖了数据定义(DDL)、数据操纵(DML)、数据查询(DQL)和数据控制(DCL)等方面:

数据定义(DDL)

创建数据库

CREATE DATABASE db_name;

创建用户

CREATE USER username WITH PASSWORD 'password';

创建表

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    ...
    constraint_name constraint_type (column_list)
);

-- 示例
CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    department VARCHAR(50),
    salary DECIMAL(10, 2)
);

修改表结构

ALTER TABLE table_name
ADD COLUMN new_column datatype;

-- 或

ALTER TABLE table_name
DROP COLUMN column_to_remove;

创建索引

CREATE INDEX idx_name ON table_name (column_to_index);

数据操纵(DML)

插入数据

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);

-- 示例
INSERT INTO employees (id, name, department, salary)
VALUES (1, 'John Doe', 'Sales', 50000.00);

更新数据

UPDATE table_name
SET column1 = new_value1, column2 = new_value2, ...
WHERE condition;

-- 示例
UPDATE employees
SET salary = salary * 1.1
WHERE department = 'Sales';

删除数据

DELETE FROM table_name
WHERE condition;

-- 示例
DELETE FROM employees
WHERE department = 'Marketing';

数据查询(DQL)

基本查询

SELECT column1, column2, ...
FROM table_name
WHERE condition
ORDER BY column1 [ASC|DESC]
LIMIT limit_count OFFSET offset_count;

-- 示例
SELECT id, name, salary
FROM employees
WHERE department = 'IT'
ORDER BY salary DESC
LIMIT 10;

聚合函数

SELECT COUNT(*), AVG(salary), MAX(salary), MIN(salary)
FROM employees;

连接查询

SELECT e.id, e.name, d.department_name
FROM employees e
JOIN departments d ON e.department = d.department_id;

数据控制(DCL)

授予权限

GRANT privilege_list ON object TO user;

-- 示例
GRANT SELECT, INSERT, UPDATE ON employees TO user1;

撤销权限

REVOKE privilege_list ON object FROM user;

提交与回滚事务

BEGIN TRANSACTION;

-- 执行一系列操作...

COMMIT; -- 提交事务,永久保存更改

-- 或

ROLLBACK; -- 回滚事务,取消所有未提交的更改

会话管理

ALTER SESSION SET parameter_name = value;

-- 示例
ALTER SESSION SET search_path = 'public, my_schema';

系统管理

-- 查看数据库状态
SELECT pg_stat_activity FROM pg_catalog.pg_stat_activity;

-- 重启数据库
SELECT pg_ctl restart;
收藏举报
Level 1
0
帖子
0
粉丝
0
获赞