達夢數據庫相關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.pswp.cn/bicheng/21776.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21776.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21776.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解決Python導入第三方模塊報錯“TypeError: the first argument must be callable”

注意以下內容只對導包時遇到同樣的報錯會有參考價值。 問題描述 當你嘗試導入第三方模塊時&#xff0c;可能會遇到如下報錯信息&#xff1a; TypeError: the first argument must be callable 猜測原因 經過仔細檢查代碼&#xff0c;我猜測這個錯誤的原因是由于變量名沖突所…

Windows 系統安裝 VisualSVN Server

一.下載 VisualSVN Server VisualSVN-Server 是 SVN 版本控制中服務器端要使用的軟件,就是我們提交代碼存在安裝這個軟件的電腦上,它將很多配置和服務直接幫你完成,簡單好用容易上手。VisualSVN Server有三個版本,社區版免費但限15個用戶,另有一般和‘企業’兩個收費版本…

如何卸載ollama

文章目錄 一 概述二 卸載2.1 Windows平臺卸載 ollama2.2 Linux 平臺卸載 ollama2.3 Docker 平臺卸載 ollama 參考鏈接 一 概述 本文檔主要講述 ollama 如何卸載&#xff0c;適用范圍包括 Windows Linux 以及 Docker 等平臺的安裝方式。 二 卸載 2.1 Windows平臺卸載 ollama …

學習C++應該做點什么項目

C作為一門底層可操作性很強的語言&#xff0c;廣泛應用于游戲開發、工業和追求性能、速度的應用。 比如騰訊&#xff0c;無論游戲&#xff0c;還是微信&#xff0c;整個鵝廠后臺幾乎都是 C 開發&#xff0c;對 C 開發者的需求非常大。 但問題是C入門和精通都比較困難&#xf…

有哪些掙錢軟件一天能賺幾十元?盤點十個能長期做下去的掙錢軟件

在這個信息爆炸的時代&#xff0c;每個人都在尋找快速賺錢的秘訣。很多人做兼職副業的目標并不是獲得很大的成功&#xff0c;大部分人一天能賺幾十就心滿意足了。 今天&#xff0c;我要帶你一探究竟&#xff0c;揭秘那些能讓你日賺幾十元的掙錢軟件。準備好了嗎&#xff1f;讓我…

單槍匹馬月入17萬美元:數字游民Pieter Levels如何成就商業傳奇

了解數字游民的應該都聽說過 Pieter Levels&#xff0c;可以說他是數字游民的先驅人物。 他在推特上擁有超過43萬的粉絲&#xff0c;僅憑一臺筆記本電腦就連續建立了多個高盈利網站&#xff0c;光是推特主頁上展示的比較新的幾個網站&#xff0c;每月收入加起來就高達 17.6 萬…

第九周:員工激勵理論

1. 關注自己到關注他人 你是激勵者&#xff0c;也會是被激勵者。 雖然每個人的價值觀不一樣&#xff0c;但要做好激勵員工這件事情&#xff0c;我覺得可以從自身角度出發&#xff0c;可以問問自己&#xff0c;你是如何被激勵的&#xff1f; 如果是我&#xff0c;就只想要錢&…

如何實現區域公司和專業公司合理有效的銜接?

對于集團公司來說&#xff0c;各區域公司、專業公司的管理問題成為困擾管理者的難題。特別是在信息壁壘比較嚴重的情況下&#xff0c;各個單位往往各自為政、自行其是&#xff0c;缺乏有效的溝通和協作&#xff0c;導致整體管理效率低下。那么應該如何實現區域公司和專業公司合…

Vulnhub項目:THE PLANETS: MERCURY

1、靶場地址 The Planets: Mercury ~ VulnHubThe Planets: Mercury, made by SirFlash. Download & walkthrough links are available.https://vulnhub.com/entry/the-planets-mercury,544/ 這好像是個系列的&#xff0c;關于星球系列&#xff0c;之前還做過一個地球的&a…

滑動窗口最大值-力扣

在做這道題時&#xff0c;首先想到的解法是使用隊列來做&#xff0c;維護一個隊列&#xff0c;每次保存滑動窗口大小的長度&#xff0c;并判斷此時隊列中的最大值&#xff0c;但這樣做&#xff0c;在k的值較大時&#xff0c;出現了超時問題&#xff0c;代碼如下&#xff1a; c…

