【数据库】达梦数据库下载、安装、基础与高级语法,以及与其他数据库的区别(保姆篇)

在这里插入图片描述


更多相关内容可查看

达梦数据库(DM Database)是一款国产数据库,近年来逐渐受到关注。它兼容 Oracle 数据库,但与 MySQL 和 Oracle 在 SQL 语法和功能实现上存在一些差异。

一、达梦数据库下载

官网下载地址:https://www.dameng.com/DM8.html

在这里插入图片描述

CPU选X86,操作系统选win64

在这里插入图片描述


二、达梦数据库安装

解压并打开光盘映像文件,双击setup.exe

在这里插入图片描述

选择语言与时区

在这里插入图片描述

无脑下一步即可

在这里插入图片描述
在这里插入图片描述
这里key可以不选
在这里插入图片描述

这里可以按需选择

在这里插入图片描述

选择安装路径(必须为空)
在这里插入图片描述


三、创建数据库

找到tool路径下的dbca,第一次安装也可以直接初始化

在这里插入图片描述

初始化

在这里插入图片描述

创建数据库实例
在这里插入图片描述

在这里插入图片描述

这里是创建一个放数据的目录

在这里插入图片描述

在这里插入图片描述

这里的控制文件/数据文件/日志文件/初始化文件都会有对应的路径

在这里插入图片描述

这里可以按需配置一些信息

在这里插入图片描述

这里是用户名跟密码

在这里插入图片描述

这里两项可以勾选也可不勾选(按需选择)

在这里插入图片描述

在这里插入图片描述


四、达梦数据库的客户端使用

找到tool文件下的manager,即可使用,如果之前用过navicat,或者别的,其实都差不多,目录结构可看官方文档,这里不做阐述

在这里插入图片描述

五、达梦数据库的基本语法

1. 数据库对象的创建与管理

创建数据库

CREATE DATABASE my_database;

创建表

CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    hire_date DATE,
    salary DECIMAL(10, 2)
);

修改表结构

-- 添加新列
ALTER TABLE employees ADD department VARCHAR(50);

-- 修改列的数据类型
ALTER TABLE employees MODIFY salary DECIMAL(12, 2);

删除表

DROP TABLE employees;

2. 数据操作

插入数据

INSERT INTO employees (employee_id, first_name, last_name, hire_date, salary)
VALUES (1, 'John', 'Doe', '2024-01-15', 50000.00);

查询数据

查询数据使用 SELECT 语句。达梦数据库支持多种查询方式,包括简单查询、条件查询和连接查询:

-- 查询所有数据
SELECT * FROM employees;

-- 条件查询
SELECT * FROM employees WHERE salary > 40000;

-- 连接查询
SELECT e.first_name, e.last_name, d.department_name
FROM employees e
JOIN departments d ON e.department_id = d.department_id;

更新数据

UPDATE employees
SET salary = salary * 1.05
WHERE hire_date < '2023-01-01';

删除数据

DELETE FROM employees WHERE employee_id = 1;

六、达梦数据库的高级语法

1. 视图与索引

创建视图

视图是一个虚拟表,它基于 SQL 查询的结果集。在达梦数据库中,可以通过以下语法创建视图:

CREATE VIEW high_salary_employees AS
SELECT first_name, last_name, salary
FROM employees
WHERE salary > 50000;

使用视图

查询视图数据的方式与查询表数据相同:

SELECT * FROM high_salary_employees;

创建索引

索引可以提高查询性能。在达梦数据库中,可以通过以下语法创建索引:

CREATE INDEX idx_salary ON employees (salary);

2. 存储过程与触发器

创建存储过程

存储过程是一组 SQL 语句的集合,可以重复使用。以下是一个存储过程的示例:

CREATE PROCEDURE increase_salary(IN percentage DECIMAL(5, 2))
BEGIN
    UPDATE employees
    SET salary = salary * (1 + percentage / 100);
END;

调用存储过程

调用存储过程时,需要指定输入参数:

CALL increase_salary(10);

创建触发器

触发器是在表的某些事件(如插入、更新、删除)发生时自动执行的存储过程。以下是一个触发器的示例:

CREATE TRIGGER salary_update_trigger
AFTER UPDATE ON employees
FOR EACH ROW
BEGIN
    IF NEW.salary > OLD.salary THEN
        INSERT INTO salary_audit (employee_id, old_salary, new_salary, update_date)
        VALUES (NEW.employee_id, OLD.salary, NEW.salary, SYSDATE);
    END IF;
END;

3. 数据库事务与锁

事务管理

达梦数据库支持事务的开始、提交和回滚。以下是事务的基本操作:

-- 开始事务
START TRANSACTION;

-- 执行多个 SQL 语句
UPDATE employees SET salary = salary + 1000 WHERE employee_id = 1;

