当前位置: 首页 > 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的规定修改。

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

相关文章:

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

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…...

Centos7.9实现多台机器ssh免密登录

1.本机&#xff08;172.16.10.228&#xff09;先生成密钥对 ssh-keygen -t rsa 2.执行命令&#xff0c;把本机公钥拷贝到远程机器 ssh-copy-id rootdistinctIp 3.查看一下远程机器 、/root/.ssh/authorized_keys文件 cat /root/.ssh/authorized_keys 会看到里边多了个公钥…...

Unity3D DOTS JobSystem物理引擎的使用详解

前言 Unity3D DOTS&#xff08;Data-Oriented Technology Stack&#xff09;是Unity引擎的一项新技术&#xff0c;旨在提高游戏性能和扩展性。其中的Job System是一种用于并行处理任务的系统&#xff0c;可以有效地利用多核处理器的性能。在本文中&#xff0c;我们将重点介绍如…...

vue3+element-plus 表单校验和循环form表单校验

1.HTML页面 //el-form 标签添加上 ref"form2Form" :rules"rules2" :model"form2" 正常表单校验 //没有循环表单的使用事例<el-form-item label"投保人名称" class"insurance-date-no1" prop"tbrName">…...

Java集合基础知识点系统性总结篇

目录 集合一、图解集合的继承体系&#xff1f;&#xff08;[图片来源](https://www.cnblogs.com/mrhgw/p/9728065.html)&#xff09;点击查看大图二、List,Set,Map三者的区别&#xff1f;三、List接口的实现3.1、Arraylist 、 LinkedList、Vector3.2、Arraylist 、 LinkedList、…...

智能网联汽车信息安全风险识别与应对策略研究综述

摘要&#xff1a;随着智能网联汽车技术的飞速发展&#xff0c;其信息安全问题逐渐成为公众关注的焦点。本文概述了智能网联汽车技术的发展背景和信息安全风险的来源&#xff0c;采用STRIDE威胁分析方法对智能网联汽车的四层模型进行风险识别&#xff0c;进一步探讨了抗女巫攻击…...

python-web应用程序-Django数据库-数据库表设计

python-web应用程序-Django数据库-数据库表设计 在models中创建一个类会自动对数据库进行管理&#xff0c;那么如何用类的声明来实现数据库表的设计呢&#xff1f; from django.db import models# Create your models here. class Department(models.Model):title models.Ch…...

C#知识|封装典型的SQLServer数据库查询方法。

哈喽,你好啊,我是雷工! 前边学习封装了增删改的方法封装: 《C#知识|通用数据访问类SQLHelper的编写》; 本节继续学习将两种典型的查询方法封装成类。 下边为学习笔记。 01 封装单一返回结果的封装 在查看封装后的代码之前,可以先看下封装前代码的写法: 《C#知识|通过A…...

第一篇 逻辑门(与门、或门、非门、异或门)

一、实验目的 了解DE1-SOC开发板一些外设。 掌握常用组合逻辑门电路的基本原理。 学习Verilog HDL的基本语法。 学习使用ModelSim工具对设计的电路进行仿真&#xff0c;包括编写Testbench仿真代码&#xff0c;以及ModelSim工具的使用。 熟悉使用Quartus软件从创建Quartus工…...

车牌号码智能监测识别摄像机

车牌号码智能监测识别摄像机是一项革命性的技术&#xff0c;为交通管理和安全提供了全新的解决方案。这种摄像机利用先进的人工智能和图像识别技术&#xff0c;能够实时监测道路上的车辆&#xff0c;并准确识别车辆的车牌号码&#xff0c;为交通管理和安全提供了强有力的支持。…...

Python局部变量:深入探索与实战应用

Python局部变量&#xff1a;深入探索与实战应用 在Python编程中&#xff0c;局部变量是一个至关重要的概念。它们被定义在函数或方法内部&#xff0c;并且只在定义它们的那个特定的代码块中可见。然而&#xff0c;局部变量的使用并不总是那么简单明了&#xff0c;尤其是当涉及…...

Java面试八股之怎么降低锁竞争

