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

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

找到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;

上一篇 硬盘健康状态
下一篇 【Linux网络】Linux 网络编程:传输层TCP