1. 数据库基础
在数字化时代,数据无处不在,而数据库则是组织和管理这些数据的系统。数据库不仅为企业提供了数据存储的解决方案,还使得数据的检索、分析和处理变得更加高效和系统化。
1.1 数据库的定义
数据库是一个有组织的数据集合,它允许用户存储、检索和操作数据。数据库通常用于各种应用程序,从简单的个人地址簿到复杂的企业系统,如客户关系管理(CRM)、库存管理和电子商务平台。
功能:
- 存储: 长期存储大量数据。
- 检索: 快速查找和访问所需数据。
- 处理: 对数据进行计算和分析。
- 管理: 确保数据的安全性、完整性和一致性。
类型:
- 关系型数据库: 使用表格模型存储数据,表之间通过关系(如外键)连接。
- 非关系型数据库: 不依赖表格模型,而是使用其他数据模型,如键值对、文档或图形数据库。
1.2 数据库的关键概念
数据模型
数据模型是数据库中数据的逻辑表示。它定义了数据的结构、数据之间的关系以及数据的约束条件。常见的数据模型包括:
- 关系模型: 使用表格、行和列来表示数据。
- 文档模型: 存储类似于JSON或XML的文档。
- 键值模型: 通过键来存储和检索值。
- 图形模型: 存储实体之间的关系,用于复杂的网络结构。
数据库架构
数据库架构是指数据库的组织结构,包括数据是如何存储和访问的。它通常包括:
- 物理架构: 数据库在磁盘上的存储方式。
- 逻辑架构: 数据库的逻辑设计,如表结构和索引。
- 视图: 用户看到的数据库结构,可能与实际存储结构不同。
数据库操作语言(DML 和 DDL)
DML(数据操纵语言) 用于与数据库中的数据交互,包括:
- SELECT: 查询数据。
- INSERT: 插入新数据。
- UPDATE: 更新现有数据。
- DELETE: 删除数据。
DDL(数据定义语言) 用于定义数据库的结构,包括:
- CREATE: 创建新的数据库对象,如表、索引。
- ALTER: 修改现有数据库对象的结构。
- DROP: 删除数据库对象。
总结
数据库基础是理解数据如何被存储、访问和操作的前提。了解数据库的定义、功能、类型、数据模型、架构和操作语言对于任何需要与数据打交道的开发者或数据分析师来说都是至关重要的。随着技术的发展,数据库的类型和操作方式也在不断演变,但这些核心概念仍然是构建高效、可靠数据库系统的基石。
SQL(Structured Query Language)是一种标准化的语言,用于在关系型数据库管理系统(RDBMS)中进行数据管理和操作。以下是一些常见的SQL语句示例:
- 选择数据
SELECT column1, column2 FROM table_name;
- 选择特定条件的数据
SELECT * FROM table_name WHERE condition;
- 插入数据
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
- 更新数据
UPDATE table_name SET column1 = value1 WHERE condition;
- 删除数据
DELETE FROM table_name WHERE condition;
- 创建数据库
CREATE DATABASE database_name;
- 创建表
CREATE TABLE table_name ( column1 datatype, column2 datatype, ... );
- 修改表结构
ALTER TABLE table_name ADD column_name datatype
- 重命名表
RENAME TABLE old_table_name TO new_table_name;
- 删除表
DROP TABLE table_name;
- 创建索引以提高查询效率
CREATE INDEX index_name ON table_name (column);
- 分组数据
SELECT column, COUNT(*) FROM table_name GROUP BY column;
- 使用聚合函数
SELECT AVG(column), SUM(column), MAX(column), MIN(column) FROM table_name;
- 连接表
SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;
- 子查询
SELECT * FROM table_name WHERE column IN (SELECT column FROM other_table WHERE condition);
- 排序结果
SELECT * FROM table_name ORDER BY column ASC, another_column DESC;
- 限制结果数量
SELECT * FROM table_name LIMIT number;
- 事务处理
BEGIN; UPDATE table_name SET column = value WHERE condition; COMMIT;
- 备份数据库
-- 这通常不是纯SQL命令,而是由数据库管理系统提供的工具或命令行选项
- 恢复数据库
-- 同上,通常不是SQL命令
请注意,这些SQL语句只是示例,具体的语法可能会根据不同的数据库系统(如MySQL、PostgreSQL、SQL Server等)略有不同。
2. 关系型数据库
关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。
关系型数据库(RDBMS)是数据存储和检索的主流方式,它们基于关系模型,使用表格、行和列来组织数据。SQL(Structured Query Language)作为标准语言,用于在关系型数据库中进行数据操作。
2.1 MySQL
MySQL 的历史和特点
MySQL是一个广泛使用的开源关系型数据库管理系统,最初由MySQL AB开发,现在属于Oracle公司。它以高性能、可靠性和易用性而闻名。
Mysql官网:https://www.mysql.com/
特点:
- 开源免费。
- 支持多种操作系统。
- 高度可定制的存储引擎。
- 大量社区支持和文档。
MySQL 的安装和配置
MySQL可以在多种平台上安装,包括Linux、Windows和macOS。安装过程通常涉及下载安装包、运行安装程序和配置基本设置。
MySQL 的基本操作
- 创建数据库:
CREATE DATABASE mydatabase;
创建表:
CREATE TABLE mytable ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT );
- 插入数据:
INSERT INTO mytable (name, age) VALUES ('John Doe', 30);
- 查询数据:
SELECT * FROM mytable WHERE age > 25;
- 更新数据:
UPDATE mytable SET age = 31 WHERE id = 1;
- 删除数据:
DELETE FROM mytable WHERE id = 1;
2.2 PostgreSQL
PostgreSQL 的特点和优势
PostgreSQL,通常简称为Postgres,是一个高度可扩展的开源对象关系数据库系统。它以其强大的功能和对SQL标准的遵守而受到赞誉。
PostgreSQL官网:https://www.postgresql.org/about/
PostgreSQL 是一个功能强大的开源对象关系数据库系统,它使用并扩展了 SQL 语言,并结合了许多功能,可以安全地存储和扩展最复杂的数据工作负载。 PostgreSQL 的起源可以追溯到 1986 年,作为加州大学伯克利分校POSTGRES项目的一部分,并且在核心平台上拥有超过 35 年的积极开发经验。
PostgreSQL 因其经过验证的架构、可靠性、数据完整性、强大的功能集、可扩展性以及软件背后的开源社区始终如一地提供高性能和创新解决方案的奉献精神而赢得了良好的声誉。 PostgreSQL 可在所有主要操作系统上运行,自 2001 年以来一直符合ACID,并且具有强大的附加组件,例如流行的PostGIS地理空间数据库扩展器。毫不奇怪,PostgreSQL 已成为许多人和组织选择的开源关系数据库。
开始使用 PostgreSQL 从未如此简单 - 选择您想要构建的项目,然后让 PostgreSQL 安全可靠地存储您的数据。PostgreSQL可以通过源代码或预编译的二进制文件在多种操作系统上安装。安装后,可以使用psql命令行工具或图形界面工具来管理数据库。
优势:
- 符合标准的SQL支持。
- 事务、并发控制和数据完整性。
- 支持复杂的查询和数据类型。
PostgreSQL 的高级功能
- 事务: 确保数据的一致性和可靠性。
- 并发控制: 通过多版本并发控制(MVCC)来实现。
- 数据完整性: 通过外键、检查约束等机制来维护。
IT入门知识第四部分《数据库》(4/10)(二):https://developer.aliyun.com/article/1562519