文章目录

  • 一、数据库概述练习题
  • 二、MySQL 环境搭建练习题
  • 三、查询练习

MySQL 数据库练习题(包含前5章所有知识点及答案)

前置知识:

一、数据库开发与实战专栏导学及数据库基础概念入门
二、MySQL 介绍及 MySQL 安装与配置
三、MySQL 数据库的基本操作
四、MySQL 存储引擎及数据类型
五、数据导入与基本的 SELECT 语句

一、数据库概述练习题

1、说说你了解的常见的数据库。
2、谈谈你对MySQL历史、特点的理解。
3、说说你对 DB、DBMS、SQL 的理解。
4、你知道哪些非关系型数据库的类型呢?
5、表与表的记录之间存在哪些关联关系?

二、MySQL 环境搭建练习题

1、安装好 MySQL 之后在 Windows 和 Linux 系统中哪些位置能看到 MySQL?
2、Windows 卸载 MySQL 主要卸载哪几个位置的内容?
3、能够独立完成 MySQL8.0、MySQL5.7 版本的下载、安装、配置 (掌握)。
4、MySQL5.7 在配置完以后,如何修改配置文件?
5、熟悉常用的数据库管理和操作的工具。

三、查询练习

1、查询员工12个月的工资总和,并起别名为 ANNUAL SALARY。

SELECT employee_id,last_name,salary * 12 AS "ANNUAL SALARY" FROM employees;
SELECT employee_id,last_name,salary * 12 * (1 + IFNULL(commission_pct,0)) "ANNUAL SALARY" FROM employees;

2、查询 employees 表中去除重复的 job_id 以后的数据。

SELECT DISTINCT job_id FROM employees;

3、查询工资大于 12000 的员工姓名和工资。

mysql> SELECT last_name,salary FROM employees WHERE salary>12000;

4、查询员工号为 176 的员工的姓名和部门号。

mysql> SELECT last_name,department_id FROM employees WHERE employee_id=176;
+-----------+---------------+
| last_name | department_id |
+-----------+---------------+
| Taylor    |            80 |
+-----------+---------------+
1 row in set (0.00 sec)

5、显示表 departments 的结构,并查询其中的全部数据。

mysql> DESC departments;
+-----------------+-------------+------+-----+---------+-------+
| Field           | Type        | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+-------+
| department_id   | int         | NO   | PRI | 0       |       |
| department_name | varchar(30) | NO   |     | NULL    |       |
| manager_id      | int         | YES  | MUL | NULL    |       |
| location_id     | int         | YES  | MUL | NULL    |       |
+-----------------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)mysql> SELECT * FROM departments;

6、选择工资不在 5000 到 12000 的员工的姓名和工资。

mysql> SELECT last_name,salary FROM employees WHERE NOT salary BETWEEN 5000 AND 12000;
mysql> SELECT last_name,salary FROM employees WHERE salary < 5000 OR salary > 12000;

7、选择在20或50号部门工作的员工姓名和部门号。

SELECT last_name,department_id FROM employees WHERE department_id IN(20, 50);
SELECT last_name,department_id FROM employees WHERE department_id = 20 OR department_id = 50;

8、选择公司中没有管理者的员工姓名及job_id。

mysql> SELECT last_name,job_id FROM employees WHERE manager_id <=> NULL;
+-----------+---------+
| last_name | job_id  |
+-----------+---------+
| King      | AD_PRES |
+-----------+---------+
1 row in set (0.00 sec)mysql> SELECT last_name,job_id FROM employees WHERE manager_id IS NULL;
+-----------+---------+
| last_name | job_id  |
+-----------+---------+
| King      | AD_PRES |
+-----------+---------+
1 row in set (0.00 sec)mysql> SELECT last_name,job_id FROM employees WHERE ISNULL(manager_id);
+-----------+---------+
| last_name | job_id  |
+-----------+---------+
| King      | AD_PRES |
+-----------+---------+
1 row in set (0.00 sec)mysql> SELECT last_name,job_id FROM employees WHERE NOT manager_id IS NOT NULL;
+-----------+---------+
| last_name | job_id  |
+-----------+---------+
| King      | AD_PRES |
+-----------+---------+
1 row in set (0.00 sec)

