Excel 是一个很棒的工具。我喜欢它。但是假设您想要使用来自许多不同文件的大量数据,并且您想要对这些数据进行大量操作。或者,您可能需要维护从许多不同来源以高频率输入和更新的数据。只是一些原因,说明您可能是时候转向 SQL 数据库了。在本文中,我展示了如何在 SQL 中实现 40 个常见的 Excel 操作。
使用 SQL 而不是 Excel 的优势
与 Excel 相比,使用 SQL 数据库有很多优势:
- 更具可扩展性
- 更高程度的数据完整性
- 安全
- 合作
- 自动化
SQL 旨在处理大型数据集和复杂查询,而 Excel 可能难以处理大量数据或复杂计算。Excel 中出现错误和不一致的风险更高。这主要是由于例如手动数据输入和/或操作。此外,由于缺乏安全功能,使用 Excel 时数据被盗或损坏的风险也会增加。
SQL 数据库旨在确保数据完整性,这意味着数据是一致且准确的。它们还可以通过密码和用户权限进行保护,从而更好地控制谁可以访问和修改数据。SQL 数据库可以由多个用户同时访问和更新,使团队协作和共享数据变得更加容易。在 Excel 中,多个用户可能需要处理文件的单独副本,从而导致版本控制问题。SQL 允许使用脚本和存储过程自动执行重复性任务和流程,例如数据清理和格式化。在Excel中,这些任务通常需要手动输入并且可能很耗时。
常见的Excel操作及其SQL实现
下面是 SQL 中的常见操作的快速列表,这些操作将实现一些常见的 Excel 操作。
- 创建一个新的工作表:
CREATE TABLE [Sheet1]
- 重命名工作表:
ALTER TABLE [Sheet1] RENAME TO [NewSheetName]
- 删除工作表:
DROP TABLE [Sheet1]
- 选择一系列单元格:
SELECT * FROM [Sheet1$A1:C10]
- 对范围内的数据进行排序:
SELECT * FROM [Sheet1$A1:C10] ORDER BY Column1 ASC
- 过滤范围内的数据:
SELECT * FROM [Sheet1$A1:C10] WHERE Column1 = 'value'
- 删除范围内的重复项:
SELECT DISTINCT * FROM [Sheet1$A1:C10]
- 计算范围内的行数:
SELECT COUNT(*) FROM [Sheet1$A1:C10]
- 对一系列数字求和:
SELECT SUM(Column1) FROM [Sheet1$A1:C10]
- 计算一系列数字的平均值:
SELECT AVG(Column1) FROM [Sheet1$A1:C10]
- 求一个范围内的最大值:
SELECT MAX(Column1) FROM [Sheet1$A1:C10]
- 找到范围内的最小值:
SELECT MIN(Column1) FROM [Sheet1$A1:C10]
- 插入一个新行:
INSERT INTO [Sheet1] (Column1, Column2) VALUES ('value1', 'value2')
- 更新单元格值:
UPDATE [Sheet1$A1] SET Column1 = 'new value'
- 清除单元格值:
UPDATE [Sheet1$A1] SET Column1 = NULL
- 删除一行:
DELETE FROM [Sheet1] WHERE Column1 = 'value'
- 复制一系列单元格:
SELECT * INTO [NewSheet1$A1:C10] FROM [Sheet1$A1:C10]
- 剪切一系列单元格:
SELECT * INTO [NewSheet1$A1:C10] FROM [Sheet1$A1:C10]
DROP TABLE [Sheet1$A1:C10]
- 粘贴复制/剪切的单元格:
SELECT * INTO [Sheet1$A1:C10] FROM [NewSheet1$A1:C10]
- 冻结窗格:
SELECT * INTO [Sheet1$A1:C10] FROM [Sheet1$A1:C10]
ALTER TABLE [Sheet1] SET (FREEZE_PANES = 'A2')
- 隐藏列:
ALTER TABLE [Sheet1] HIDE COLUMN Column1
- 取消隐藏列:
ALTER TABLE [Sheet1] UNHIDE COLUMN Column1
- 隐藏一行:
ALTER TABLE [Sheet1] HIDE ROW 1
- 取消隐藏一行:
ALTER TABLE [Sheet1] UNHIDE ROW 1
- 对行或列进行分组:
ALTER TABLE [Sheet1] GROUP BY Column1
- 取消组合行或列:
ALTER TABLE [Sheet1] UNGROUP BY Column1
- 创建数据透视表:
SELECT Column1, SUM(Column2) FROM [Sheet1$A1:C10] GROUP BY Column1
- 刷新数据透视表:
REFRESH TABLE [PivotTable1]
- 创建图表:
SELECT Column1, Column2 INTO [Chart1] FROM [Sheet1$A1:B10]
CREATE CHART [ColumnChart] AS SELECT * FROM [Chart1]
- 添加图表标题:
ALTER CHART [ColumnChart] SET (TITLE = 'Chart Title')
- 更改图表类型:
ALTER CHART [ColumnChart] SET (TYPE = 'LineChart')
- 格式化图表轴:
ALTER CHART [ColumnChart] SET (X_AXIS_FORMAT = 'dd/mm/yyyy')
- 格式化图表图例:
ALTER CHART [ColumnChart] SET (LEGEND_FORMAT = 'Bottom')
- 保护工作表:
ALTER TABLE [Sheet1] SET (PROTECTION = 'Password')
- 取消保护工作表:
ALTER TABLE [Sheet1] SET (PROTECTION = NULL)
- 保护工作簿:
ALTER WORKBOOK SET (PROTECTION = 'Password')
- 取消保护工作簿:
ALTER WORKBOOK SET (PROTECTION = NULL)
- 合并单元格:
UPDATE [Sheet1$A1:B1] SET Column1 = 'Merged Cells'
- 取消合并单元格:
UPDATE [Sheet1$A1:B1] SET Column1 = 'Cell1', Column2 = 'Cell2'
- 插入评论:
INSERT INTO [Sheet1$A1] (Comment) VALUES ('Comment Text')
您可以在 SCDA 博客上了解有关 SQL 数据库以及如何开始使用 SQL 的更多信息。
相关内容
如果您有兴趣学习 SQL,这里有一些帮助您入门的文档:
- 链接:Python 中的 SQLite 数据库和数据表
- 链接:SQLite3 数据库中的 Python SELECT 语句
- 链接:在 Python 中将条目添加到 SQLite 3 数据库
- 链接:SQLite INTERSECT 运算符
- 链接:SQLite EXCEPT 运算符
- 链接:SQLite
- 链接:SQLite 聚合函数
- 链接:SQLite GROUP BY 子句
- 链接:SQLite SELF-JOIN 子句
- 链接:SQLite CROSS JOIN 子句
- 链接:SQLite GLOB 运算符
- 链接:SQLite IS NULL 运算符
- 链接:SQLite LIKE 运算符
- 链接:SQLite IN 运算符
- 链接:SQLite BETWEEN 运算符
- 链接:SQLite LIMIT 子句
- 链接:SQLite SELECT DISTINCT 子句
- 链接:SQLite DROP TABLE 语句
- 链接:SQLite DELETE 语句
- 链接:SQLite ORDER BY 子句
- 链接:SQLite UNION ALL 语句
- 链接:SQLite UNION 语句
- 链接:SQLite WHERE 子句
专业领域为优化和仿真的工业工程师(R,Python,SQL,VBA)
Leave a Reply