达梦数据库查询与操作

一、阐述达梦数据库的查询和操作

数据库查询是指在数据库中查询所需数据的过程。它是通过指定一组查询条件来获取数据库中的数据。这些查询条件可以是各种各样的,例如输入关键字、选择特定的字段、限制返回记录的数量等等。常见的数据库查询语句包括SELECT、UPDATE、INSERT和DELETE语句。在设计查询语句时,应该考虑数据类型、数据结构和查询效率等因素。常用的数据库管理系统有MySQL、Oracle、PostgreSQL等。数据库查询是指在数据库中查询所需数据的过程。它是通过指定一组查询条件来获取数据库中的数据。这些查询条件可以是各种各样的,例如输入关键字、选择特定的字段、限制返回记录的数量等等。常见的数据库查询语句包括SELECT、UPDATE、INSERT和DELETE语句。在设计查询语句时,应该考虑数据类型、数据结构和查询效率等因素。常用的数据库管理系统有MySQL、Oracle、PostgreSQL等。

达梦数据库是一种关系型数据库管理系统。查询和操作是数据库的基本功能,包括从数据库中检索数据和对数据库中的数据进行修改、删除和插入等操作。

在达梦数据库中,可以使用SQL语言进行查询和操作。SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准化语言。通过编写SQL语句,可以实现对数据库中数据的查询、插入、更新和删除等操作。

查询操作是通过SELECT语句实现的。可以根据条件从数据库中选择满足特定要求的数据,并将结果返回。查询可以包括使用各种条件、排序、分组和连接等操作。

操作包括对数据库中的数据进行插入、更新和删除等操作。通过INSERT语句可以向数据库中插入新的数据记录。通过UPDATE语句可以修改数据库中已有的数据。通过DELETE语句可以删除数据库中的数据记录。

此外,还可以使用其他SQL语句和功能,如CREATE TABLE用于创建数据表,ALTER TABLE用于修改表结构,以及各种聚合函数和操作符等。

总之,达梦数据库查询与操作是指使用SQL语言对达梦数据库进行数据查询和管理的过程。通过合理地使用查询和操作,可以高效地管理和操作数据库中的数据。

二、展示数据库查询与操作的学习成果

1、数据库的创建:

查询所有数据库:show databases

创建数据库:create database <数据库名>;

删除数据库:drop database <数据库名>;

进入数据库:use <数据库名>;
2、数据表的操作:
(1) 查询数据库下表:show tables;
(2) 创建表:create table student(id int(4) primary key,name char(20));注释:id为表的第一列;
int数字类型;
primary key主键的意思,列不能重复。
Name为表的第二列名字。
char:类型;
创建表:create table score(id int(4) not null,class int(2));注释:not null字段不能为空。
创建表:create table student1(id int(4) not null,name char(20));Field(列名),Type(字段类型),null(是否为空),key(主键)
(3) 查看表结构:describe student; 或 desc student;
(4)修改表名:alter table<表名> rename<表名>;
(5)删除表:drop table<表名>;
(6)修改表字段信息:alter table student change id id int(20);

(7)增加表字段信息:alter table student1 add class int(4) not null after id;
(8)删除一个表字段:alter table student1 drop number;

例题1:

假设有一个学生信息表(student_info),包含以下字段:学生ID(student_id)、学生姓名(student_name)、年龄(age)、班级(class)和性别(gender)。

1. 创建学生信息表:

 2.向学生信息表中插入一些示例数据:

INSERT INTO student_info (student_id, student_name, age, class, gender)
VALUES (1, '张三', 18, '一班', '男');

INSERT INTO student_info (student_id, student_name, age, class, gender)
VALUES (2, '李四', 17, '二班', '男');

INSERT INTO student_info (student_id, student_name, age, class, gender)
VALUES (3, '王五', 19, '三班', '男');

INSERT INTO student_info (student_id, student_name, age, class, gender)
VALUES (4, '赵六', 16, '四班', '女');

INSERT INTO student_info (student_id, student_name, age, class, gender)
VALUES (5, '小七', 18, '五班', '女');

3.查询年龄小于18岁的男生的姓名和班级:

例题2:以下是一个查询达梦数据库中员工信息的例题。

1.首先,我们需要创建一个员工信息表,包括员工编号、姓名、性别和部门等字段。可以使用以下的SQL语句来创建表:

2.接下来,我们可以插入一些示例数据到员工信息表中,用于后续的查询操作。可以使用以下的SQL语句来插入数据:

INSERT INTO employees (id, name, gender, department)
VALUES
    (1, '张三', '男', '销售部'),
    (2, '李四', '女', '人力资源部'),
    (3, '王五', '男', '技术部'),
    (4, '赵六', '女', '财务部'),
    (5, '小红', '女', '市场部');

3.最后,我们可以使用以下的SQL语句来查询所有员工的信息:

 执行以上查询语句后,将返回员工信息表中所有员工的记录。

例题3:查询达梦数据库中员工的入职时间,需要创建一个员工信息表,然后插入示例数据,最后执行查询操作

