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

news2024/12/23 10:10:00

文章目录

  • 一、数据库概述练习题
  • 二、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;

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


在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/155008.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PrimalSQL 2023 Crack

PrimalSQL 2023 使数据库查询开发和测试变得轻而易举&#xff0c;无论您的数据库类型或供应商如何。 通过单个工具支持多个数据库提供程序。 Access、SQL Server、SQL Server Compact、MySQL、Oracle、ODBC、OLEDB、Sybase 等。 使用Visual Query Builder构建复杂的查询。 使…

Steam/CSGO游戏搬砖1月行情分析及应对方法

Steam/CSGO游戏搬砖1月行情分析及应对方法 这几天&#xff0c;我看很多地方还在对外宣称说这个项目有百分之十几&#xff0c;二三十的利润率&#xff0c;多么无敌和暴利&#xff01; 天啦 &#xff0c;这些人为了能割到小白的韭菜真是无所不用其极&#xff0c;什么牛都能吹得出…

外包和外派

前言 简单介绍下人们常说的外包是什么&#xff0c;应届生未出社会没有经验&#xff0c;避免求职过程中的一些坑。 文章目录前言一、什么是外包&#xff1f;1、简介1、项目外包2、人力外包二、外包公司有哪些&#xff1f;三、优缺点1、优点2、缺点四、选择一、什么是外包&#x…

海思SS928V100开发(2)镜像烧录

1. 开发板没有uboot 在\01.software\pc\ToolPlatform下,打开烧写工具ToolPlatform如下: 选择 “烧写eMMC”,并添加fastboot,kernel,rootfs,如下图: 然后点击 烧写,进入烧写模式(注意:检查串口选择是否正确,传输方式选择 网口): 烧写完成uboot,kernel和rootf后的…

流媒体协议之RTMP详解

流媒体协议之RTMP详解 文章目录流媒体协议之RTMP详解1 RTMP概述2 RTMP交互过程2.1 握手协议2.2 RTMP分块&#xff08;chunk&#xff09;2.3 协议控制消息&#xff08;Protocol Control Message&#xff09;2.4 RTMP Message Format2.5 不同类型的RTMP Message2.6 RTMP Massage和…

【Linux多线程编程】7. 线程锁(4)——信号量

前言 上篇文章Linux多线程编程】6. 线程锁&#xff08;3&#xff09;——条件变量 介绍了使用条件变量实现多线程同步的方式&#xff0c;而条件变量一般与互斥锁一同配合。本文介绍多线程同步的另一种方式——信号量&#xff0c;使用比条件变量简单&#xff0c;也用来解决生产…

【Ansible】ansible Playbook

文章目录一、Ad-Hoc 的问题二、PlayBook 是什么三、YAML 学习1.yaml 特点2.基本语法四、 Playbook 的编写1.play 的定义2.Play 属性3.一个完整的剧本4. tasks 属性中任务的多种写法5.具有多个 play 的 playbook6. 如何对 playbook 进行语法校验下面校验的方法&#xff0c;只能校…

想要申请双软认证 这九大标准你满足吗

申请双软认证的优势有很多&#xff0c;最主要的就是能够节省企业的税收支出&#xff0c;减少成本&#xff0c;企业的利润就会增加&#xff0c;企业也能够发展得更好了。 要申请双软认证&#xff0c;企业就需要及时的了解双软认证的要求&#xff0c;不光是要有软件著作权&#…

编写jinjia2模板和角色部分 ansible(6)

目录 题目&#xff1a; 1、jinjia2模板&#xff1a; 编写hosts.j2&#xff0c;内容如下(主机名和ip地址使用变量)&#xff1a; &#xff08;1&#xff09;Welcome to 主机名 &#xff01;&#xff08;比如servera.lab.example.com&#xff09; My ip is ip地址. &#xff…

虹科新品 | 什么是光纤微动开关?(上)

01 什么是光纤微动开关 # 光纤微动开关结合了机械开关和光中断器的优点以及光纤波导的非金属性 光纤微动开关有一个确定的机械开关点&#xff0c;提供触觉反馈 光中断器没有电子机械部件&#xff0c;因此具有高可靠性 光纤是非金属的&#xff0c;它的信号损失几乎为零&#x…

