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

一、什么是达梦数据库?
达梦官网
达梦技术文档
: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. 查询所有模式
selectdistinct owner from dba_objects;
2. 创建模式
createschema TEST AUTHORIZATION SYSDBA;
3. 删除模式
dropschema TEST ;
4. 指定模式
SETSCHEMA TEST;
表相关
1. 查询当前用户所有表
select table_name,tablespace_name from user_tables;
2. 创建表
-- 创建employee表CREATETABLE employee
(
employee_id INTEGER,
employee_name VARCHAR2(20)NOTNULL,
hire_date DATE,
salary INTEGER,
department_id INTEGERNOTNULL);-- 使用 CREATE TABLE 语句创建 department 表CREATETABLE department
(
department_id INTEGERPRIMARYKEY,
department_name VARCHAR(30)NOTNULL);-- 非空约束ALTERTABLE employee MODIFY( hire_date notnull);-- 主键约束ALTERTABLE employee ADDconstraint pk_empid PRIMARYKEY(employee_id);-- 外键约束ALTERTABLE employee ADDconstraint fk_dept FOREIGNKEY(department_id)REFERENCES department (department_id);
3. 重命名表名
altertable tests renameto test_rename;
4. 增加表注释
commentontable test_rename is'AAAAAAA';
5. 查看表主键外键
SELECT table_name, constraint_name, constraint_type FROM all_constraints WHERE owner='DM'AND table_name='EMPLOYEE';
6. 表字段增加
ALTERTABLE"DM"."EMPLOYEE"add"IS_REPEAT"VARCHAR(255);COMMENTONCOLUMN"DM"."EMPLOYEE"."IS_REPEAT"IS'是否重复,1、是,0、否';
7. 表字段删除
ALTERTABLE"DM"."EMPLOYEE"DROPCOLUMN IS_REPEAT;
8. 查询表注释
select comments from user_tab_comments where table_name ='table1';
9. 查询列注释
select*from user_col_comments where table_name ='table1';
10 . 增加列注释
commentoncolumn test_rename.id is'Primary';
其他
1. 查询当前用户
selectuser;
2. 查询数据库版本
SELECT*FROM V$VERSION;
3. 查看达梦数据库当前状态
selectstatus$ 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.DmDriver
url: jdbc:dm://127.0.0.1:5236?schema=**
其他和与Mysql使用一样
六、语法适配
5.1 单双引号(重点)
达梦数据库对单双引号有着严格的规定,在执行SQL语句的时候,
字符串常量应使用
单引号括起,
关键字、对象名、字段名、别名等则使用双引号括起。而MySQL中则没有严格的规定,在适配过程中MySQL SQL语句中的单双引号严格按照DM的规定修改。

版权归原作者 Dream_sky分享 所有, 如有侵权,请联系我们删除。