1.创建员工信息表:

 2. 插入示例数据:

 3. 查询员工的入职时间:

 执行上述查询语句后,将会返回所有员工的姓名和入职时间。

例题4:

假设我们有两个表:员工表(Employees)和部门表(Departments)。

员工表(Employees)的结构如下:
- emp_id(员工ID)
- emp_name(员工姓名)
- emp_salary(员工薪水)
- dept_id(所属部门ID)

部门表(Departments)的结构如下:
- dept_id(部门ID)
- dept_name(部门名称)

我们要解决以下两个问题:

问题1:查询薪水排名前三的员工。
问题2:查询每个部门的平均薪水并按照平均薪水降序排列。

解决方案如下:

步骤1:建表

首先,我们需要建立两个表:员工表(Employees)和部门表(Departments)。

创建员工表(Employees)的SQL语句如下:

CREATE TABLE Employees (
  emp_id INT PRIMARY KEY,
  emp_name VARCHAR(50),
  emp_salary DECIMAL(10, 2),
  dept_id INT
);


创建部门表(Departments)的SQL语句如下:
 

CREATE TABLE Departments (
  dept_id INT PRIMARY KEY,
  dept_name VARCHAR(50)
);

步骤2:插入数据
接下来,我们需要向两个表中插入一些示例数据。

向员工表(Employees)中插入数据的SQL语句如下:

INSERT INTO Employees (emp_id, emp_name, emp_salary, dept_id)
VALUES
  (1, 'John', 5000, 1),
  (2, 'Alice', 6000, 1),
  (3, 'Bob', 7000, 2),
  (4, 'Tom', 5500, 2),
  (5, 'Emma', 8000, 3),
  (6, 'David', 4500, 3);

向部门表(Departments)中插入数据的SQL语句如下:

INSERT INTO Departments (dept_id, dept_name)
VALUES
  (1, 'Sales'),
  (2, 'Finance'),
  (3, 'Marketing');

步骤3:解决问题1
问题1:查询薪水排名前三的员工。

使用以下SQL语句可以解决问题1:

SELECT emp_name, emp_salary
FROM Employees
ORDER BY emp_salary DESC
LIMIT 3;

这条SQL语句会按照员工薪水降序排列,并只返回前三个结果。

步骤4:解决问题2
问题2:查询每个部门的平均薪水并按照平均薪水降序排列。

使用以下SQL语句可以解决问题2:

SELECT d.dept_name, AVG(e.emp_salary) AS avg_salary
FROM Departments d
JOIN Employees e ON d.dept_id = e.dept_id
GROUP BY d.dept_name
ORDER BY avg_salary DESC;

这条SQL语句会先使用JOIN将员工表(Employees)和部门表(Departments)连接起来,然后使用GROUP BY按照部门名称分组,并计算每个部门的平均薪水。最后,使用ORDER BY按照平均薪水降序排列结果。

例题5:

1. 建立员工表(Employee)和部门表(Department)。

   员工表(Employee)的字段包括:
   - 员工编号(EmployeeID) - int类型
   - 员工姓名(EmployeeName) - varchar类型
   - 部门编号(DepartmentID) - int类型
   - 薪水(Salary) - int类型

   部门表(Department)的字段包括:
   - 部门编号(DepartmentID) - int类型
   - 部门名称(DepartmentName) - varchar类型

   使用SQL语句创建这两个表:

-- 创建员工表
CREATE TABLE Employee (
  EmployeeID INT,
  EmployeeName VARCHAR(50),
  DepartmentID INT,
  Salary INT
);

-- 创建部门表
CREATE TABLE Department (
  DepartmentID INT,
  DepartmentName VARCHAR(50)
);

2. 向员工表(Employee)和部门表(Department)中插入示例数据。

   使用SQL语句插入示例数据:

-- 插入员工数据
INSERT INTO Employee (EmployeeID, EmployeeName, DepartmentID, Salary)
VALUES 
  (1, 'John', 1, 5000),
  (2, 'Mary', 2, 6000),
  (3, 'Tom', 1, 4500),
  (4, 'Jane', 3, 5500),
  (5, 'Mike', 2, 7000),
  (6, 'Emily', 1, 4000);

-- 插入部门数据
INSERT INTO Department (DepartmentID, DepartmentName)
VALUES 
  (1, 'HR'),
  (2, 'Finance'),
  (3, 'IT');

3. 查询薪水排名前三的员工。

   使用SELECT、FROM和ORDER BY语句查询薪水排名前三的员工:

SELECT EmployeeName, Salary
FROM Employee
ORDER BY Salary DESC
LIMIT 3;

 查询结果如下:

4. 查询每个部门的平均薪水并按照平均薪水降序排列。

   使用SELECT、FROM、JOIN、GROUP BY和ORDER BY语句查询每个部门的平均薪水并按照平均薪水降序排列:

SELECT d.DepartmentName, AVG(e.Salary) AS AverageSalary
FROM Department d
JOIN Employee e ON d.DepartmentID = e.DepartmentID
GROUP BY d.DepartmentName
ORDER BY AverageSalary DESC;

 

 查询结果如下:

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值