苹果中国官网上线智能家居板块,蓝牙BLE在智能家居的应用

近期苹果中国区官网已上线单独的家居板块&#xff08;Apple Home&#xff09;。页面显示&#xff0c;家居板块主要分为三个品类&#xff1a;HomePod、Home App&#xff08;家庭 App&#xff09;以及智能家居配件。 据了解&#xff0c;智能家居单品均为第三方出品&#xff0c;虽…

OpenWrt 在没有80\443端口、不能dns验证的情况下为自己的域名申请免费ssl证书

适用范围 本方法适用于使用OpenWrt 在没有80\443端口、不能dns验证的情况下为自己的域名申请免费ssl证书。 提示&#xff1a; 1、如果你的网络的80或者443端口是开放状态&#xff0c;可直接使用https://letsencrypt.org/进行ssl申请&#xff0c;使用acme.sh脚本可快速完成。 2…

枚举类与注解

文章目录一、枚举类的使用枚举类的理解枚举类的定义Enum类的常用方法Enum类的实现接口二、注解&#xff08;Annotation&#xff09;说明如何自定义注解JDK提供的4种元注解通过反射获取注解信息&#xff08;到反射再讲&#xff09;JDK8注解的新特性每日一考一、枚举类的使用 枚…

Node.js教程笔记(二)模块化

学习目标 1、能够说出模块化的好处 2、能够知道CommonJS规定了哪些内容 3、能够说出NodeJS中模块的三大分类各是什么 4、能够使用npm管理包 5、能够了解什么是规范的包结构 6、能够了解模块的加载机制 目录 1、模块化的基本概念 2、NodeJS中模块的分类 3、npm与包 4…

Django项目使用wangeditor方法

一、环境&#xff1a; python&#xff1a; 3.8 Django &#xff1a;3.2.16 wangeditor&#xff1a; v4 &#xff08;官方文档地址&#xff1a;wangEditor&#xff09; JS文件下载&#xff1a;https://download.csdn.net/download/weixin_47401101/87379142 编译器&#xff1…

日志分析工具--花两天时间为自己开发个小工具值得吗?

这两天忙里偷闲整理开发了个小的日志分析工具&#xff0c;没错&#xff0c;是给自己使用的&#xff0c;工欲善其事必先利其器。 先说一下痛点&#xff0c; 1、经常会遇到需要在外网服务器上调试的情况&#xff0c;此时只能通过日志来调试信息。 2、当使用记事本打开日志文件后&…

windows驱动开发-WDF编程

文章目录前言WDF编程前的准备工作WDF编程创建驱动对象创建设备对象设备对象的回调函数链表操作驱动的测试代码前言 注&#xff1a;本文的完整代码见仓库 18-WDF-reflect 代码参考自&#xff1a;junjiexing/libredirect 我不是从事驱动开发的专业人员&#xff0c;打酱油需要用…

区块链Fabric-从入门到实战(二) Fabric环境搭建

Fabric ubuntu16虚拟机环境搭建Ubuntu16镜像ubuntu-16.04.3-server-amd64.iso &#xff08;如有需要&#xff0c;私信我&#xff09;修改软件源cd /etc/apt/sudo cp sources.list sources.list.baksudo gedit sources.listdeb-src http://mirror.neu.edu.cn/ubuntu/ xenial mai…

回望在CSDN的2022和展望全新的2023

前言时光如白驹过隙&#xff0c;这条消息提醒着我加入CSDN有一些日子了。4286天&#xff0c;只是一个普通的数字&#xff0c;却记录着与CSDN的每一天。过去太长&#xff0c;回望过去的2022&#xff0c;有很多的收获和成长。在C站结实了一些朋友&#xff0c;分享了自己在工作中的…

校园跑腿、校园脱单、代理、帮忙拿快递的微信小程序 基于SpringBoot、Mybatis-plus、mysql实现

一、文件夹说明 代码下载 地址:校园跑腿、校园脱单、代理、帮忙拿快递的微信小程序 server 后端项目 project&#xff1a; 项目 CBD&#xff1a; 校园跑腿服务&#xff08;校园CBD中心&#xff09; server-app: 小程序apiserver-pc: 小程序后台管理service-cgs-base-service:…