🍓 簡介: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中安裝可查看該文檔:安裝文檔來源于網絡
-
首先查看服務是否啟動
或者從開始位置查找
-
查看服務是否正常啟動`
3. 通過DM連接自帶的管理工具進行使用
2.2 Linux中登錄
首先找到達夢安裝的
bin
目錄下
需要注意
:—通過disql執行該命令后,回車不會停止輸入,需要輸入/
符號來終止
用戶名密碼等信息自行修改
./disql SYSDBA/SYSDBA@localhost:5236
2.3 使用DataGrip進行連接
-
因為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模式,保存后重啟實例。
- 重啟dm服務
在bin目錄下
./DmServiceDMSERVER restart
- 查詢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的規定修改。