mysql简单测试题

MySQL 入门编程 (数据库(表)的建立,基础查询、排序、分组)

场景设定

假设你需要为一个小型在线商店管理商品信息。你需要创建一个 Products(商品)表来存储商品数据,并执行一些基本的查询操作。请将命令语句和运行结果截图贴在答案里


第一部分:创建表和插入数据

  1. 创建 Products 表:

    • 表名:Products
    • 包含以下列:
      • product_id:商品ID,整数类型 (INT),设为主键 (PRIMARY KEY),自动增长 (AUTO_INCREMENT)。
      • product_name:商品名称,字符串类型 (VARCHAR),长度最多100个字符,不能为空 (NOT NULL)。
      • category:商品类别,字符串类型 (VARCHAR),长度最多50个字符。
      • price:商品价格,小数类型 (DECIMAL),总共10位数,其中2位是小数,不能为空 (NOT NULL)。
      • stock_quantity:库存数量,整数类型 (INT),默认值为0
      • date_added:上架日期,日期类型 (DATE)。
  2. Products 表插入数据:

    • 插入下面的商品记录。
      product_name category price stock_quantity date_added
      华为 Mate 60 Pro 手机数码 6999.00 150 2024-09-01
      小米 无线蓝牙耳机 Air 3 手机数码 199.00 500 2024-10-15
      《三体》全集 图书音像 98.50 300 2024-08-20
      美的 智能电饭煲 家用电器 299.00 200 2024-11-05
      纯棉印花T恤 服装鞋包 79.00 800 2025-03-10
      乐高 创意百变系列 玩具乐器 450.00 120 2024-12-01
      舒适办公椅 家居生活 599.00 80 2025-01-20
      运动跑步鞋 Pro 服装鞋包 388.00 250 2025-02-15
      联想 办公用笔记本 电脑办公 8500.00 60 2025-01-05
      进口猫粮 5kg 宠物生活 188.00 400 2025-04-01

第二部分:基本查询 (SELECT)

使用你创建并填充了数据的 Products 表,完成以下查询任务:

  1. 查询所有商品信息: 显示 Products 表中的所有列和所有行。
  2. 查询特定列: 只显示所有商品的名称 (product_name) 和价格 (price)。
  3. 查询不重复的商品类别: 显示 Products 表中所有出现过的 category,每个类别只显示一次。
  4. 条件查询 - 按类别: 查询所有类别为 '服装鞋包' 的商品信息。
  5. 条件查询 - 按价格范围: 查询所有价格大于 300.00 并且小于 1000.00 的商品信息。
  6. 条件查询 - 按库存: 查询所有库存数量少于 200 件的商品名称和库存数量。
  7. 条件查询 - 多条件组合 (OR): 查询类别为 "手机数码" 或者价格低于 300.00 的商品信息。
  8. 条件查询 - 查找特定名称: 查询商品名称包含 "办公"(不区分大小写)的商品信息。(提示:使用 LIKE 操作符)

第三部分:排序 (ORDER BY)

  1. 按价格升序排序: 查询所有商品信息,并按价格 (price) 从低到高排序。
  2. 按上架日期降序排序: 查询所有商品信息,并按上架日期 (date_added) 从最新到最旧排序。
  3. 按类别和价格排序: 查询所有商品信息,并按类别 (category) 字母顺序排序。

第四部分:分组和聚合 (GROUP BY, Aggregate Functions)

  1. 统计商品总数: 计算 Products 表中一共有多少种商品。
  2. 按类别统计商品数量: 计算每个类别 (category) 下分别有多少种商品。
  3. 计算平均价格: 计算所有商品的平均价格。
  4. 计算每个类别的平均价格: 计算每个类别 (category) 下商品的平均价格。
  5. 计算总库存量: 计算所有商品的总库存数量 (stock_quantity)。
  6. 计算每个类别的总库存量: 计算每个类别 (category) 下商品的总库存数量。
  7. 查找最高和最低价格: 找出所有商品中的最高价格和最低价格。
[up主专用,视频内嵌代码贴在这]