1. 数据库基础
1.1 什么是数据库
数据库是用来存储和管理数据的系统。虽然文件也能存数据,但存在安全性差、查询不便、管理复杂、无法高效处理海量数据等问题。数据库通过专门的数据库管理系统(DBMS)来解决这些问题,提升数据管理的效率和安全性。
1.2 主流数据库
-
SQL Server:微软开发,适合中大型项目,常与.NET技术栈搭配使用。
-
Oracle:功能强大,适合复杂业务逻辑的大型项目,但并发处理能力不如MySQL。
-
MySQL:开源、并发性好,适合电商、社交平台等简单SQL操作频繁的场景。
-
PostgreSQL:功能全面,支持复杂查询,开源免费,适合学术和商业用途。
-
SQLite:轻量级嵌入式数据库,适合移动设备或小型应用。
-
H2:Java开发的嵌入式数据库,适合集成到Java应用中。
1.3 基本使用
1.3.1 MySQL安装
可在多种不同的操作系统下安装。
1.3.2 连接服务器
-
使用命令行工具连接MySQL服务器,命令格式为:
mysql -h 主机地址 -P 端口 -u 用户名 -p
-
输入密码后即可进入MySQL命令行界面。
-
如果没有写 -h 127.0.0.1 默认是连接本地。如果没有写 -p 3306 默认是连接3306端口号。


1.3.3 服务器管理
-
在Windows中可通过
services.msc打开服务管理器,控制MySQL服务的启动、停止、重启等操作。
1.3.4 服务器、数据库、表关系
-
数据库服务器:安装数据库管理程序的机器。
-
数据库:服务器中可以创建多个数据库,通常一个应用对应一个数据库。
-
表:数据库中存储数据的结构,一个数据库可以有多个表。

1.3.5 使用案例
-
创建数据库:
create database test; -
使用数据库:
use test; -
创建表:定义表结构,如学生表包含id、姓名、性别。
-
插入数据:向表中添加记录。
-
查询数据:使用
select * from student;

1.3.6 数据逻辑存储
-
数据在逻辑上以表的形式组织,表由行和列组成,每一行代表一条记录,每一列代表一个字段。

1.4 MySQL架构
-
MySQL是跨平台的数据库,支持多种操作系统。其架构在不同平台上保持一致,具有良好的可移植性和稳定性。

1.5 SQL分类
-
DDL(数据定义语言):定义数据库结构,如
CREATE、DROP、ALTER。 -
DML(数据操纵语言):操作数据,如
INSERT、DELETE、UPDATE。 -
DQL(数据查询语言):查询数据,主要是
SELECT。 -
DCL(数据控制语言):控制权限和事务,如
GRANT、REVOKE、COMMIT。
1.6 存储引擎
-
存储引擎是数据库底层如何存储、索引、更新和查询数据的实现方式。
-
MySQL支持多种存储引擎,采用插件式架构。
1.6.2 查看存储引擎
-
使用命令
show engines;查看当前MySQL支持的存储引擎及其特性。

1.6.3 存储引擎对比
-
表格对比了不同存储引擎(如MyISAM、InnoDB、Memory等)在事务支持、锁机制、索引类型、缓存、压缩、备份等方面的差异。例如:
-
InnoDB:支持事务、行级锁、外键,适合高并发和需要数据一致性的场景。
-
MyISAM:不支持事务,表级锁,适合读操作频繁的场景。
-
Memory:数据存储在内存中,速度极快,但重启后数据丢失。
-

435



被折叠的 条评论
为什么被折叠?