-- 提交事务
COMMIT;

-- 回滚事务
ROLLBACK;

锁管理

达梦数据库提供了多种锁机制,包括行级锁和表级锁。锁的使用可以通过 SQL 语句设置:

-- 行级锁
SELECT * FROM employees WHERE employee_id = 1 FOR UPDATE;

-- 表级锁
LOCK TABLE employees IN EXCLUSIVE MODE;

七、与其他数据库的比较

1. 达梦与 MySQL

数据库对象创建

  • 达梦数据库:支持 CREATE DATABASECREATE TABLE,语法类似于 Oracle。
  • MySQL:也支持 CREATE DATABASECREATE TABLE,但在数据类型和默认值上可能有差异。

数据操作

  • 达梦数据库:SQL 语法与 Oracle 更为接近,例如支持 TO_DATE 函数来处理日期。
  • MySQL:使用 STR_TO_DATE 函数来处理日期,函数名称和语法与达梦有所不同。

索引与视图

  • 达梦数据库:支持视图和索引的创建和管理,语法与 Oracle 相似。
  • MySQL:支持视图和索引,语法上也有些许差别。例如,MySQL 不支持索引的 CREATE INDEX 语法中的某些选项。

2. 达梦与 Oracle

数据库对象创建

  • 达梦数据库:与 Oracle 非常相似,包括数据类型和约束的设置。
  • Oracle:支持更多的数据类型和复杂的约束设置。

存储过程与触发器

  • 达梦数据库:存储过程和触发器的创建语法与 Oracle 基本一致。
  • Oracle:提供了更多的 PL/SQL 功能和优化选项,例如复杂的异常处理和游标操作。

事务管理

  • 达梦数据库:支持标准的事务控制语句,如 START TRANSACTIONCOMMIT
  • Oracle:使用 BEGINEND 来定义事务块,但语法上与达梦数据库相似。

3. 达梦与 SQL Server

数据库对象创建

  • 达梦数据库:支持 SQL 标准的 CREATE DATABASECREATE TABLE
  • SQL Server:使用 CREATE DATABASECREATE TABLE,但数据类型和默认值的定义有所不同。

存储过程与触发器

  • 达梦数据库:创建存储过程和触发器的语法类似于 Oracle。
  • SQL Server:使用 T-SQL 进行存储过程和触发器的创建,语法上有明显的差异。

事务管理

  • 达梦数据库:使用标准的 SQL 事务控制语句。
  • SQL Server:支持 BEGIN TRANSACTIONCOMMIT,但在异常处理和锁定策略上有其特定的实现。

八、优势体现

1. 性能

  • 高性能查询处理:达梦数据库通过优化的查询处理器和执行计划算法,能够高效地处理大规模的数据查询。它支持各种索引机制,如B-Tree索引、位图索引等,有助于提高查询性能。
  • 支持并行处理:达梦数据库支持并行计算,可以在多核处理器上同时执行多个任务,从而加快数据处理速度。
  • 数据缓存和内存管理:达梦数据库通过有效的缓存机制和内存管理来提高系统的响应速度和处理能力。例如,它会缓存热点数据,以减少磁盘I/O操作。
  • 事务处理能力:达梦数据库支持高并发的事务处理,采用了高效的锁机制和日志管理,确保了在高负载下也能保持良好的性能。

2. 安全性

  • 用户权限管理:达梦数据库提供了细粒度的权限管理功能,可以对不同的用户和角色设置不同的访问权限,从而控制数据的访问和操作。
  • 数据加密:支持数据在存储和传输过程中的加密,保护数据不被非法访问。包括列级加密和透明数据加密等。
  • 审计功能:达梦数据库具备审计功能,可以记录用户的操作行为和系统事件,帮助追踪和审计数据访问和修改记录。
  • 防御机制:包括防止SQL注入、恶意攻击等安全防护措施,增加数据库系统的安全性。

3. 兼容性

  • 与标准SQL兼容:达梦数据库支持标准SQL语法,确保与许多现有的SQL应用程序和工具兼容。
  • 跨平台支持:达梦数据库可以运行在多种操作系统上,包括Windows和Linux。这使得它在不同的环境中都能进行部署和操作。
  • 兼容其他数据库:在迁移或集成过程中,达梦数据库提供了工具和功能以支持与其他数据库(如Oracle、MySQL等)的数据迁移和兼容性处理。
  • 支持多种编程接口:达梦数据库支持多种编程语言和接口,如JDBC、ODBC等,方便与各种应用程序进行集成。

九、总结

也是国内更推行的国产数据库流行趋势,是国内自主研发的一款RDBMS,其实本质跟oracle使用起来不会有太多的差异,对oracle有了解的自然用起来也会得心应手

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来一杯龙舌兰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值