初学者的 SQL 基础知识

2025-06-08

初学者的 SQL 基础知识

大家好,我们先来简单了解一下SQL的基础知识。了解一下什么是SQL,有哪些命令、方法和特性。

开始吧!


基本术语

数据库——是一些有组织的信息集。

关系数据库——是建立在关系数据模型(根据关系的数学理论)上的数据库。

数据库管理系统 (DBMS) - 是一组允许您管理数据库的创建和使用的程序。


SQL 语言

SQL(结构化查询语言)是一种设计用于关系数据库的编程语言。

SQL 的特殊性在于它是一种声明式编程语言,我们描述我们想要得到什么,而不是如何得到


SQL 语句的类型

SQL 语句组:
  • 用于处理数据库对象的运算符。
  • 数据操作运算符。
  • 事务管理命令
  • 数据保护和管理运营商。

我们将只考虑数据操作运算符,因为您在工作过程中最常遇到它们。


SELECT 请求。基本语法

  • 最小查询:
SELECT * FROM table WHERE condition;
Enter fullscreen mode Exit fullscreen mode
  • “分离”和“排序”运算符:
SELECT DISTINCT f1, f2 FROM table
WHERE condition ORDER BY f2 DESC;
Enter fullscreen mode Exit fullscreen mode
  • 图形运算符:
SELECT QUANTITY (*) FROM table;
Enter fullscreen mode Exit fullscreen mode

子查询

示例:打印表的“f1”字段中不同值的数量。

SELECT COUNT(*) FROM (SELECT DISTINCT f1 FROM table WHERE condition);
Enter fullscreen mode Exit fullscreen mode

子查询写在括号中,其工作结果是一个表。


存在运算符

检查查询是否至少返回一个值的快速方法。

SELECT smth FROM table 
WHERE EXISTS (SELECT * FROM table2 WHERE table2.field = table.field1);

Enter fullscreen mode Exit fullscreen mode

有时使用别名会很方便:

SELECT field1 as f1, field2 as f2
FROM table AS first_table
WHERE EXISTS
(SELECT * FROM table2 AS second_table
WHERE second_table.field = first_table.f1);
Enter fullscreen mode Exit fullscreen mode

按运算符分组

SELECT field, COUNT(*) FROM table 
WHERE condition GROUP BY field HAVING having_condition;
Enter fullscreen mode Exit fullscreen mode

在 HAVING 运算符中,与 where 不同,可以使用聚合函数。

一些聚合函数:

  • 数数
  • 分钟
  • 最大限度

合并表

SELECT column_name(s) FROM table1
UNION (UNION ALL)
SELECT column_name(s) FROM table2
Enter fullscreen mode Exit fullscreen mode

按键

关键关系的类型:

  • 1比1
  • 一对多
  • 多对一

按键


多对多关系

多对多


JOIN 运算符

连接运算符


更改表格内容

  • 添加元素:
INSERT INTO table_name values (v1, v2, );
INSERT INTO table_name (col1, col2) VALUES (v1, v2);
Enter fullscreen mode Exit fullscreen mode
  • 更新元素:
UPDATE table_name SET col1 = val1, col2 = val2 WHERE condition;
Enter fullscreen mode Exit fullscreen mode
  • 删除元素:
DELETE FROM table_name WHERE condition;
Enter fullscreen mode Exit fullscreen mode

我希望我的努力能够帮助某人处理诸如 SQL 这样的主题。

祝你好运!

常问问题

我是一个初学者,请问应该如何学习Python?

请查看以下系列:


循序渐进学习 Python并达到初级
水平

您能指导我吗?

我当然准备好参加培训了。最大的困难是英语不是我的母语,需要通过翻译来沟通。

您愿意与我们的组织合作吗?

如果您有有趣的想法,我们很乐意邀请​​您从我们机构投稿。请在下方私信或社交网络上留言。

连接到我

在 Face 上给我写信...哦...Meta

我的推特

成为赞助人

鏂囩珷鏉ユ簮锛�https://dev.to/abstract/sql-basics-for-beginners-4n74
PREV
专业人士给初学者程序员的建议
NEXT
Linux 初学者清单