当前位置: 首页 > news >正文

达梦数据库相关SQL及适配Mysql配置总结

🍓 简介:java系列技术分享(👉持续更新中…🔥)
🍓 初衷:一起学习、一起进步、坚持不懈
🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏
🍓 希望这篇文章对你有所帮助,欢迎点赞 👍 收藏 ⭐留言 📝

🍓 更多文章请点击
在这里插入图片描述在这里插入图片描述

文章目录

  • 一、什么是达梦数据库?
  • 二、数据库连接
    • 2.1 windows中登录
    • 2.2 Linux中登录
    • 2.3 使用DataGrip进行连接
  • 三、兼容Mysql
    • 3.1 windows版本兼容
    • 3.2 linux版本兼容
  • 四、SQL使用
    • 模式相关
      • 1. 查询所有模式
      • 2. 创建模式
      • 3. 删除模式
      • 4. 指定模式
    • 表相关
      • 1. 查询当前用户所有表
      • 2. 创建表
      • 3. 重命名表名
      • 4. 增加表注释
      • 5. 查看表主键外键
      • 6. 表字段增加
      • 7. 表字段删除
      • 8. 查询表注释
      • 9. 查询列注释
      • 10 . 增加列注释
    • 其他
      • 1. 查询当前用户
      • 2. 查询数据库版本
      • 3. 查看达梦数据库当前状态
      • 4. 查询数据库有哪些用户
  • 五、SpringBoot集成
    • 5.1 添加依赖
    • 5.2 yml配置
  • 六、语法适配
    • 5.1 单双引号(重点)

但是

一、什么是达梦数据库?

达梦官网:https://www.dameng.com/
达梦技术文档:https://eco.dameng.com/document/dm/zh-cn/pm/logical-structure.html

达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称 DM
达梦数据库是一款中国自主研发的专业数据库系统,是适用于企业级应用的高可靠性、高性能、高可扩展性的数据库管理系统。在国内先后应用于金融、电信、政府、医疗、制造等领域,并在海外市场也逐渐得到了认可和应用。

DM的Schema类似MYSQL中的Database概念

DM数据库的安装方式网上有很多(Windows和Linux),这里只对使用情况进行记录

二、数据库连接

2.1 windows中登录

