第二篇:关系型数据库的核心概念与 SQL 基础

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 本篇内容深入浅出地讲解了关系型数据库的核心概念与SQL基础,适合有一定计算机基础的学习者。文章涵盖数据库的基本操作(CRUD)、数据类型、表的创建与管理等内容,并通过实例解析SELECT、INSERT、UPDATE、DELETE等语句的用法。此外,还推荐了多种学习资源与实践建议,帮助读者巩固知识。学完后,你将掌握基础数据库操作,为后续高级学习铺平道路。

第二篇:关系型数据库的核心概念与 SQL 基础

目标读者:

有一定计算机基础的学习者,想要了解 SQL 语言和关系型数据库的基本操作。

内容概述:

在这一篇文章中,我们将深入探讨关系型数据库的核心概念,学习如何通过 SQL 语言进行常见的数据库操作。你将掌握如何查询、插入、更新和删除数据,学会创建和管理数据库表,并理解常见的数据类型。

通过本篇文章的学习,你将能够进行基础的数据库操作,并为后续的高级数据库管理和优化奠定基础。


一、关系型数据库的概念与特点

关系型数据库(Relational Database)是一种将数据组织成行和列的数据库系统。在关系型数据库中,数据被存储在(Table)中,每个表由若干列(字段)和行(记录)组成。表与表之间通过关系(如外键)进行连接。关系型数据库的关键特点是它们遵循了“关系模型”,这使得数据能高效、规范地存储并进行操作。

关系型数据库的特点:

  1. 数据结构化:数据存储在表格中,表与表之间通过外键等关系建立联系,数据类型固定。
  2. 支持SQL:关系型数据库通过 SQL(结构化查询语言)进行操作,提供标准化的查询和操作接口。
  3. 事务支持:关系型数据库通常支持事务处理,保证操作的原子性、一致性、隔离性和持久性(ACID特性)。
  4. 数据一致性与完整性:关系型数据库通过各种约束(如主键、外键、唯一性约束等)确保数据的一致性和完整性。

常见的关系型数据库:

  • MySQL:开源的关系型数据库,广泛应用于Web开发。
  • PostgreSQL:支持复杂查询和事务的开源数据库,具有很强的扩展性。
  • SQL Server:微软的关系型数据库,广泛应用于企业级应用。
  • Oracle:大规模应用的高性能数据库,适合处理复杂事务和大数据。

二、SQL 语言简介:查询、插入、更新、删除(CRUD 操作)

SQL(Structured Query Language)是用于操作关系型数据库的标准语言。通过SQL,我们可以进行数据查询(SELECT)、数据插入(INSERT)、数据更新(UPDATE)和数据删除(DELETE)等基本操作,这四个操作合称为 CRUD 操作(Create、Read、Update、Delete)。

1. 查询数据:SELECT

SELECT 语句用于从数据库中查询数据,能够根据指定的条件返回一个或多个数据表中的记录。

基本语法

SELECT column1, column2, ... FROM table_name;

例子

SELECT name, age FROM students;

这条查询语句从 students 表中获取所有学生的姓名和年龄。

2. 条件查询:WHERE

WHERE 子句用于对查询结果进行过滤,根据条件返回符合要求的记录。

基本语法

SELECT column1, column2 FROM table_name WHERE condition;

例子

SELECT name, age FROM students WHERE age > 20;

这条语句会查询出年龄大于20岁的学生的姓名和年龄。

3. 排序数据:ORDER BY

ORDER BY 子句用于对查询结果进行排序。默认是按升序排序,可以使用 DESC 关键字进行降序排序。

基本语法

SELECT column1, column2 FROM table_name ORDER BY column1 [ASC|DESC];

例子

SELECT name, age FROM students ORDER BY age DESC;

这条查询语句会按照学生年龄的降序排列结果。

4. 限制返回数据:LIMIT

LIMIT 子句用于限制查询结果的行数,常用于分页查询。

基本语法

SELECT column1, column2 FROM table_name LIMIT number;

例子

SELECT name FROM students LIMIT 5;

这条语句会返回前五个学生的姓名。


三、数据的插入(INSERT)、更新(UPDATE)与删除(DELETE)

除了查询数据,SQL 还提供了对数据进行插入、更新和删除的操作。

