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

news2025/1/14 1:09:39

🍓 简介: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:
    # DM
    username: ***
    password: ***
    driver-class-name: dm.jdbc.driver.DmDriver
    url: jdbc:dm://127.0.0.1:5236?schema=**

其他和与Mysql使用一样

六、语法适配

5.1 单双引号(重点)

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1805066.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode 力扣109. 有序链表转换二叉搜索树 (抖音号:708231408)

给定一个单链表的头节点 head &#xff0c;其中的元素 按升序排序 &#xff0c;将其转换为 平衡 二叉搜索树。 示例 1: 输入: head [-10,-3,0,5,9] 输出: [0,-3,9,-10,null,5] 解释: 一个可能的答案是[0&#xff0c;-3,9&#xff0c;-10,null,5]&#xff0c;它表示所示的高…

每日一题——Python实现PAT乙级1042 字符统计(举一反三+思想解读+逐步优化)

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 优点 缺点和改进建议 时间复杂度分析 空间复杂度分析 改进后的代码 我…

关键字、保留字、标识符

关键字 关键字是被 Java 赋予了特定含义的英文单词。 关键字的字母全部小写。 保留字 现有的 Java 版本尚未使用&#xff0c;但是以后版本可能会作为关键字使用。自己命名标识符时需要避免使用这些保留字。 保留字有&#xff1a;byValue, cast, future, generic, inner, op…

数据并非都是正态分布:三种常见的统计分布及其应用

你有没有过这样的经历&#xff1f;使用一款减肥app&#xff0c;通过它的图表来监控自己的体重变化&#xff0c;并预测何时能达到理想体重。这款app预测我需要八年时间才能恢复到大学时的体重&#xff0c;这种不切实际的预测是因为应用使用了简单的线性模型来进行体重预测。这个…

【吊打面试官系列-Mysql面试题】BLOB 和 TEXT 有什么区别 ?

大家好&#xff0c;我是锋哥。今天分享关于 【BLOB 和 TEXT 有什么区别&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; BLOB 和 TEXT 有什么区别 &#xff1f; BLOB 是一个二进制对象&#xff0c;可以容纳可变数量的数据。TEXT 是一个不区分大小写的 BLOB。 1…

Java 语言概述 -- Java 语言的介绍、现在、过去与将来

大家好&#xff0c;我是栗筝i&#xff0c;这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 001 篇文章&#xff0c;在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验&#xff0c;并希望进…

使用proteus仿真51单片机的流水灯实现

proteus介绍&#xff1a; proteus是一个十分便捷的用于电路仿真的软件&#xff0c;可以用于实现电路的设计、仿真、调试等。并且可以在对应的代码编辑区域&#xff0c;使用代码实现电路功能的仿真。 汇编语言介绍&#xff1a; 百度百科介绍如下&#xff1a; 汇编语言是培养…

Knife4j 生成 API 文档

文章目录 Knife4j 简介使用步骤Knife4j 常用注解的列表案例注意 Knife4j 简介 Knife4j 是一个增强的 Swagger 文档生成工具&#xff0c;提供了更加友好的界面和更多功能&#xff0c;使得 API 文档更加美观且易于使用。它是基于 Spring Boot 和 Swagger 进行封装的&#xff0c;…

【下篇】从 YOLOv1 到 YOLOv8 的 YOLO 物体检测模型历史

YOLO 型号之所以闻名遐迩,主要有两个原因:其速度和准确性令人印象深刻,而且能够快速、可靠地检测图像中的物体。上回我解释了YoloX, 今天从Yolov6开始。 YOLOv6:面向工业应用的单级物体检测框架 美团视觉人工智能事业部(Meituan Vision AI Department)于 2022 年 9 月在…

《精通ChatGPT:从入门到大师的Prompt指南》第4章:避免常见错误

第4章&#xff1a;避免常见错误 在使用ChatGPT进行Prompt编写时&#xff0c;常见的错误可能会大大影响生成内容的质量和准确性。本章将详细讨论这些错误&#xff0c;并提供如何避免它们的建议。 4.1 不明确的指令 在使用ChatGPT时&#xff0c;一个常见的问题是指令不够明确。…

Vue3中的常见组件通信之$attrs

Vue3中的常见组件通信之$attrs 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $re…

LLVM Cpu0 新后端4

想好好熟悉一下llvm开发一个新后端都要干什么&#xff0c;于是参考了老师的系列文章&#xff1a; LLVM 后端实践笔记 代码在这里&#xff08;还没来得及准备&#xff0c;先用网盘暂存一下&#xff09;&#xff1a; 链接: https://pan.baidu.com/s/1V_tZkt9uvxo5bnUufhMQ_Q?…

动态规划学习(分组背包)

分组背包的定义 分组背包是相比于01背包来讲&#xff0c;其就是多了一个组&#xff0c;给你n个组&#xff0c;每个组里有各自的物品&#xff0c;每个组里的物品只能选择一个&#xff0c;问你&#xff0c;选出来的最大价值是多少 这里我们的遍历顺序的三层循环&#xff0c;最外…

Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描

Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描 Burp Suite Professional, Test, find, and exploit vulnerabilities. 请访问原文链接&#xff1a;Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描…

Spring boot+vue前后端分离

目录 1、前端vue的搭建 2、后端项目的构建 pom文件中引入的jar包 yml文件用来配置连接数据库和端口的设置 application.property进行一些整合 service层 imp层 mapper 实体类 额外写一个类、解决跨域问题 3、测试 1、前端vue的搭建 建立项目的过程略 开启一个建立好…

Linux之进程信号详解【上】

&#x1f30e; Linux信号详解 文章目录&#xff1a; Linux信号详解 信号入门 技术应用角度的信号 信号及信号的产生       信号的概念       信号的处理方式 信号的产生方式         键盘产生信号         系统调用产生信号         软件…

python - pandas常用计算函数

文中所用数据集有需要的可以私聊我获取 学习目标 知道排序函数nlargest、nsmallest和sort_values的用法 知道Pandas中求和、计数、相关性值、最小、最大、平均数、标准偏差、分位数的函数使用 1 排序函数 导包并加载数据集 import pandas as pd ​ # 加载csv数据, 返回df对…

htb-linux-7-cronos-53-dns-nslookup-axfr

nmap DNS服务的枚举 靶机开启了53端口域名服务 枚举DNS服务 - nslookup 使用nslookup工具&#xff0c;设置DNS服务器的地址为10.10.10.13&#xff0c;需要查询10.10.10.13绑定的域名 枚举DNS服务 - axfr 使用dig工具来做区域传输(Zone Transfer)的查询&#xff1a;dig ax…

SpringBoot+Vue免税商品优选购物商城(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 角色对应功能 用户商家 功能截图

记一次极其坑爹的 process.waitFor() 卡死问题

项目中有个需求需要截取wav的音频文件 &#xff0c;网上找了找方法 用java调用ffmpeg 来截取 public static InputStream trimAudio(MultipartFile inputFile, Double startTime, Double endTime,Double volume) throws IOException {File file new File(FileUtil.getTmpDir…