数据库系统核心概念与应用
数据库系统概述
数据库是结构化存储和管理数据的系统化解决方案。在数字化时代,各类数据如用户行为记录、交易信息、多媒体内容等呈爆发式增长。数据库管理系统(DBMS)为数据操作提供了系统化支持,包括增删改查等核心功能。
主流数据库分类
- MySQL:开源关系型数据库(社区版与企业版)
- Oracle:商业关系型数据库
- SQL Server:微软商业数据库
- MongoDB:文档型非关系数据库(社区版与企业版)
MySQL、Oracle、SQL Server属于关系型数据库(SQL数据库),采用表格化数据模型。MongoDB作为非关系型数据库(NoSQL),通过灵活的数据模型扩展了传统数据库的能力边界。
关系型数据库结构模型
关系型数据库采用四级组织结构:
- 数据库(Database):项目级数据容器
- 数据表(Table):同类数据集合,如用户表users
- 数据行(Row):单条数据记录
- 字段(Field):数据属性定义,如username
MySQL数据类型与约束
基础数据类型
- INT:整型数值
- VARCHAR:变长字符串
- BOOLEAN:布尔标识
字段约束
- PK:主键唯一标识
- NN:非空约束
- UQ:唯一值约束
- AI:自增序列
SQL操作命令
结构化查询语言(SQL)是操作关系型数据库的标准语言,其指令不区分大小写。
数据检索
-- 全字段查询
SELECT * FROM employees;
-- 指定列查询
SELECT first_name, department FROM employees;
数据写入
-- 插入新记录
INSERT INTO employees (id, name, title)
VALUES (1001, '张伟', '工程师');
数据更新
-- 修改记录
UPDATE employees
SET title = '高级工程师'
WHERE employee_id = 1001;
数据删除
-- 删除记录
DELETE FROM project_members
WHERE project_id = 'P2023';
高级查询技术
-- 条件组合查询
SELECT * FROM orders
WHERE status = 'completed'
AND total_amount > 5000;
-- 结果排序
SELECT product_name, unit_price FROM products
ORDER BY unit_price DESC, stock_quantity ASC;
-- 数据统计
SELECT COUNT(*) AS total_orders FROM orders;
Node.js操作MySQL
- 安装驱动:
npm install mysql - 建立连接:
const mysql = require('mysql');
const dbConn = mysql.createPool({
host: 'localhost',
user: 'app_user',
password: 'securepass123',
database: 'enterprise_db'
});
- 执行操作(状态更新示例):
const updateQuery = 'UPDATE inventory SET status=? WHERE item_id=?';
dbConn.query(updateQuery, [2, 4501], (err, result) => {
if (err) throw err;
if (result.affectedRows === 1) {
console.log('状态更新成功');
}
});