高斯数据库(GaussDB)常用命令
高斯数据库(GaussDB)是华为推出的一款企业级分布式关系型数据库,兼容 PostgreSQL 协议,下面是一些常用的高斯数据库命令,涵盖连接数据库、数据库操作、表操作、数据查询等方面:
一、连接与退出数据库
1.连接数据库
# 使用gsql工具连接
gsql -d 数据库名 -h 主机地址 -p 端口号 -U 用户名 -W 密码
# 示例:连接本地名为mydb的数据库,用户为dbuser
gsql -d mydb -h localhost -p 5432 -U dbuser -W 123456
2.退出数据库
\q -- 在gsql交互界面中输入,退出连接
二、数据库操作
1.创建数据库
CREATE DATABASE 数据库名;
-- 示例:创建名为testdb的数据库
CREATE DATABASE testdb;
2.删除数据库
DROP DATABASE 数据库名;
-- 示例:删除testdb数据库
DROP DATABASE testdb;
3.查看所有数据库
-- gsql交互命令
\l
-- 或使用SQL查询
SELECT datname FROM pg_database;
4.切换数据库
\c 数据库名 -- 示例:\c testdb
三、表空间操作
1.创建表空间
CREATE TABLESPACE 表空间名 LOCATION '存储路径';
-- 示例:在/data/tbs路径创建tbs1表空间
CREATE TABLESPACE tbs1 LOCATION '/data/tbs';
2.删除表空间
DROP TABLESPACE 表空间名;
3.查看表空间
\db -- gsql交互命令
四、表操作
1.创建表
CREATE TABLE 表名 (列名1 数据类型 [约束],列名2 数据类型 [约束],...
);
-- 示例:创建学生表students
CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT,gender CHAR(1)
);
2.删除表
DROP TABLE 表名;
3.查看当前数据库所有表
\dt -- gsql交互命令
4.查看表结构
\d 表名 -- 示例:\d students
5.修改表结构
-- 添加列
ALTER TABLE 表名 ADD COLUMN 列名 数据类型;
-- 示例:给students表添加address列
ALTER TABLE students ADD COLUMN address VARCHAR(100);-- 修改列数据类型
ALTER TABLE 表名 ALTER COLUMN 列名 TYPE 新数据类型;-- 删除列
ALTER TABLE 表名 DROP COLUMN 列名;
五、数据操作
1.插入数据
INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);
-- 示例:向students表插入数据
INSERT INTO students (id, name, age, gender) VALUES (1, '张三', 20, '男');
2.查询数据
SELECT 列1, 列2, ... FROM 表名 [WHERE 条件];
-- 示例:查询年龄大于18的学生
SELECT * FROM students WHERE age > 18;
3.更新数据
UPDATE 表名 SET 列1=值1, 列2=值2 WHERE 条件;
-- 示例:将id=1的学生年龄改为21
UPDATE students SET age=21 WHERE id=1;
4.删除数据
DELETE FROM 表名 WHERE 条件;
-- 示例:删除id=1的学生记录
DELETE FROM students WHERE id=1;
六、索引操作
1.创建索引
CREATE INDEX 索引名 ON 表名(列名);
-- 示例:为students表的name列创建索引
CREATE INDEX idx_stu_name ON students(name);
2.删除索引
DROP INDEX 索引名;
七、用户与权限管理
1.创建用户
CREATE USER 用户名 WITH PASSWORD '密码';
-- 示例:创建用户user1,密码为P@ssw0rd
CREATE USER user1 WITH PASSWORD 'P@ssw0rd';
2.授予权限
GRANT 权限 ON 数据库对象 TO 用户名;
-- 示例:授予user1对students表的查询权限
GRANT SELECT ON students TO user1;
3.撤销权限
REVOKE 权限 ON 数据库对象 FROM 用户名;
八、其他常用命令
- 查看当前用户:
SELECT current_user;
- 查看版本信息:
SELECT version();
- 执行 SQL 脚本文件:
\i /path/to/script.sql
(在 gsql 交互界面中) - 查看表空间使用情况:
SELECT * FROM pg_tablespace;