数据库-第五周预习博客

一、数据库

       数据库是指一个有组织的、结构化的存储数据的集合。它是用于存储和管理大量数据的软件系统,可以提供数据的高效存储、访问、管理和维护功能。

  • 数据库类型

数据库类型可以根据数据模型、数据结构和应用场景的不同进行分类。常见的数据库类型包括:

  1. 关系型数据库(RDBMS):关系型数据库使用表来组织和存储数据,采用表格、行和列的结构,具有严格的数据模式和数据完整性约束。常见的关系型数据库包括MySQL、Oracle、SQL Server等。

  2. 非关系型数据库(NoSQL):非关系型数据库不使用固定的表格结构,而是根据应用的需要灵活地存储数据。它可以存储结构化、半结构化和非结构化数据。常见的非关系型数据库包括MongoDB、Cassandra、Redis等。

  3. 对象数据库:对象数据库是一种支持面向对象数据模型的数据库,可以存储和管理对象和对象之间的关系。它提供了面向对象的数据模型,支持继承、多态和封装等特性。

  4. 图数据库:图数据库使用图结构来存储和管理数据,它主要用于处理具有复杂关系和连接的数据。图数据库适用于网络、社交网络和推荐系统等场景。

  5. 文档数据库:文档数据库以文档的形式存储数据,每个文档可以是一个独立的实体,使用JSON或XML格式表示。文档数据库适用于处理半结构化数据和动态模式的数据。

  6. 列式数据库:列式数据库以列的形式存储数据,相比于传统的行式数据库,它适用于存储大规模的分散数据和分析查询。

  • 主流数据库:

  1.  MySQL:MySQL是一个开源的关系型数据库管理系统,被广泛用于Web应用开发和其他各种应用中。
  2. Oracle:Oracle是一种商业的关系型数据库管理系统,具有高度的可靠性、可扩展性和安全性,被广泛用于企业级应用。
  3. SQL Server:SQL Server是Microsoft开发的关系型数据库管理系统,适用于Windows平台,被广泛用于Windows环境中的企业应用。
  4. PostgreSQL:PostgreSQL是一个开源的关系型数据库管理系统,具有强大的功能和扩展性,被广泛用于各种应用中。
  5. MongoDB:MongoDB是一个开源的文档数据库,使用JSON格式存储数据,适用于处理半结构化数据和动态模式的数据。
  6. Redis:Redis是一个开源的内存键值存储数据库,具有高性能和丰富的数据结构支持,被广泛用于缓存、消息队列等应用中。 

二、SQL

1、概念

SQL(Structured Query Language,结构化查询语言)是一种用于访问和管理关系型数据库的语言。它是一种标准化的语言,被广泛用于存储、操作和查询数据。

SQL具有以下特点:

  1. 简单:SQL的语法简单清晰,易于学习和使用。

  2. 高效:SQL可以对大规模的数据进行快速的查询和操作。

  3. 安全:SQL提供了访问控制和数据保护的机制,保证了数据库的安全性。

  4. 可扩展:SQL可以处理复杂的查询和连接操作,支持多表关联、嵌套查询等功能。

  5. 平台无关性:SQL是一种标准化的语言,可以在不同的数据库管理系统中使用。

SQL主要包括以下几个方面的功能:

  1. 数据定义语言(DDL):用于创建、修改和删除数据库、表、索引等的结构。

  2. 数据操作语言(DML):用于插入、更新和删除数据。

  3. 数据查询语言(DQL):用于查询和检索数据。

  4. 数据控制语言(DCL):用于控制数据库的访问权限和数据保护。

  5. 事务控制:又称为“TCL语言”,包括事务的提交与回滚。

  6. 嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。

SQL已经成为关系型数据库管理系统(如MySQL、Oracle、SQL Server等)的标准查询语言,被广泛应用于各种企业和网站的数据管理工作中。

2、介绍

SQL(Structured Query Language,结构化查询语言)包括许多关键术语,下面是一些常用的关键术语:

  1. 数据库(Database):用于存储和组织数据的容器,可以包含多个表和其他对象。

  2. 表(Table):数据库中的一个数据结构,用于存储数据。表由行和列组成,每行表示一条记录,每列表示一个属性。

  3. 列(Column):表中的一个字段,表示某个属性或数据类型。

  4. 行(Row):表中的一条记录,也被称为元组。

  5. 主键(Primary Key):表中用于唯一标识每条记录的一列或一组列。主键值不能重复且不能为空。

  6. 外键(Foreign Key):表中用于与其他表建立关联关系的列。外键值必须与其他表中的主键值相对应。

  7. 索引(Index):用于提高数据库查询性能的数据结构。索引基于一个或多个列,可以快速定位和访问特定数据。

  8. 查询(Query):用于从表中检索数据的SQL语句。

  9. 插入(Insert):用于将数据插入表中的SQL语句。

  10. 更新(Update):用于修改表中已有数据的SQL语句。

  11. 删除(Delete):用于从表中删除数据的SQL语句。

  12. 连接(Join):用于将多个表中的数据关联起来的操作。

  13. 视图(View):基于一个或多个表的查询结果创建的虚拟表。视图可以简化复杂的查询操作。

  14. 事务(Transaction):数据库操作的一个逻辑单元,要么全部执行成功,要么全部回滚。保证数据库的一致性和完整性。

