暂无图片
暂无图片
13
暂无图片
暂无图片
暂无图片

gaussDB数据库常用操作命令

原创 哇哈哈 2020-08-11
6678

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
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论