使用ecs服务器进行mysql操作

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
全局流量管理 GTM,标准版 1个月
简介: 描述使用ecs服务器进行云开发的过程
  1. 创建szu_test数据库

在服务器后台命令行中使用命令登录进数据库
mysql -h localhost -u szu_test -p

查看系统中有哪些数据库,并使用szu_test数据库

一开始数据库是空的

  1. 建立DEPT表格

导入数据dept
 Sql语句

  1. INSERT INTO DEPT (DEPTNO,DNAME,LOC)
  2. VALUES
  3. (10 , 'ACCOUNTING' ,'LONDON'),
  4. (20 , 'RESEARCH' ,'PRESTON'),
  5. (30 , 'SALES' ,'LIVERPOOL'),
  6. (40 , 'OPERATIONS' ,'STAFFORD'),
  7. (50 , 'MARKETING' ,'LUTON');

 查看导入的情况

  1. 建立EMP表格

 导入数据emp
(由于文字太多,这里采用图片显示)
 Sql语句

 查看导入的情况

2、完成EXERCISES 1 对表格的操作,1-21题

 题目:
List all information about the employees.
 解析:
这个题目要求我们列出所有的员工信息
 结果:

  1. SELECT * FROM EMP;

 题目:
List all information about the departments
 解析:
列出所有部门的信息
 结果:

  1. SELECT * FROM DEPT;

 题目:
List only the following information from the EMP table ( Employee name, employee number, salary, department number)
 解析:
选择出特定的几个字段
 结果:

  1. SELECT
  2. EMPNO, ENAME,SAL, DEPTNO
  3. FROM EMP;

 题目:
List details of employees in departments 10 and 30.
 解析:
条件查询,用or来表明逻辑关系
 结果:

  1. SELECT *
  2. FROM EMP
  3. WHERE DEPTNO=10 or DEPTNO=30;

5.
 题目:
List all the jobs in the EMP table eliminating duplicates.
 解析:
使用distinct特殊字来对查找出的内容进行去重
 结果:

  1. SELECT
  2. distinct JOB
  3. FROM EMP;

 题目:
What are the names of the employees who earn less than £20,000?
 解析:
(条件小于)查询
 结果:

  1. SELECT ENAME
  2. FROM EMP
  3. WHERE SAL<20000;

7.
 题目:
What is the name, job title and employee number of the person in department 20 who earns more than £25000?
 解析:
And条件查询
 结果:

  1. SELECT EMPNO, ENAME, JOB
  2. FROM EMP
  3. WHERE DEPTNO=20
  4. and SAL> 25000;

 题目:
Find all employees whose job is either Clerk or Salesman.
 解析:
or条件查询,判断字符串相等
 结果:

  1. SELECT *
  2. FROM EMP
  3. WHERE JOB='Clerk'
  4. or JOB='Salesman';

 题目:
Find any Clerk who is not in department 10.
 解析:
and 条件查询
 结果:

  1. SELECT *
  2. FROM EMP
  3. WHERE DEPTNO!=10
  4. and JOB='Clerk';

 题目:
Find everyone whose job is Salesman and all the Analysts in department 20.
 解析:
使用括号的多层逻辑查询
 结果:

  1. SELECT *
  2. FROM EMP
  3. WHERE (JOB='Salesman')
  4. or (JOB='Analyst'and DEPTNO=20);

 题目:
Find all the employees who earn between £15,000 and £20,000.
Show the employee name, department and salary.
 解析:
使用 BETWEEN AND关键字进行查询,找出SAL字段在某个区间的数据
 结果:

  1. SELECT ENAME, SAL, DEPTNO
  2. FROM EMP
  3. WHERE
  4. SAL BETWEEN 15000 AND 20000;

 题目:
Find the name of the President.
 解析:
条件查询
 结果:

  1. SELECT ENAME
  2. FROM EMP
  3. WHERE JOB='President';

 题目:
Find all the employees whose last names end with S
 解析:
使用like关键字来进行特定字符结尾的查询
 结果:

  1. SELECT *
  2. FROM EMP
  3. WHERE ENAME like '%S';

 题目:
List the employees whose names have TH or LL in them
 解析:
使用like关键字来进行特定字符结尾的or逻辑查询
 结果:

  1. SELECT *
  2. FROM EMP
  3. WHERE ENAME like '%th%'
  4. or ENAME like '%ll%';

 题目:
List only those employees who receive commission.
 解析:
条件查询,判断COMM字段不为空
 结果:

  1. SELECT *
  2. FROM EMP
  3. WHERE COMM is not null;

 题目:
Find the name, job, salary, hiredate, and department number of all employees by alphabetical order of name.
 解析:
将查询结果用order by关键字排序
 结果:

  1. SELECT ENAME, JOB, HIREDATE, SAL, DEPTNO
  2. FROM EMP
  3. order by ENAME;

 题目:
Find the name, job, salary, hiredate and department number of all employees in ascending order by their salaries.
 解析:
将查询结果用order by关键字排序
 结果:

  1. SELECT ENAME, JOB, HIREDATE, SAL, DEPTNO
  2. FROM EMP
  3. order by SAL asc;

 题目:
List all salesmen in descending order by commission divided by their salary.
 解析:
将查询结果用order by和 desc关键字降序排序
 结果:

  1. SELECT *
  2. FROM EMP
  3. WHERE JOB='salesman'
  4. order by COMM/SAL
  5. desc;

 题目:
Order employees in department 30 who receive commision, in ascending order by commission
 解析:
and逻辑查询,并且将结果按comm进行升序排序
 结果:

  1. SELECT * FROM EMP
  2. WHERE DEPTNO=30 and COMM is not null
  3. order by COMM
  4. asc;

 题目:
Find the names, jobs, salaries and commissions of all employees who do not have managers.
 解析:
判断某个字段非null,进行查询
 结果:

  1. SELECT ENAME, JOB, SAL, COMM
  2. FROM EMP
  3. WHERE MGR is null;

 题目:
Find all the salesmen in department 30 who have a salary greater than or equal to £18000.
 解析:
多条件and逻辑查询,并将结果按升序排序
 结果:

  1. SELECT *
  2. FROM EMP
  3. WHERE JOB='salesman'
  4. and DEPTNO=30
  5. and SAL>=18000
  6. ORDER BY COMM asc;

3、完成EXERCISES 2对表格的操作,1-6题

 题目:
Find the name and salary of employees in Luton.
 解析:
多表连接查询,首先利用逻辑EMP.deptno = DEPT.deptno,将两张表对应位置合并,再根据loc字段来进行查询,最终找到所有loc=Luton的雇员
 结果:

  1. SELECT ename, sal
  2. FROM EMP, DEPT
  3. WHERE loc = 'LUTON'
  4. AND EMP.deptno = DEPT.deptno;

 题目:
Join the DEPT table to the EMP table and show in department number order.
 解析:
多表连接查询,首先利用逻辑EMP.deptno = DEPT.deptno,将两张表对应位置合并,再根据deptno字段进行排序
 结果:

  1. SELECT empno, ename, job, mgr, hiredate, sal, comm, DEPT.deptno, DEPT.dname, DEPT.loc
  2. FROM EMP, DEPT
  3. WHERE EMP.deptno = DEPT.deptno
  4. ORDER BY deptno;

 题目:
List the names of all salesmen who work in SALES
 解析:
连接查询,查找出所有在sales工作的saleman
 结果:

  1. SELECT ename
  2. FROM EMP , DEPT
  3. WHERE job = 'SALESMAN'
  4. AND dname = 'SALES';

 题目:
List all departments that do not have any employees.
 解析:
 多级查询,首先利用DEPT.deptno = EMP.deptno语句将emp和dept两表连接,查询出deptno字段作为集合,在集合中利用deptno字段查找出没有任何雇员的部门,
 结果:

  1. SELECT DEPT.deptno
  2. FROM DEPT
  3. WHERE deptno NOT IN (
  4. SELECT DEPT.deptno
  5. FROM DEPT, EMP
  6. WHERE DEPT.deptno = EMP.deptno
  7. );

 题目:
For each employee whose salary exceeds his manager's salary, list the employee's name and salary and the manager's name and salary.
 解析:
利用worker.mgr=manager.empno语句将两表连接,再根据条件进行查询worker.sal > manager.SAL
 结果:

  1. SELECT worker.ename,worker.sal,manager.ename,manager.sal
  2. FROM EMP worker,EMP manager
  3. WHERE worker.mgr=manager.empno
  4. AND worker.sal > manager.SAL;

 题目:
List the employees who have BLAKE as their manager.
 解析:
利用worker.mgr=manager.empno语句将两表连接,再根据条件进行查询manager.ename = 'BLAKE'
 结果:

  1. SELECT worker.*
  2. FROM EMP worker, EMP manager
  3. WHERE worker.mgr = manager.empno
  4. AND manager.ename = 'BLAKE';

实验结论或体会:

本次实验由于给的时间比较长,所以我一共使用两种方式完成了实验
 在wampserver上完成实验
 使用自己的阿里云弹性云服务器完成实验
由于在服务器上完成实验会更贴近开发中实际使用数据库的环境,于是在实验报告中我呈现的内容为在服务器上完成的

本次实验收获还是很大的,但是也遇到了一些困难
 一开始的服务器配置,mysql的安装废了我不少功夫
 在导入数据上也下了一番功夫,最后是采用的sql语句中的insert方式插入的
 在一开始的1-21题中倒是没有遇到非常难的问题
 在之后的1-6题中,个人感觉某些连接查询的部分还是会费点功夫的
 例如在第二部分的第4题中查询的逻辑就比较复杂
 用到了多级查询,首先利用DEPT.deptno = EMP.deptno语句将emp和dept两表连接,查询出deptno字段作为集合,在集合中利用deptno字段查找出没有任何雇员的部门,

相关文章
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
77 3
|
3月前
|
存储 关系型数据库 MySQL
使用Docker快速部署Mysql服务器
本文介绍了如何使用Docker快速部署MySQL服务器,包括下载官方MySQL镜像、启动容器、设置密码、连接MySQL服务器以及注意事项。
608 18
|
4月前
|
关系型数据库 MySQL 网络安全
有关使用Navicat 无法成功连接腾讯云服务器上Mysql的问题解决
这篇文章提供了解决Navicat无法连接腾讯云服务器上MySQL问题的步骤,包括调整防火墙设置、更新MySQL权限和检查远程连接配置。
有关使用Navicat 无法成功连接腾讯云服务器上Mysql的问题解决
|
4月前
|
关系型数据库 MySQL Linux
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
|
4月前
|
关系型数据库 MySQL Linux
数据类型和运算符(MySQL服务器的安装,MySQL客户端,数据类型,运算符,MySQL的语法规范)
无论是对于初学者还是有经验的开发者,了解MySQL的安装、客户端使用、数据类型、运算符和语法规范都是至关重要的。这不仅有助于高效地管理和查询数据,而且对于设计和实现数据库解决方案来说是基础工作。通过深入学习和实践这些知识,您可以更好地发挥MySQL数据库的强大功能。
37 2
|
4月前
|
关系型数据库 MySQL 网络安全
MySQL⭐二、使用Navicat连接到服务器上的MySQL
MySQL⭐二、使用Navicat连接到服务器上的MySQL
|
4月前
|
SQL Ubuntu 关系型数据库
如何在云服务器上创建和管理 MySQL 和 MariaDB 数据库
如何在云服务器上创建和管理 MySQL 和 MariaDB 数据库
55 0
|
11天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
80 15
|
4天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
11天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。

热门文章

最新文章

下一篇
DataWorks