数据库之MySQL数据操作练习

这篇具有很好参考价值的文章主要介绍了数据库之MySQL数据操作练习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

练习内容

worker表要求

创建的表的表结构

表中的数据内容

对数据的操作

1.显示所有职工的基本信息

2.查询所有职工所属部门的部门号,不显示重复的部门号

3.求出所有职工的人数

4.列出最高工和最低工资

5.列出职工的平均工资和总工资

6.创建一个只有职工号、姓名和参加工作的新表,名为工作日期表

7.列出所有姓刘的职工的职工号、姓名和出生日期

8.列出1960年以前出生的职工的姓名、参加工作日期

9.列出工资在1000一2000之间的所有职工姓名

10.列出所有陈姓和李姓的职工姓名

11.列出所有部门号为2和3的职工号、姓名、党员否

12.将职工表worker中的职工按出生的先后顺序排序

13.显示工资最高的前3名职工的职工号和姓名

14.求出各部门党员的人数

15.统计各部门的工资和平均工资

16.列出总人数大于4的部门号和总人数


练习内容

        创建一个工作者的表 ,对表中数据进行相关操作

worker表要求

创建的表的表结构

数据库之MySQL数据操作练习,数据库,数据库,mysql

CREATE TABLE worker(
部门号 int(11) NOT NULL,
职工号 int(11) NOT NULL,
工作时间 date NOT NULL,
工资 float(8,2) NOT NULL,
政治面貌 varchar(10) NOT NULL DEFAULT '群众',
姓名 varchar(20) NOT NULL,
出生日期 date NOT NULL,
PRIMARY KEY (职工号)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

表中的数据内容

数据库之MySQL数据操作练习,数据库,数据库,mysql

INSERT INTO worker (部门号,职工号,工作时间,工资,政治面貌,姓名,出生日期) VALUES (101,1001,'2015-5-4',3500.00,'群众','张三','1990-7-1');

INSERT INTO worker (部门号,职工号,工作时间,工资,政治面貌,姓名,出生日期) VALUES (101,1002,'2017-2-6',3200.00,'团员','李四','1997-2-8');

INSERT INTO worker (部门号,职工号,工作时间,工资,政治面貌,姓名,出生日期) VALUES (102,1003,'2011-1-4',8500.00,'党员','王亮','1983-6-8');

INSERT INTO worker (部门号,职工号,工作时间,工资,政治面貌,姓名,出生日期) VALUES (102,1004,'2016-10-10',5500.00,'群众','赵六','1994-9-5');

INSERT INTO worker (部门号,职工号,工作时间,工资,政治面貌,姓名,出生日期) VALUES (102,1005,'2014-4-1',4800.00,'党员','钱七','1992-12-30');

INSERT INTO worker (部门号,职工号,工作时间,工资,政治面貌,姓名,出生日期) VALUES (102,1006,'2017-5-5',4500.00,'党员','孙八','1996-9-2');

对数据的操作

数据库之MySQL数据操作练习,数据库,数据库,mysql

1.显示所有职工的基本信息

mysql> select * from worker;

数据库之MySQL数据操作练习,数据库,数据库,mysql

2.查询所有职工所属部门的部门号,不显示重复的部门号

mysql> select distinct 部门号 from worker;

数据库之MySQL数据操作练习,数据库,数据库,mysql

3.求出所有职工的人数

mysql> select count(*) from worker;

数据库之MySQL数据操作练习,数据库,数据库,mysql

4.列出最高工和最低工资

mysql> select max(工资),min(工资) from worker;

数据库之MySQL数据操作练习,数据库,数据库,mysql

5.列出职工的平均工资和总工资

mysql> select sum(工资),avg(工资) from worker;

数据库之MySQL数据操作练习,数据库,数据库,mysql

6.创建一个只有职工号、姓名和参加工作的新表,名为工作日期表

mysql> create table worker_day select 职工号,姓名,出生日期 from worker;

数据库之MySQL数据操作练习,数据库,数据库,mysql

7.列出所有姓刘的职工的职工号、姓名和出生日期

mysql> select 职工号,姓名,出生日期 from worker where 姓名 like '刘%';

数据库之MySQL数据操作练习,数据库,数据库,mysql

 因为此表中没有性刘的职工,所以查询没有任何内容,若果查询姓张的

mysql> select 职工号,姓名,出生日期 from worker where 姓名 like '张%';

数据库之MySQL数据操作练习,数据库,数据库,mysql

8.列出1960年以前出生的职工的姓名、参加工作日期

mysql> select 姓名,工作时间 from worker where year(出生日期) < 1960;

数据库之MySQL数据操作练习,数据库,数据库,mysql

因为没有1960年以前出生的职工,所以查询为空表

数据库之MySQL数据操作练习,数据库,数据库,mysql

9.列出工资在1000一2000之间的所有职工姓名

mysql> select 姓名 from worker where 工资 between 1000 and 2000;

数据库之MySQL数据操作练习,数据库,数据库,mysql

 因为没有工资在1000一2000之间的职工,所以查询为空表

数据库之MySQL数据操作练习,数据库,数据库,mysql

10.列出所有陈姓和李姓的职工姓名

mysql> select 姓名 from worker where 姓名 like '陈%' or 姓名 like '李%';

数据库之MySQL数据操作练习,数据库,数据库,mysql

因为没有姓陈的职工,所以查询结果只有姓李的职工

数据库之MySQL数据操作练习,数据库,数据库,mysql

11.列出所有部门号为2和3的职工号、姓名、党员否

select `职工号`,`姓名`,(locate('党员',政治面貌)) as `是(1)否(0)党员` from worker where `部门号`=102 or `部门号`=103;

数据库之MySQL数据操作练习,数据库,数据库,mysql

locate() 查找某个字段里面是否有某个某个字符串 是(1)否(0) 

12.将职工表worker中的职工按出生的先后顺序排序

mysql> mysql> select * from worker order by year(出生日期);

数据库之MySQL数据操作练习,数据库,数据库,mysql

13.显示工资最高的前3名职工的职工号和姓名

mysql> select 职工号,姓名 from worker order by 工资 desc limit 0,3;

数据库之MySQL数据操作练习,数据库,数据库,mysql

14.求出各部门党员的人数

mysql> select 部门号,sum(locate('党员',政治面貌)) 党员数 from worker group by 部门号;

数据库之MySQL数据操作练习,数据库,数据库,mysql

15.统计各部门的工资和平均工资

mysql> mysql> select 部门号,sum(工资) 工资 , avg(工资) 平均工资 from worker group by 部门号;

数据库之MySQL数据操作练习,数据库,数据库,mysql

16.列出总人数大于4的部门号和总人数

mysql> select 部门号,count(姓名) 总人数 from worker group by 部门号 having count(姓名)>4;

数据库之MySQL数据操作练习,数据库,数据库,mysql

因为没有总人数大于4的部门,所以查询结果为空

数据库之MySQL数据操作练习,数据库,数据库,mysql文章来源地址https://www.toymoban.com/news/detail-546616.html

到了这里,关于数据库之MySQL数据操作练习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MySQL--->数据库操作】

    语句格式:create database [if no exists]数据库名[create_specification [,create_specification] …]; 中括号内是可选项,if no exists是指如果数据库不存在就创建,存在就不创建,相当于自动查重. create_specification 可以指定数据库的编码格式和校验规则. drop database 数据库名; alter database 数据库名 指定

    2024年02月13日
    浏览(45)
  • MySQL 数据库操作

     提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、关系模型 二、数据库的操作 创建数据库 查看数据库 选择数据库 删除数据库 三、MySQL 数据库命名规范 总结 关系数据库是建立在关系模型上的。而关系模型本质上就是若干个存储数据的

    2023年04月08日
    浏览(57)
  • 【MySQL】MySQL 数据库的介绍与操作

    目录 1. 登录 MySQL 数据库 2. MySQL 介绍 3. 操作数据库 1、创建数据库 2、删除数据库 3、插入数据 4、查找 5、修改数据库 4. 表的操作 1、创建表 2、查看表 3、修改表 4、删除表 写在最后: 指令: 这里我来介绍一下他的选项,-h 表示指明登录部署 MySQL 服务的主机,-P 表示我们要

    2024年02月14日
    浏览(43)
  • MySQL的数据库操作、数据类型、表操作

    目录 一、数据库操作 (1)、显示数据库 (2)、创建数据库 (3)、删除数据库 (4)、使用数据库 二、常用数据类型 (1)、数值类型 (2)、字符串类型 (3)、日期类型 三、表操作 (1)、创建表 (2)、查看表 (3)、删除表 都要看到这了,点个赞再走吧,谢谢谢谢谢

    2024年02月06日
    浏览(79)
  • 数据库系统原理及MySQL应用教程实验四MySQL数据库表数据的查询操作

    1.掌握SELECT 语句的基本语法格式。 2.掌握SELECT 语句的执行方法。 3.掌握SELECT 语句的 GROUP BY 和 ORDER BY 子句的作用。 验证性实验:在公司的部门员工管理数据库的bumen表和yuangong表上进行信息查询。 设计性试验:将在student表和score表上进行查询。 ( 一 ) 验证性实验 在

    2024年02月05日
    浏览(57)
  • MySQL数据库的操作

    语法 说明: []可选项 specification 特殊选项 character set 字符集 collate 校验规则 创建示例 完整的示例 字符集和校验规则 查看系统支持的字符集和校验集 查看系统支持的字符集 字符集主要是支持使用哪种语言。 查看数据库支持的校验集 校验规则对于数据库的影响 不区分大小写

    2023年04月21日
    浏览(77)
  • 【MySQL】数据库的操作

    目录 前言 创建数据库 编码集和校验集 不同校验集的区别 删除数据库 确认当前数据库 查看数据库属性 修改数据库属性 备份与还原 数据库和表的备份 还原 创建表 查看列结构 查看表属性 修改表的列 修改表名称  修改列名称 删除表 在上一篇文章中,我们简单地讲解了有关

    2024年02月07日
    浏览(41)
  • 【MySQL】数据库——库操作

    格式为:CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] …] create database 表示为 固定用法 db_name 表示为 数据库名称 [IF NOT EXISTS] 表示可选项 在终端1中,通过 mysql -uroot -p 指令,登陆数据库 再输入 show databases; 查看当前用户所能看到的数据库列表 创建终端

    2024年02月08日
    浏览(41)
  • Mysql数据库用户操作

    # Mysql数据库用户操作 ## 1.1创建用户 ```shell create user ‘nz’ identified by ‘123456’ # hzm:用户账号,123456:密码 create user ‘nz’@’%’ identified by ‘123456’ #所有ip都可用账号 create user ‘nz’@’localhost’ identified by ‘123456’ #本地可用账号 create user ‘nz’@’192.168.12.1’ identified

    2024年02月16日
    浏览(58)
  • MySQL数据库高级操作

    if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建 int(4) zerofill:表示若数值不满4位数,则前面用“0”填充,例0001 auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;自增长字段数据不可以重复;自增长字段必须是主键;如添

    2024年02月09日
    浏览(82)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包