Skip to content

数据库入门教程

数据库是存储和管理数据的核心技术。本文将带你入门数据库基础知识。

什么是数据库

概念理解

数据库是按照数据结构来组织、存储和管理数据的仓库。

类比理解: 数据库就像一个电子文件柜,数据按照一定规则存放,方便查找和管理。

常见数据库

关系型数据库:

  • MySQL(最常用)
  • PostgreSQL
  • Oracle
  • SQL Server

非关系型数据库:

  • MongoDB
  • Redis
  • Elasticsearch

数据库基本概念

表(Table)

数据以表格形式存储,类似Excel表格。

字段(Field)

表中的列,代表一种数据类型。

记录(Record)

表中的行,代表一条数据。

主键(Primary Key)

唯一标识一条记录的字段。

示例

用户表(users):

idnameemailage
1张三zhang@example.com25
2李四li@example.com30

SQL基础语法

创建表

sql
CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(100),
    age INT,
    created_at DATETIME DEFAULT NOW()
);

插入数据

sql
INSERT INTO users (name, email, age)
VALUES ('张三', 'zhang@example.com', 25);

查询数据

sql
-- 查询所有
SELECT * FROM users;

-- 条件查询
SELECT * FROM users WHERE age > 20;

-- 指定字段
SELECT name, email FROM users;

-- 排序
SELECT * FROM users ORDER BY age DESC;

-- 分页
SELECT * FROM users LIMIT 0, 10;

更新数据

sql
UPDATE users 
SET age = 26 
WHERE id = 1;

删除数据

sql
DELETE FROM users WHERE id = 1;

进阶查询

条件组合

sql
SELECT * FROM users 
WHERE age > 20 AND name LIKE '张%';

聚合函数

sql
-- 计数
SELECT COUNT(*) FROM users;

-- 平均值
SELECT AVG(age) FROM users;

-- 最大最小值
SELECT MAX(age), MIN(age) FROM users;

分组统计

sql
SELECT age, COUNT(*) as count 
FROM users 
GROUP BY age;

表连接

sql
-- 内连接
SELECT users.name, orders.product
FROM users
INNER JOIN orders ON users.id = orders.user_id;

数据库设计原则

范式

第一范式: 字段不可再分

第二范式: 非主键字段完全依赖主键

第三范式: 非主键字段不传递依赖

设计建议

  • 合理选择字段类型
  • 设置适当的主键
  • 添加必要的索引
  • 避免数据冗余

MySQL安装与使用

安装

  • Windows:下载安装包安装
  • Mac:brew install mysql
  • Linux:apt install mysql-server

连接数据库

bash
mysql -u root -p

创建数据库

sql
CREATE DATABASE mydb;
USE mydb;

使用工具

命令行

  • MySQL命令行客户端

图形化工具

  • Navicat
  • DBeaver
  • MySQL Workbench
  • phpMyAdmin

常见问题

Q:关系型和非关系型怎么选?

A:结构化数据用关系型,灵活数据用非关系型。

Q:MySQL和PostgreSQL怎么选?

A:MySQL更流行,PostgreSQL功能更强。

Q:如何学习数据库优化?

A:先掌握基础,再学习索引、查询优化等进阶内容。

学习建议

学习顺序

  1. 数据库基础概念
  2. SQL基础语法
  3. 数据库设计
  4. 性能优化
  5. 高级特性

练习方法

  • 在线SQL练习网站
  • 自己创建数据库练习
  • 分析实际项目数据库设计

替代方案

如果不想深入学习数据库,可以使用猫拽低代码平台

  • 内置数据存储
  • 可视化数据管理
  • 无需编写SQL
  • 降低技术门槛

总结

数据库入门要点:

  1. 基本概念:表、字段、记录、主键
  2. SQL语法:增删改查
  3. 进阶查询:条件、聚合、连接
  4. 设计原则:范式、类型选择

数据库是后端开发的基础,掌握好数据库知识很重要。

相关问答 FAQs

1. 数据库索引是什么?有什么作用?

索引是数据库中用于加速查询的数据结构,类似于书籍的目录。索引可以大幅提高查询速度,但会增加写入时的开销和存储空间。建议在经常查询的字段上创建索引,但不要过度索引,一般单表索引数量控制在5个以内。

2. 什么是SQL注入?如何防止?

SQL注入是一种安全漏洞,攻击者通过在输入中插入恶意SQL代码来操作数据库。防止方法包括:使用参数化查询(Prepared Statement)、对用户输入进行验证和转义、使用ORM框架、限制数据库用户权限等。

3. 数据库事务是什么?为什么重要?

事务是一组数据库操作的逻辑单元,具有ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。事务确保数据操作的完整性,例如银行转账,要么全部成功,要么全部失败,不会出现中间状态。

4. 如何选择合适的数据库字段类型?

选择字段类型需要考虑数据范围、存储效率和查询性能。整数类型根据数值范围选择TINYINT、SMALLINT、INT、BIGINT;字符串根据长度选择CHAR或VARCHAR;日期时间选择DATETIME或TIMESTAMP;大文本选择TEXT;金额建议使用DECIMAL而非FLOAT。