1. 插入数据:INSERT

INSERT INTO 语句用于将新数据插入到数据库表中。

基本语法

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

例子

INSERT INTO students (name, age) VALUES ('Alice', 22);

这条语句会将一条包含姓名为“Alice”、年龄为22的新记录插入到 students 表中。

2. 更新数据:UPDATE

UPDATE 语句用于修改已存在的记录。

基本语法

UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;

例子

UPDATE students SET age = 23 WHERE name = 'Alice';

这条语句会将 students 表中名为 Alice 的学生的年龄更新为 23。

3. 删除数据:DELETE

DELETE 语句用于从数据库表中删除一条或多条记录。

基本语法

DELETE FROM table_name WHERE condition;

例子

DELETE FROM students WHERE name = 'Alice';

这条语句会删除 students 表中名为 Alice 的学生记录。


四、数据库中的数据类型

在数据库表中,每个字段都有一个特定的数据类型,数据类型决定了该字段能存储什么类型的数据。常见的数据类型包括整数类型、字符类型和日期时间类型等。

1. 整数类型(INT)

用于存储整数(没有小数部分的数字)。

例子

age INT

表示存储年龄的字段,存储的是整数类型的值。

2. 字符类型(VARCHAR)

用于存储可变长度的字符串数据。VARCHAR 类型允许存储不同长度的字符串,最大长度由定义时指定。

例子

name VARCHAR(100)

表示存储姓名的字段,最多可以存储 100 个字符。

3. 日期类型(DATE)

用于存储日期值,通常格式为 YYYY-MM-DD

例子

birth_date DATE

表示存储出生日期的字段,存储格式为 YYYY-MM-DD

4. 其他常见数据类型

  • DECIMAL/NUMERIC:用于存储带小数的数值,常用于财务数据。
  • BOOLEAN:用于存储布尔值(True/False)。
  • TEXT:用于存储长文本数据,通常不限制字符数。

五、数据库表的创建与管理

在关系型数据库中,创建表是设计数据库结构的第一步。你可以使用 CREATE TABLE 语句来定义数据库表,指定字段及其数据类型。

1. 创建表:CREATE TABLE

基本语法

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    ...
);

例子

CREATE TABLE students (
    student_id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT,
    birth_date DATE
);

这条语句创建了一个名为 students 的表,其中包括学生 ID、姓名、年龄和出生日期四个字段。student_id 字段被设置为主键,保证每个学生的唯一性。

2. 删除表:DROP TABLE

如果需要删除表及其所有数据,可以使用 DROP TABLE 语句。

基本语法

DROP TABLE table_name;

例子

DROP TABLE students;

这条语句将删除 students 表。


六、实践建议与学习资源

为了进一步巩固所学的SQL知识,你可以进行以下实践操作:

  1. 创建并操作一个简单的数据库:在 MySQL 或 SQLite 中创建一个包含多张表的数据库,进行插入、查询、更新和删除操作。
  2. 参与 SQL 练习:通过平台如 LeetCodeHackerRank 进行SQL编程练习,提升数据查询和操作能力。
  3. 设计自己的数据库模型:为一个小型应用(如学生管理系统、图书馆管理系统等)设计数据库表和关系,进行实际开发。

推荐学习资源:

  • W3Schools SQL教程:适合快速上手SQL的学习者。

  • 《SQL必知必会》:一本非常适合初学者的SQL书籍,内容简明易懂,适合零基础的学习者。

  • 《SQL查询语言基础教程》(作者:Ben Forta):一本深入浅出的书籍,适合初学者快速掌握SQL查询及数据操作。

  • LeetCode SQL 编程练习:通过练习解决数据库相关的编程题目,强化SQL技能。

  • HackerRank SQL 编程挑战:提供许多SQL问题,适合初学者和中级学习者提升SQL技巧。

在线学习平台:

  1. Coursera - 数据库管理基础:这是一个基础的数据库课程,包含SQL操作的详细讲解和练习。

  2. Udemy - SQL for Beginners:提供 SQL 从基础到进阶的详细教程,帮助初学者打好基础。


总结与实践建议:

通过本篇文章的学习,你已经掌握了关系型数据库的基本概念和 SQL 的核心操作。你应该能够使用 SQL 查询数据、插入新记录、更新已有数据以及删除数据,还了解了常见的数据库表创建与管理的操作。此外,理解数据库中的常见数据类型有助于设计高效的数据库结构。

接下来,你可以通过以下方式继续巩固和深化自己的SQL技能:

  1. 动手实践:通过 MySQL、PostgreSQL 或 SQLite 在本地创建一个简单的数据库,尝试执行各类 SQL 查询操作。设计一个应用系统的数据库,并用 SQL 语言进行数据操作。

  2. 项目实践:例如,设计一个图书管理系统、学生信息管理系统或电商商品库存管理系统,结合你的SQL技能进行数据存储和管理。

  3. 参与社区讨论与项目:加入开发者社区(如 CSDN、Stack Overflow),参与数据库相关的讨论,查看他人分享的项目和代码,提升自己的理解和解决问题的能力。

  4. 练习 SQL 编程:使用 LeetCodeHackerRank 上的SQL题目进行不断练习,提升自己在实际开发中遇到复杂查询时的解决能力。


互动与反馈:

学习数据库不仅是技术的积累,更是思维方式的培养。在实践过程中,你可能会遇到各种问题和挑战。可以到 CSDN 或其他技术论坛提问,与他人讨论,获取帮助。也可以将你自己的学习心得、项目或技术文章分享给他人,帮助自己加深理解的同时,也促进学习社区的互动。

如果你对本文内容有任何问题或建议,欢迎在评论区与我们交流。同时,也鼓励你把学习过程中遇到的技术难题、解决思路以及学习资源与大家共享,形成良好的学习氛围。


通过这篇文章的学习,你将能够自信地使用SQL进行数据库的基本操作,并为进一步深入学习关系型数据库和其他高级话题(如数据库优化、索引、存储过程等)打下坚实的基础。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
9天前
|
SQL 数据可视化 关系型数据库
MCP与PolarDB集成技术分析:降低SQL门槛与简化数据可视化流程的机制解析
阿里云PolarDB与MCP协议融合,打造“自然语言即分析”的新范式。通过云原生数据库与标准化AI接口协同,实现零代码、分钟级从数据到可视化洞察,打破技术壁垒,提升分析效率99%,推动企业数据能力普惠化。
79 3
|
5天前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
72 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
4天前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
|
4天前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
22天前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
79 8
|
26天前
|
SQL 人工智能 Java
用 LangChain4j+Ollama 打造 Text-to-SQL AI Agent,数据库想问就问
本文介绍了如何利用AI技术简化SQL查询操作,让不懂技术的用户也能轻松从数据库中获取信息。通过本地部署PostgreSQL数据库和Ollama模型,结合Java代码,实现将自然语言问题自动转换为SQL查询,并将结果以易懂的方式呈现。整个流程简单直观,适合初学者动手实践,同时也展示了AI在数据查询中的潜力与局限。
178 8
|
9天前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
3月前
|
SQL 关系型数据库 MySQL
Go语言数据库编程:使用 `database/sql` 与 MySQL/PostgreSQL
Go语言通过`database/sql`标准库提供统一数据库操作接口,支持MySQL、PostgreSQL等多种数据库。本文介绍了驱动安装、连接数据库、基本增删改查操作、预处理语句、事务处理及错误管理等内容,涵盖实际开发中常用的技巧与注意事项,适合快速掌握Go语言数据库编程基础。
272 62
|
2月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
261 0
|
3月前
|
SQL 人工智能 关系型数据库
GitHub 热门!MindsDB 破解 AI + 数据库瓶颈,究竟有什么惊艳亮点?只需 SQL 即可实现智能预测
MindsDB 是一款将 AI 能力直接注入数据库的开源工具,支持 MySQL、PostgreSQL 等多种数据库连接,通过 SQL 即可完成模型训练与预测。它提供 AutoML 引擎、LLM 集成、联邦查询等功能,简化 MLOps 流程,实现数据到智能的无缝衔接。项目在 GitHub 上已获 32.4k 星,社区活跃,适用于客户流失预警、推荐系统、情感分析等场景。开发者无需深入模型细节,即可快速构建智能解决方案。项目地址:https://github.com/mindsdb/mindsdb。
749 0

相关产品

  • 云原生数据库 PolarDB