技术分享

您当前所在的位置:首页>>技术分享

GaussDB数据库基本命令有哪些?

GaussDB(for Redis)是华为云数据库团队自主研发的兼容Redis协议的云原生数据库,该数据库采用计算存储分离架构,突破开源Redis的内存限制,可轻松扩展至PB级存储。 今天小编主要为大家介绍一些常用的基本命令。

GaussDB数据库基本命令有哪些?

GaussDB命令行连接

1.1 ssh连接主机,IP:192。168。28。178,用户名:root,密码:Huawei @123
1.2 切换至bin目录,cd /home/gaussdba/app/bin/
1.3 切换用户为gaussdba,su gaussdba
1.4 连接gaussDb,gsql -d postgres -p 5432

基本操作命令

\l 列出所有数据库
\c database_name 切换数据库
\d 列出当前数据库下的表
\d tablename 列出指定表的所有字段
\d+ tablename 查看指定表的基本情况
\dn 展示当前数据库下所有schema信息
SHOW search_path; 显示当前使用的schema
SET search_path TO myschema; 切换当前schema
\q 退出登录

mysql数据迁移至gaussDB

1. 导出mysql数据
   show variables like '%secure%' 查询出secure_file_priv地址;
在secure_file_priv地址下mkdir aaa;
修改文件权限chmod -R 777 aaa;
    select * from i18n_message into outfile '/tmp/etl/temp.dat' fields terminated by ''';
2. 下载数据并上传至GaussDb服务器
3. 导入gaussDb
    COPY I18N_MESSAGE FROM '/home/gaussdba/app/bin/temp.dat' WITH DELIMITER '''';

切换gaussDb中遇到的问题

1. 执行出现如下错误:column "TASK.TASK_ID" must appear in the GROUP BY clause or be used in an aggregate function ,原因是:select的字段与Group by中的字段要一致或不一致的字段必须使用聚合函数;
2. MySQL中的ifnull函数用nvl函数替换;
3. limit 0,10 ---------->limit 10 offset 0;
4. find_in_set(operator, '1096,789') ---------->operator ~ concat('(', replace('1096,789', ',', '|'), ')');
5. 不支持uuid(),可以自定义UUID函数,
CREATE OR REPLACE FUNCTION UUID()
RETURNS TEXT AS $$
BEGIN
RETURN
to_number(now()::text,'99999999999999999999999999999999999999999999999');
END;
$$ LANGUAGE plpgsql;
ALTER FUNCTION UUID() OWNER TO GAUSSDBA;
6. 字符串不能用双引号""括起来,只能用单引号'',例如:SELECT "" as local_path ----------->SELECT '' as local_path
7. INSERT INTO ON DUPLICATE KEY ------------>REPLACE INTO
8. 模糊查询,LIKE:区分大小写,ILIKE:不区分大小写,MySQL中查询默认不区分大小写,所以可以用ILIKE替换
9. GaussDB中认为null和空字符''是一样的,不支持a=''这种空字符判断,必须写成a is null
10. GaussDB中字符串比较时,注意字段类型要一致,例如CHAR是定长的,不足的补空格,和VARCHAR类型比较时就会有问题
11. 单引号'转义,用一个单引号转义另一个'',例如xi''an


上一篇:华为认证网络工程师题库哪里有?

下一篇:华为认证考试内容知识点解析