怎么降低锁竞争 减少锁的持有时间&#xff1a; 尽量缩短线程持有锁的时间&#xff0c;只在必要时才获取锁&#xff0c;一旦操作完成立即释放锁。可以通过将同步代码块的范围缩小到最小必要程度来实现&#xff0c;避免在锁保护的代码块中执行耗时操作或等待操作&#xff0c;比如…...

数组的操作方法

数组的操作方法 forEach 循环 数组的私有方法 7个内置操作方法 1.push 尾部添加 2.pop 尾部删除 3.shift 头部删除 4.unshift 头部添加 5.splice 删除 替换 插入(本质是删除 返回的是删除的元素组成的数组[因为可以删除多个…...

RK3588 Android13添加开机logo或开机动画

wzhlenkeng-HP-Pro-Tower-ZHAN-99-G9-Desktop-PC:/media/extern_sda/wzh/rk3588_android/device/rockchip/rk3588$ git show commit e8da2099dccfed7f7b348c2e324d9c3d3e555d39 (HEAD) Author: wzh <wuzenghonglenkeng.com> Date: Tue Jun 4 09:53:48 2024 0800添加开…...

JVM学习-监控工具(一)

使用数据说明问题&#xff0c;使用知识分析问题&#xff0c;使用工具处理问题 无监控&#xff0c;不调优&#xff01; 命令行工具 在JDK安装目录下&#xff0c;可以查看到相应的命令行工具&#xff0c;如下图 jps(Java Process Status) 显示指定系统内所有的Hotpot虚拟机…...

基础—SQL—DQL(数据查询语言)分页查询

一、引言 上一篇博客学习了排序查询&#xff0c;这次来讲查询的最后一个部分&#xff1a;分页查询。 涉及到的关键字是&#xff1a;LIMIT 。 二、DQL—分页查询 对于分页&#xff0c;不管以后做的是传统的管理系统还是做互联网的项目&#xff0c;基本上都会遇到分页查询的操…...

独立开发者通过这100种方式赚钱

独立开发者可以通过多种方式赚钱&#xff1a; 销售游戏&#xff1a;独立开发者可以通过 Steam、Itch.io 和 App Store 等平台直接向消费者销售他们的游戏。 他们还可以在自己的网站上出售游戏的实体副本或数字下载。 提供游戏内购买&#xff1a;一些游戏包括微交易或游戏内购…...

gitlab服务器迁移(亲测有效)

描述&#xff1a;最近公司迁移gitlab&#xff0c;我没有迁移过&#xff0c;经过网上查找资料最终完成迁移&#xff0c;途中也遇到挺多坑和两个问题&#xff0c;希望能帮到你。 新服务器安装gitlab 注意&#xff1a;新服务器gitlab版本也需要和旧版本一致。 首先查看原Gitlab…...

【刷题(12)】图论

一、图论问题基础 在 LeetCode 中&#xff0c;「岛屿问题」是一个系列系列问题&#xff0c;比如&#xff1a; 岛屿数量 &#xff08;Easy&#xff09;岛屿的周长 &#xff08;Easy&#xff09;岛屿的最大面积 &#xff08;Medium&#xff09;最大人工岛 &#xff08;Hard&…...

FASTGPT:可视化开发、运营和使用的AI原生应用

近年来&#xff0c;随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;AI的应用逐渐渗透到各行各业。作为一种全新的开发模式&#xff0c;AI原生应用正逐步成为行业的焦点。在这方面&#xff0c;FASTGPT无疑是一款颇具代表性的产品。本文将详细介绍FASTGPT的设…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天&#xff0c;深度学习与大模型技术已成为推动行业变革的核心驱动力&#xff0c;而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心&#xff0c;系统性地呈现了两部深度技术著作的精华&#xff1a;…...

SpringAI实战:ChatModel智能对话全解

一、引言&#xff1a;Spring AI 与 Chat Model 的核心价值 &#x1f680; 在 Java 生态中集成大模型能力&#xff0c;Spring AI 提供了高效的解决方案 &#x1f916;。其中 Chat Model 作为核心交互组件&#xff0c;通过标准化接口简化了与大语言模型&#xff08;LLM&#xff0…...