当前位置: 首页 > news >正文

【Mysql作业】

第一次作业

要求

1.首先打开Windows PowerShell

2.连接到MYSQL服务器

3.执行以下SQL语句:

-- 创建数据库
CREATE DATABASE mydb6_product;

-- 使用数据库
USE mydb6_product;

-- 创建employees表
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT,
gender VARCHAR(10) NOT NULL DEFAULT 'unknown',
salary FLOAT
);

-- 创建orders表
CREATE TABLE orders (
id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
price FLOAT,
quantity INT,
category VARCHAR(50)
);

-- 创建invoices表
CREATE TABLE invoices (
number INT PRIMARY KEY AUTO_INCREMENT,
order_id INT,
in_date DATE,
total_amount FLOAT CHECK (total_amount > 0),
FOREIGN KEY (order_id) REFERENCES orders(id)
);

 4.运行结果图

总结
-创建数据库和表:使用 `CREATE DATABASE` 和 `CREATE TABLE`。
- 验证数据库:`SHOW DATABASES LIKE 'mydb6_product'`。
- 验证表:`SHOW TABLES` 查看所有表,`SHOW CREATE TABLE 表名` 查看表结构。 

第二次作业

要求

1.建库建表

 -- 创建数据库
CREATE DATABASE IF NOT EXISTS mydb8_worker; 
-- 使用数据库
USE mydb8_worker; 
-- 创建表
CREATE TABLE IF NOT EXISTS t_worker (
department_id INT(11) NOT NULL COMMENT '部门号',
worker_id INT(11) PRIMARY KEY NOT NULL COMMENT '职工号',
worker_date DATE NOT NULL COMMENT '工作时间',
wages FLOAT(8,2) NOT NULL COMMENT '工资',
politics VARCHAR(10) NOT NULL DEFAULT '群众' COMMENT '政治面貌',
name VARCHAR(20) NOT NULL COMMENT '姓名',
birth_date DATE NOT NULL COMMENT '出生日期' 
);

2.插入数据

INSERT INTO t_worker VALUES (101,1001,'2015-5-4',7500.00,'群众','张春燕','1990-7-1');
INSERT INTO t_worker VALUES (101,1002,'2019-2-6',5200.00,'团员','李名博','1997-2-8');
INSERT INTO t_worker VALUES (102,1003,'2008-1-4',10500.00,'党员','王博涵','1983-6-8');
INSERT INTO t_worker VALUES (102,1004,'2016-10-10',5500.00,'群众','赵小军','1994-9-5');
INSERT INTO t_worker VALUES (102,1005,'2014-4-1',8800.00,'党员','钱有财','1992-12-30');
INSERT INTO t_worker VALUES (103,1006,'2019-5-5',5500.00,'党员','孙菲菲','1996-9-2');

3.完成查询

-- (1) 显示所有职工的基本信息
SELECT * FROM t_worker;

-- (2) 查询所有职工所属部门的部门号,不显示重复的部门号
SELECT DISTINCT department_id FROM t_worker;

 

-- (3) 求出所有职工的人数
SELECT COUNT(*) AS 职工总数 FROM t_worker;

 

-- (4) 列出最高工资和最低工资
SELECT MAX(wages) AS 最高工资, MIN(wages) AS 最低工资 FROM t_worker; 

 

-- (5) 列出职工的平均工资和总工资
SELECT AVG(wages) AS 平均工资, SUM(wages) AS 总工资 FROM t_worker;

 

-- (6) 创建一个只有职工号、姓名和参加工作的新表,名为工作日期表
CREATE TABLE IF NOT EXISTS 工作日期表 AS
SELECT worker_id AS 职工号, name AS 姓名, worker_date AS 参加工作时间
FROM t_worker;

 

 

-- (8) 列出工资在4000—8000之间的所有职工姓名
SELECT name AS 姓名 FROM t_worker WHERE wages BETWEEN 4000 AND 8000;

 

-- (9) 列出所有姓张和孙的职工姓名
SELECT name AS 姓名 FROM t_worker WHERE name LIKE '张%' OR name LIKE '孙%'; 

 

 -- (10) 列出所有部门号为102和103且不是党员的职工号、姓名
SELECT worker_id AS 职工号, name AS 姓名 
FROM t_worker 
WHERE department_id IN (102, 103) AND politics != '党员';

-- (13) 求出各部门党员的人数
SELECT department_id, COUNT(*) AS party_member_count 
FROM t_worker 
WHERE politics = '党员' 
GROUP BY department_id;

 

-- (15) 列出人数大于等于3的部门号和总人数 

SELECT department_id, COUNT(*) AS dept_total 
FROM t_worker 
GROUP BY department_id 
HAVING dept_total >= 3;

 

 

http://www.lryc.cn/news/587441.html

相关文章:

  • 16.使用ResNet网络进行Fashion-Mnist分类
  • [GWCTF 2019]我有一个数据库
  • 在 Ubuntu 下安装 MySQL 数据库
  • 谷歌推出Vertex AI Memory Bank:为AI智能体带来持久记忆,支持连续对话
  • 【echarts踩坑记录】为什么第二个Y轴最大值不整洁
  • 华为HarmonyOS 5.0深度解析:跨设备算力池技术白皮书(2025全场景智慧中枢)
  • JavaScript加强篇——第八章 高效渲染与正则表达式
  • vue防内存泄漏和性能优化浅解
  • PHP语法高级篇(二):文件处理
  • 小架构step系列13:测试用例的加载
  • python的平安驾校管理系统
  • C# 接口(接口可以继承接口)
  • MySQL SQL语句精要:DDL、DML与DCL的深度探究
  • 大模型-量化技术
  • mmap映射文件
  • mapstruct与lombok冲突原因及解决方案
  • Java面试基础:面向对象(2)
  • 利用 MySQL 进行数据清洗
  • System.getenv()拿不到你配置的环境变量
  • 流程控制:从基础结构到跨语言实践与优化
  • IP 地址与网络基础全面解析
  • AI驱动的软件工程(中):文档驱动的编码与执行
  • 【前端知识】移动端APP原生应用与H5交互底层逻辑
  • C#接口进阶:继承与多态实战解析
  • 高压空气冲击炮cad【3张】三维图+设计说明书
  • AutoDL挂载阿里云OSS
  • 01.深入理解 Python 中的 if __name__ == “__main__“
  • 自动润滑系统:从 “盲目养护“ 到智能精注的工业运维革命
  • MD5算法深度剖析与可视化解析
  • MailSpring