STM32-15-DMA

STM32-01-認識單片機 STM32-02-基礎知識 STM32-03-HAL庫 STM32-04-時鐘樹 STM32-05-SYSTEM文件夾 STM32-06-GPIO STM32-07-外部中斷 STM32-08-串口 STM32-09-IWDG和WWDG STM32-10-定時器 STM32-11-電容觸摸按鍵 STM32-12-OLED模塊 STM32-13-MPU STM32-14-FSMC_LCD 文章目錄 STM…

[原創][Delphi多線程]TThreadedQueue的經典使用案例.

[簡介] 常用網名: 豬頭三 出生日期: 1981.XX.XX QQ: 643439947 個人網站: 80x86匯編小站 https://www.x86asm.org 編程生涯: 2001年~至今[共22年] 職業生涯: 20年 開發語言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 開發工具: Visual Studio、Delph…

悉數六大設計原則

悉數六大設計原則 目錄 悉數六大設計原則前言?誰發明了設計模式設計原則設計原則與設計模式的關系 單一職責什么是單一職責不遵循單一職責原則的設計遵循單一職責原則的設計單一職責的優點示例代碼&#xff1a; 里氏替換原則什么是里氏替換原則示例代碼&#xff1a;違反里氏替…

解讀信創產業根基,操作系統發展歷程

信創產業根基之一操作系統 操作系統是一個關鍵的控制程序&#xff0c;負責協調、管理和控制計算機硬件和軟件資源。作為硬件的首要軟件擴展&#xff0c;它位于裸機與用戶之間&#xff0c;充當了兩者之間的橋梁。通過其核心程序&#xff0c;操作系統高效地管理著系統中的各類資源…

static修飾變量和函數

static修飾的變量和函數只能在定義它的cpp源文件中使用&#xff0c;如果在頭文件中定義&#xff0c;則需要注意 在頭文件中定義static變量和static函數&#xff1a; 變量 如果在頭文件中定義了static變量&#xff0c;那么&#xff0c;所有包含這個頭文件的源文件都會定義自己…

vm-bhyve虛擬機安裝ubuntu22版本后進入grub無法啟動

問題&#xff1a;安裝ubuntu22版本后無法啟動 安裝好ubuntu22之后&#xff0c;重啟進入了grub模式&#xff0c;沒有自動啟動ubuntu 網上查了一下&#xff0c;這算一個通病。 問題解決 在grub模式下輸入boot命令&#xff1a; boot (lvm/ubuntu--vg-ubuntu--lv)/boot error: …

有哪些兼職軟件一天能賺幾十元?盤點十個能長期做下去的掙錢軟件

在當今這個信息泛濫的時代&#xff0c;眾人紛紛尋求迅速致富的捷徑。許多人在從事兼職或副業時&#xff0c;并不期望取得巨大的成就&#xff0c;只要每天能額外收入數十元&#xff0c;便已心滿意足。 今天&#xff0c;我將帶領大家深入探究&#xff0c;揭開那些隱藏在日常生活…

【小海實習日記】Git使用規范

1.Git使用流程 1.1 從master分支拉一個分支&#xff0c;命名要符合規范且清晰。 1.2 commit到本地&#xff0c;push 到遠端。 1.3 在Gitlab創建MR&#xff0c;選擇develp分支。 1.4 如果要修改的話&#xff0c;先把Gitlab上的MR修改為Draft(修改態)&#xff0c;然后在本地修改代…

Dubbo中的Invoker與Exporter機制詳解

Dubbo作為一款成熟的高性能、輕量級的Java RPC框架&#xff0c;其核心機制之一便是Invoker與Exporter機制&#xff0c;它們在服務提供端和服務消費端扮演著至關重要的角色&#xff0c;是實現服務調用和管理的基礎。下面將詳細解析這兩個核心組件的工作原理及其在Dubbo框架中的作…

9.1.1 簡述目標檢測領域中的單階段模型和兩階段模型的性能差異及其原因

9.1目標檢測 場景描述 目標檢測&#xff08;Object Detection&#xff09;任務是計算機視覺中極為重要的基礎問題&#xff0c;也是解決實例分割&#xff08;Instance Segmentation&#xff09;、場景理解&#xff08;Scene Understanding&#xff09;、目標跟蹤&#xff08;Ob…