极客前沿

MySQL视图与窗口函数入门:一步步安装与第一次使用

2026-05-31 01:34
DEV Tutorial
查看原文

本文带你从零开始安装MySQL,学会创建视图和使用窗口函数,适合完全没接触过数据库的读者。

准备环境:下载与安装MySQL

首先,你需要安装MySQL。访问MySQL官方下载页面,选择适合你操作系统的版本(Windows、macOS或Linux)。推荐下载MySQL Community Server(免费版)。安装时,记住你设置的root密码,后面登录要用。常见坑:安装过程中如果提示缺少Visual C++ Redistributable,先去微软官网下载安装。

第一步:连接MySQL并创建数据库

安装完成后,打开MySQL命令行客户端(或任何终端工具,如MySQL Workbench)。输入以下命令登录(密码是你刚设的root密码):

  • mysql -u root -p

登录成功后,创建一个新数据库:

Tutorial Image
  • CREATE DATABASE mydb;
  • USE mydb;

然后创建一张表并插入一些数据,方便后面练习:

  • CREATE TABLE sales (id INT, product VARCHAR(50), amount DECIMAL(10,2));
  • INSERT INTO sales VALUES (1, 'A', 100), (2, 'B', 200), (3, 'A', 150);

第二步:创建并使用视图

视图可以理解为一个“虚拟表”,它不存储数据,而是保存了一个查询。以后你可以像查普通表一样查它。创建视图的语法:

  • CREATE VIEW high_sales AS SELECT * FROM sales WHERE amount > 150;

现在你可以查询这个视图:

Tutorial Image
  • SELECT * FROM high_sales;

你会看到只有金额大于150的记录。如果不再需要,可以用 DROP VIEW high_sales; 删除。

第三步:体验窗口函数

窗口函数让你在不合并行的情况下,对每一行进行跨行计算。比如,你想知道每条销售记录在全部记录中的排名。试试这个:

  • SELECT id, product, amount, ROW_NUMBER() OVER (ORDER BY amount DESC) AS rank FROM sales;

ROW_NUMBER() 给每一行分配一个唯一编号,按金额降序排列。如果你想按产品分组排名,用 PARTITION BY

Tutorial Image
  • SELECT id, product, amount, ROW_NUMBER() OVER (PARTITION BY product ORDER BY amount DESC) AS rank FROM sales;

你还可以用 SUM() OVER 计算累计总和:

  • SELECT id, product, amount, SUM(amount) OVER (ORDER BY id) AS cumulative FROM sales;

常见坑:窗口函数只能在SELECT子句中使用,且OVER后面必须有括号。

下一步可以做什么

现在你已经成功安装MySQL,并亲手创建了视图、使用了窗口函数。接下来可以尝试:

  • 用更多窗口函数,如LAG(获取前一行的值)、LEAD(获取后一行的值)。
  • 在真实项目中练习,比如分析销售数据。
  • 学习如何优化查询性能,但那是进阶内容了。

记住,多动手写SQL是进步最快的方法。祝你学习愉快!

内容来源

DEV Tutorial

发布时间

2026-05-31 01:34

返回 AI技术