3、数据表操作

SQL提供了一系列的操作来管理数据表,下面是一些常用的SQL数据表操作:

  • 创建表(CREATE TABLE):用于创建一个新的表,可以指定表名、列名、数据类型、约束等。
CREATE TABLE Students (
    ID INT PRIMARY KEY,
    Name VARCHAR(50),
    Age INT,
    Gender VARCHAR(10)
);
  • 删除表(DROP TABLE):用于删除一个已存在的表。
DROP TABLE Students;
  • 插入数据(INSERT INTO):用于向表中插入新的数据行。

例子:

INSERT INTO Students (ID, Name, Age, Gender)
VALUES (1, 'John', 20, 'Male');
  • 更新数据(UPDATE):用于修改表中已有的数据行。
UPDATE Students
SET Age = 21
WHERE ID = 1;
  • 删除数据(DELETE FROM):用于从表中删除数据行。:
DELETE FROM Students
WHERE ID = 1;
  • 查询数据(SELECT):用于检索表中的数据行。
SELECT * FROM Students;
  • 修改表结构(ALTER TABLE):用于修改表的结构,如添加和删除列,修改列的数据类型等。
ALTER TABLE Students
ADD COLUMN Grade INT;

ALTER TABLE Students
DROP COLUMN Gender;

4、数据查询语言

  • 基本查询语句:用于检索数据库中的数据,包括SELECT和FROM等语句。

SELECT 列1, 列2, ...
FROM 表名
WHERE 条件;
 

  • 条件查询语句:用于根据特定的条件筛选数据,包括WHERE和HAVING等语句。

SELECT 列1, 列2, ..., 聚合函数(列)
FROM 表名
GROUP BY 列1, 列2, ...
HAVING 聚合函数(列) 条件;
 

  • 排序查询语句:用于对查询结果进行排序,包括ORDER BY语句。

SELECT 列1, 列2, ...
FROM 表名
ORDER BY 列1 ASC/DESC, 列2 ASC/DESC, ...;
 

  • 分组查询语句:用于对数据进行分组统计,包括GROUP BY语句。

SELECT 列1, 列2, ..., 聚合函数(列)
FROM 表名
GROUP BY 列1, 列2, ...;
 

  • 连接查询语句:用于将多个表中的数据连接在一起,包括JOIN语句。

SELECT 列1, 列2, ...
FROM 表1
JOIN 表2 ON 表1.列 = 表2.列;
 

  • 多表查询语句:用于同时查询多个表的数据,包括UNION和INTERSECT等语句。

SELECT 列1, 列2, ...
FROM 表1
WHERE 条件
UNION
SELECT 列1, 列2, ...
FROM 表2
WHERE 条件;
 

  • 嵌套查询语句:将一个查询结果作为另一个查询的条件,包括子查询和相关子查询语句。

  • 聚合函数查询语句:用于对数据进行聚合计算,包括SUM、AVG、COUNT等聚合函数。

  • 全文检索查询语句:用于在文本字段中进行全文搜索,包括MATCH AGAINST和LIKE等语句。

  • 数据更新语句:用于对数据库中的数据进行修改、删除和插入,包括UPDATE、DELETE和INSERT等语句。

三、JDBC

JDBC(Java Database Connectivity)是Java编程语言用于连接和操作关系型数据库的一种API(Application Programming Interface)。它提供了一组用于执行数据库操作的Java接口,使得Java应用程序能够与各种数据库进行交互。

JDBC通过驱动程序的方式连接不同类型的数据库,并提供了一套标准的方法和语法来执行诸如查询、插入、更新和删除等操作。它可以用于执行SQL语句,以及处理数据库事务、连接管理和异常处理。

JDBC的工作原理如下:

  1. 导入JDBC驱动程序:首先,需要导入适当的JDBC驱动程序,以便Java应用程序可以与特定类型的数据库进行通信。

  2. 加载驱动程序:使用Class.forName()方法加载所需的JDBC驱动程序。

  3. 建立数据库连接:使用DriverManager.getConnection()方法建立与数据库的连接,并传递数据库的URL、用户名和密码等连接参数。

  4. 创建Statement对象:使用Connection对象的createStatement()方法创建一个用于执行SQL语句的Statement对象。

  5. 执行SQL语句:使用Statement对象的executeQuery()、executeUpdate()等方法执行SQL语句,获取查询结果或执行数据库更新操作。

  6. 处理结果:根据SQL语句的类型,通过ResultSet对象处理查询结果,或者通过返回的整数值判断更新操作的成功与否。

  7. 关闭连接:在完成数据库操作后,使用Connection对象的close()方法关闭与数据库的连接,释放资源。。

  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值