Vue 3项目里给组件起名index.vue就报错?别慌,这四种处理ESLint规则的方法总有一个适合你
2026/4/22 14:46:55
MySQL 和 MongoDB 是两种非常流行的数据库系统,但它们在设计理念、数据模型、使用场景等方面有显著差异。以下是它们的主要对比:
SELECT,JOIN,GROUP BY等)。db.users.find({ age: { $gt: 25 } })| 场景 | 推荐数据库 |
|---|---|
| 需要强一致性、复杂 JOIN 查询、事务(如银行系统) | MySQL |
| 快速迭代、灵活 Schema、高写入吞吐(如日志、IoT、内容管理) | MongoDB |
| 结构化数据、成熟生态、报表分析 | MySQL |
| 半结构化/非结构化数据、快速原型开发 | MongoDB |
实际项目中,也有混合使用的情况(如核心交易用 MySQL,日志/缓存用 MongoDB)。
MySQL 是世界上最流行的开源关系型数据库管理系统(RDBMS),由 Oracle 公司维护,广泛应用于 Web 应用、企业系统、云服务等领域。以下是关于 MySQL 的核心要点:
| 概念 | 说明 |
|---|---|
| Database(数据库) | 数据的容器,包含多个表 |
| Table(表) | 由行(记录)和列(字段)组成,结构由 Schema 定义 |
| Primary Key(主键) | 唯一标识一条记录 |
| Foreign Key(外键) | 建立表与表之间的关联 |
| Index(索引) | 加速查询(如 B+ 树索引) |
| Transaction(事务) | 支持 ACID(原子性、一致性、隔离性、持久性),需使用 InnoDB 引擎 |
-- 创建数据库 CREATE DATABASE myapp; -- 使用数据库 USE myapp; -- 创建表 CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(150) UNIQUE, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); -- 插入数据 INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com'); -- 查询数据 SELECT * FROM users WHERE name = 'Alice'; -- 更新数据 UPDATE users SET email = 'alice_new@example.com' WHERE id = 1; -- 删除数据 DELETE FROM users WHERE id = 1; -- 多表连接(JOIN) SELECT u.name, o.product FROM users u JOIN orders o ON u.id = o.user_id;START TRANSACTION; UPDATE accounts SET balance = balance - 100 WHERE user_id = 1; UPDATE accounts SET balance = balance + 100 WHERE user_id = 2; COMMIT; -- 或 ROLLBACK;⚠️ 只有 InnoDB 引擎支持事务。
email,user_id)可加普通索引或唯一索引:CREATE INDEX idx_email ON users(email);mysqldump或xtrabackup)-- MySQL 8.0 示例:窗口函数 SELECT name, salary, RANK() OVER (ORDER BY salary DESC) as rank FROM employees;✅ 电商系统
✅ 用户管理系统
✅ 财务/订单系统(需事务)
✅ 报表与数据分析(配合 BI 工具)
✅ 传统企业应用
如果你有具体问题(如性能优化、慢查询分析、主从配置、JSON 类型使用等),欢迎继续提问!