windows中安装可查看该文档:安装文档来源于网络

  1. 首先查看服务是否启动

    在这里插入图片描述
    或者从开始位置查找
    在这里插入图片描述

  2. 查看服务是否正常启动`

在这里插入图片描述
3. 通过DM连接自带的管理工具进行使用

在这里插入图片描述在这里插入图片描述

2.2 Linux中登录

首先找到达梦安装的bin目录下

需要注意:—通过disql执行该命令后,回车不会停止输入,需要输入/符号来终止

用户名密码等信息自行修改

 ./disql SYSDBA/SYSDBA@localhost:5236

在这里插入图片描述

2.3 使用DataGrip进行连接

  1. 因为DataGrip中没有达梦的驱动首先要下载驱动

    驱动下载地址:https://eco.dameng.com/download/

在这里插入图片描述在这里插入图片描述

将驱动移动到安装目录,或者不会删除的目录中

在DataGrip中添加驱动
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
配置模板

jdbc:dm://{host::localhost}?[:{port::5236}][/DataBaseName?schema={database}]

在这里插入图片描述

进行保存,然后选择该驱动进行连接

在这里插入图片描述

成功

在这里插入图片描述

三、兼容Mysql

3.1 windows版本兼容

在这里插入图片描述

选中数据库实例,找到COMPATIBLE_MODE属性:
对于该属性的说明:是否兼容其他数据库模式。0:不兼容,1:兼容SQL92标准,2:兼容ORACLE,3:兼容MS SQL SERVER,4:兼容MYSQL;我们将其设置成4,变成兼容MySQL模式,保存后重启实例。

在这里插入图片描述
重启实例

在这里插入图片描述
在这里插入图片描述

3.2 linux版本兼容

达梦DM8数据库可以通过修改实例的配置文件dm.ini中的参数COMPATIBLE_MODE用来兼容不同的数据库,此参数为静态参数,修改后只有重启数据库服务才能生效。

通常情况下,dm.ini在data目录中

在这里插入图片描述在这里插入图片描述
将COMPATIBLE_MODE参数修改为4

对于该属性的说明:是否兼容其他数据库模式。0:不兼容,1:兼容SQL92标准,2:兼容ORACLE,3:兼容MS SQL SERVER,4:兼容MYSQL;我们将其设置成4,变成兼容MySQL模式,保存后重启实例。
在这里插入图片描述

  1. 重启dm服务
    在bin目录下
./DmServiceDMSERVER restart
  1. 查询COMPATIBLE_MODE状态—4为兼容Mysql
SELECT para_name,para_type,para_value FROM V$DM_INI WHERE PARA_NAME ='COMPATIBLE_MODE';

在这里插入图片描述

四、SQL使用

DM的Schema类似MYSQL中的Database概念

需要注意:—通过disql执行该命令后,回车不会停止输入,需要输入/符号来终止

模式相关

1. 查询所有模式

select distinct owner from dba_objects;

2. 创建模式

create schema TEST AUTHORIZATION SYSDBA;

3. 删除模式

drop schema TEST ;

4. 指定模式

SET SCHEMA TEST;

表相关

1. 查询当前用户所有表

select table_name,tablespace_name from user_tables;

2. 创建表

-- 创建employee表
CREATE TABLE employee
(employee_id INTEGER,employee_name VARCHAR2(20) NOT NULL,hire_date DATE,salary INTEGER,department_id INTEGER NOT NULL
);
-- 使用 CREATE TABLE 语句创建 department 表
CREATE TABLE department
(department_id INTEGER PRIMARY KEY,department_name VARCHAR(30) NOT NULL
);
-- 非空约束
ALTER TABLE employee MODIFY( hire_date not null);
-- 主键约束
ALTER TABLE employee ADD constraint pk_empid PRIMARY KEY(employee_id);
-- 外键约束
ALTER TABLE employee ADD constraint fk_dept FOREIGN KEY (department_id) REFERENCES department (department_id);

3. 重命名表名

alter table tests rename to test_rename;

4. 增加表注释

comment on table test_rename is 'AAAAAAA';

5. 查看表主键外键

SELECT table_name, constraint_name, constraint_type FROM all_constraints WHERE owner='DM' AND table_name='EMPLOYEE';

6. 表字段增加

ALTER TABLE "DM"."EMPLOYEE" add "IS_REPEAT" VARCHAR(255);
COMMENT ON COLUMN "DM"."EMPLOYEE"."IS_REPEAT" IS '是否重复,1、是,0、否';

7. 表字段删除

ALTER TABLE "DM"."EMPLOYEE" DROP COLUMN IS_REPEAT;

8. 查询表注释

select comments from user_tab_comments where table_name = 'table1';

9. 查询列注释

select * from user_col_comments where table_name = 'table1';

10 . 增加列注释

comment on column test_rename.id is 'Primary'; 

其他

1. 查询当前用户

select user;

2. 查询数据库版本

SELECT * FROM V$VERSION;

3. 查看达梦数据库当前状态

select status$ from v$instance;

4. 查询数据库有哪些用户

select username from dba_users;

五、SpringBoot集成

5.1 添加依赖

<dependency><groupId>com.dameng</groupId><artifactId>DmJdbcDriver18</artifactId><version>8.1.2.192</version>
</dependency>

5.2 yml配置

spring:datasource:# DMusername: ***password: ***driver-class-name: dm.jdbc.driver.DmDriverurl: jdbc:dm://127.0.0.1:5236?schema=**

其他和与Mysql使用一样

六、语法适配

5.1 单双引号(重点)

达梦数据库对单双引号有着严格的规定,在执行SQL语句的时候,字符串常量应使用单引号括起,关键字、对象名、字段名、别名等则使用双引号括起。而MySQL中则没有严格的规定,在适配过程中MySQL SQL语句中的单双引号严格按照DM的规定修改。

在这里插入图片描述在这里插入图片描述

http://www.lryc.cn/news/362167.html

相关文章:

  • Centos7.9实现多台机器ssh免密登录
  • Unity3D DOTS JobSystem物理引擎的使用详解
  • vue3+element-plus 表单校验和循环form表单校验
  • Java集合基础知识点系统性总结篇
  • 智能网联汽车信息安全风险识别与应对策略研究综述
  • python-web应用程序-Django数据库-数据库表设计
  • C#知识|封装典型的SQLServer数据库查询方法。
  • 第一篇 逻辑门(与门、或门、非门、异或门)
  • 车牌号码智能监测识别摄像机
  • Python局部变量:深入探索与实战应用
  • Java面试八股之怎么降低锁竞争
  • 数组的操作方法
  • RK3588 Android13添加开机logo或开机动画
  • JVM学习-监控工具(一)
  • 基础—SQL—DQL(数据查询语言)分页查询
  • 独立开发者通过这100种方式赚钱
  • gitlab服务器迁移(亲测有效)
  • 【刷题(12)】图论
  • FASTGPT:可视化开发、运营和使用的AI原生应用
  • 代码随想录-Day27
  • TalkingData数据统计:洞察数字世界的关键工具
  • printf 一次性写
  • 【Axure高保真原型】切换查看大图列表
  • Ant-Design-Vue动态表头并填充数据
  • Python-匿名函数
  • 探索Web3工具:正确使用区块链平台工具的秘诀
  • 器利而事善——datagrip 的安装以及连接mysql
  • C++标准模板(STL)- 迭代器库-迭代器原语-用于指示迭代器类别的空类类型
  • ClickHouse 使用技巧总结
  • 论文浅尝 | THINK-ON-GRAPH:基于知识图谱的深层次且可靠的大语言模型推理方法...