9、选择公司中有奖金的员工姓名,工资和奖金级别。

mysql> SELECT last_name,salary,commission_pct FROM employees WHERE commission_pct IS NOT NULL;

10、选择员工姓名的第三个字母是a的员工姓名。

mysql> SELECT last_name FROM employees WHERE last_name LIKE '__a%';

11、选择姓名中有字母a和k的员工姓名。

mysql> SELECT last_name FROM employees WHERE last_name LIKE '%a%k%' OR last_name LIKE '%K%a%';
+------------+
| last_name  |
+------------+
| Kochhar    |
| Kaufling   |
| Markle     |
| Atkinson   |
| Philtanker |
| Kumar      |
+------------+

12、显示出表 employees 表中 first_name 以 'e' 结尾的员工信息。

mysql> SELECT first_name FROM employees WHERE first_name LIKE '%e';
mysql> SELECT first_name FROM employees WHERE first_name REGEXP 'e$';

13、显示出表 employees 部门编号在 80-100 之间的姓名、工种。

mysql> SELECT last_name,job_id FROM employees WHERE department_id BETWEEN 80 AND 100;

14、显示出表 employees 的 manager_id 是 100,101,110 的员工姓名、工资、管理者id。

mysql> SELECT last_name,job_id FROM employees WHERE department_id BETWEEN 80 AND 100;

15、查询员工的姓名和部门号和年薪,按年薪降序,按姓名升序显示。

SELECT last_name,department_id,salary * 12 AS "AnnualSalary" FROM employees ORDER BY AnnualSalary DESC, last_name ASC;

16、选择工资不在 8000 到 17000 的员工的姓名和工资,按工资降序,显示第21到40位置的数据。

# 注意初始位置是从0开始的,显示第21条记录之后的数据,初始位置就应该为20
SELECT last_name,salary FROM employees WHERE NOT salary BETWEEN 8000 AND 17000 ORDER BY salary DESC LIMIT 20 OFFSET 20;
SELECT last_name,salary FROM employees WHERE NOT salary BETWEEN 8000 AND 17000 ORDER BY salary DESC LIMIT 20, 20;

17、查询邮箱中包含E的员工姓名,邮箱及部门号,并先按邮箱的字节数降序,再按部门号升序。

SELECT last_name,email,department_id FROM employees WHERE email LIKE '%E%' ORDER BY LENGTH(email) DESC, department_id ASC;
SELECT last_name,email,department_id FROM employees WHERE email REGEXP '[E]' ORDER BY LENGTH(email) DESC, department_id ASC;

至此今天的学习就到此结束了,笔者在这里声明,笔者写文章只是为了学习交流,以及让更多学习数据库的读者少走一些弯路,节省时间,并不用做其他用途,如有侵权,联系博主删除即可。感谢您阅读本篇博文,希望本文能成为您编程路上的领航者。祝您阅读愉快!


好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
    如果我的博客对你有帮助、如果你喜欢我的博客内容,请 点赞评论收藏 一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
 编码不易,大家的支持就是我坚持下去的动力。点赞后不要忘了 关注 我哦!

