openGauss Sqlines 使用指导

Sqlines简介

Sqlines是一款开源软件,支持多种数据库之间的SQL语句语法的的转换,openGauss将此工具修改适配,新增了openGauss数据库选项,目前可以支持PostgreSQL、MySQL、Oracle向openGauss的SQL语法转换。

如何获取和使用

1、在社区下载代码到任意位置:openGauss/openGauss-tools-sqlines (gitee.com)

2、进入代码根目录下, 执行脚本编译安装sqlines:

[user@openGauss33 sqlines]$ sh build.sh -i

3、sqlines将安装到根目录下的/bin文件夹下,可将其添加到环境变量方便使用:

[user@openGauss33 sqlines]$ export PATH=$PATH:`pwd`/bin

4、使用sqlines

[user@openGauss33 sqlines]$ sqlines -?
SQLines 3.1.330 - SQL Assessment and Conversion Tool.
Portions Copyright (c) 2020 SQLines.
Portions Copyright (c) 2021 Huawei Technologies Co.,Ltd.
All Rights Reserved.

How to use:
    sqlines -option=value [...n]

Options:
   -s        - Source type
   -t        - Target type
   -in       - List of files (wildcards *.* are allowed)
   -out      - Output directory (the current directory by default)
   -log      - Log file (sqlines.log by default)
   -?        - Print how to use

Example:
Convert script.sql file from Oracle to openGauss
   ./sqlines -s=oracle -t=opengauss -in=script.sql

参数说明:

参数 值域 功能
-? - 帮助菜单
-s [ oracle | mysql | postgresql ] Source数据库
-t [ opengauss ] Target数据库
-in FILE_PATH 输入文件
-out [ FILE_PATH | /* empty */] 输出文件,不指定时输出在in文件夹,
-log [ FILE_PATH | /* empty */] 输出日志,不指定时输出在当前文件夹

5、执行脚本卸载sqlines:

[user@openGauss33 sqlines]$ sh build.sh -m

PostgreSQL to openGauss

删除IF

Create table IF NOT EXISTS tb as select * from basetb;
Create table IF NOT EXISTS tb as execute p1();
Create index IF NOT EXISTS idx on tb(a);
Create sequence IF NOT EXISTS sqc;
Create schema IF NOT EXISTS schm;

openGauss中很多语法暂时不支持 if not exists判断,因此在转换时会给删掉。

如: Create schema IF NOT EXISTS schm; => Create schema schm;

MySQL to openGauss

数据类型

MYSQL 数据类型 openGauss 数据类型 备注
TINYINT SMALLINT
MEDIUMINT INT
DOUBLE DOUBLE PRECISION
FLOAT DOUBLE PRECISION
DATETIME TIMESTAMP
TINYBLOB BYTEA
BLOB BYTEA
MEDIUNBLOB BYTEA
LONGBLOB BYTEA
TINYTEXT TEXT
MEDIUMTEXT TEXT
LONGTEXT TEXT
BINARY BYTEA
VARBINARY BYTEA

Mysql中很多数据类型与openGauss有差别,对于表中的数据类型,可以进行转换成为openGauss的数据类型。

CREATE TABLE

删除if

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name select_statement

对于create table as语句,openGauss不支持使用 if not exists 判断,因此会删除if判断。

列约束

语法:column_definition:
  		col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] [
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Opengauss Chameleon是一种兼容MySQL协议的数据库引擎,它是基于Opengauss数据库开发的。Opengauss是华为公司自主研发的一个开源数据库,与传统的关系型数据库相比,Opengauss具有更高的性能和更好的扩展性。 Opengauss Chameleon的使用可以帮助用户在原有的MySQL应用上,无需修改代码即可迁移至Opengauss数据库中。该引擎在逻辑上实现了MySQL协议,可以直接处理来自MySQL客户端的请求,无需通过中间件进行转换。这样一来,用户可以在部署MySQL应用时,将数据库引擎替换为Opengauss Chameleon,实现无缝的迁移。 Opengauss Chameleon内部使用Opengauss的存储引擎,支持了很多常见的MySQL特性,如事务、锁机制、索引等。通过Opengauss Chameleon,用户可以在不改变现有应用的情况下,享受到Opengauss数据库的高性能和高可靠性。 Opengauss Chameleon的安装和配置相对简单,用户只需要下载相应的软件包,并按照官方文档进行安装和配置即可。安装完成后,用户可以在MySQL客户端中连接到Opengauss Chameleon,然后像连接MySQL数据库一样进行操作。 总结来说,Opengauss Chameleon的使用可以让用户在不改动现有应用的情况下,将MySQL应用迁移到Opengauss数据库上。它提供了MySQL协议的兼容性和Opengauss本身的高性能,方便用户享受到Opengauss数据库的优势。使用Opengauss Chameleon,用户可以更好地利用现有的应用和数据库资源,提升系统性能和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值