六、MySQL 数据库练习题1(包含前5章练习题目及答案)相关推荐

  1. mysql存储过程练习题,2016年计算机二级考试MySQL数据库练习题模拟

    一.编程题 在数据库db_test中创建一个存储过程,用于实现给定表content中一个留言人的姓名即可修改表content中该留言人的电子邮件地址为一个给定的值. 二.简答题 1.请解释什么是存储过 ...

  2. mysql数据库名称中包含短横线的对应方式

    这篇文章记录一下mysql数据库名称中包含短横线时的对应方式,简单来说就是将名称使用``给包起来即可. 错误信息提示 创建数据库名称jeecg-boot,出现如下错误信息 mysql> crea ...

  3. MySQL 数据库练习题记录01

    文章目录 前言 一.数据库练习题一 1.1 表结构 1.2 查询所有学生的信息(学号,姓名,性别,班级名称) 1.3 查询所有人(包括没有成绩的学生)的课程分数(学号,姓名,性别,班级名称,语文分数, ...

  4. MySQL数据库实训题_实训六 MySql数据库编程练习

    实训六MySql数据库编程练习 一.实训目的 1.掌握Mysql数据库.Navicat  for Mysql等软件的安装配置方法. 2.掌握使用JDBC驱动程序连接MySql数据库的使用方法. 3.掌 ...

  5. 《MySQL数据库原理、设计与应用》课后习题及答案 黑马程序员编著

    <MySQL数据库原理.设计与应用>课后习题及答案 黑马程序员编著 答案有文档形式,但是csdn必须要下载,,需要的人就去那里下载吧.<MySQL数据库原理.设计与应用>课后习 ...

  6. linux mysql数据库备份并删除前一分钟的数据

    linux 中mysql数据库定时备份并删除前一分钟的所有数据 #!/bin/bash #mysqldump -uroot -ppassword01! imaginebase > /home/b ...

  7. 前端angular与服务器端nodejs实现从mysql数据库读取数据实现前后端交互实例

    一.angular前端交互 使用angular框架的人都知道angular提供了内置的HttpClientModule模块来实现前后端交互请求. 实际操作如下: 1.在app.module.ts文件中 ...

  8. (六)MySQL数据库高阶语句之正则表达式、运算符、连接表达式JOIN

    文章目录 一.正则表达式 二.运算符 1.算术运算符 2.比较运算符 3.逻辑运算符(布尔值) 4.位运算符 5.优先级 三.连接查询 1.内连接 2.左连接 3.右连接 一.正则表达式 MySQL ...

  9. MySQL 数据库 练习题

    一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...

最新文章

  1. Excel直接转图片
  2. 建模揭秘----构建用户模型
  3. Python,得到列表最小k个数或最大k个数的索引
  4. 用python阐释工作量证明(proof of work)
  5. 浅析phpwind9.0之登陆机制
  6. 关闭edge任务栏预览_如何在Microsoft Edge中关闭选项卡预览
  7. Excel中Countif()函数运用技巧
  8. GitRepo 命令大全 ***
  9. Head First设计模式读书笔记三 装饰模式(个人理解:包装模式)
  10. 编译Android源码致命错误解决方案
  11. [转载] Python—urllib模块
  12. Excel批量打开URL
  13. N81各种问题解决汇总
  14. ASP.NET 安全认证(一)—— 如何运用 Form 表单认证 (摘自 http://blog.csdn.net/cityhunter172)
  15. python的struck.pack的用法:浮点转字节
  16. ABAP 企业微信ASE 加密算法
  17. 详解Unity中的粒子系统Particle System (十二 | 终)
  18. alt tab无法切换窗口
  19. 【深入理解Kotlin协程】Google的工程师们是这样理解Flow的?
  20. 影响显示结果的语系变量 (locale)

热门文章

  1. 天锋w2019_天锋W2019竟然仿的这么像,这是要让三星气吐血吗?
  2. 深度学习--FAISS向量数据库
  3. JavaScript-修炼之路第五层
  4. PRA2020.4 平台 API 接口调用
  5. MSTSC 自动登录
  6. 视频网站开发:JavaWeb做一个带自定义小表情的评论功能
  7. java 生成时间戳
  8. 【动态规划】背包问题1
  9. alt+tab突然不能切换窗口(樱桃机械键盘)
  10. TCP-IP详解:SACK选项(wireshark抓包有SLE和SRE的SACK包)