logo
1
0
WeChat Login
📝 编写README.md

Class2-DB

数据库课程相关仓库:包含讲义笔记(.dbcnb / .md)、Vue 示例工程 opening/,以及 TypeScript + MySQL 演示项目 sql-in-ts/

项目内容(知识模块)

根目录编号讲义与文档大致对应以下主题(文件名中的序号即建议学习顺序):

材料内容概要
0. 数据库初始化.mdMySQL/MariaDB 与 MongoDB 的安装与账号、库、示例数据初始化
1. 初识DB.dbcnb数据库基本概念与入门
2. SQL数据类型.dbcnbSQL 常见数据类型与使用要点
3. SQL 键、约束与关系.dbcnb主键/外键、约束与表间关系建模
4. SQL 索引.dbcnb索引原理与查询优化相关基础
5. SQL注入与ORM.dbcnbSQL 注入风险与 ORM 等防护思路
6. SQL事务.dbcnb事务、ACID 与并发下的数据一致性
7. JSON.mdJSON 数据格式及其与数据存储/交换的常见用法
8. MongoDB 简介.dbcnb文档型数据库 MongoDB 的基本概念与操作入门

sql-in-ts/ 将上述部分主题落地为可运行代码:批量造数、故意不安全的注入示例、参数化/简单 ORM、TypeORM、转账场景的事务演示等(详见该目录 README)。opening/ 为 Vue 3 + Vite 前端工程,可用于配合课堂展示或扩展练习。

数据库初始化(必读)

以下步骤与仓库根目录的 0. 数据库初始化.md 一致,按顺序在本地或容器内执行即可。

MySQL / MariaDB

  1. 进入 MySQL 客户端(示例命令,按你的环境选择 mysqlmariadb):
mysql
  1. 在 SQL 中创建教学用账号并授权(用户名 test,密码 123456,可从任意主机 % 连接):
create user 'test'@'%' identified by '123456'; grant all on *.* to 'test'@'%' with grant option;

说明:sql-in-ts/.env 已默认使用 DB_USER=testDB_PASSWORD=123456。若你改用其他账号,请同步修改 .env

MongoDB

  1. 打开 mongosh
mongosh
  1. admin 库创建管理员用户(与文档一致的用户名与密码):
use admin db.createUser({ user: "test", pwd: "123456", roles: [{ role: "userAdminAnyDatabase", db: "admin"}] })
  1. 切换到业务库 LearnDB(若尚未存在会在首次写入时创建):
use LearnDB
  1. 插入一条示例学生文档:
db.students.insertOne({ name: "张三", age: 20 });

子项目说明

目录说明
sql-in-ts/MySQL 安全与 ORM 等 TypeScript 示例;依赖已初始化的 MySQL 账号,并需创建 LearnDB 及表结构,详见该目录下的 sql-in-ts/README.md
opening/Vue 3 + Vite 前端示例,见 opening/README.md
.ide/Dockerfile可选:集成 MariaDB、MongoDB、Node 等的教学环境镜像参考。

环境要求(参考)

  • Node.js(建议 16+),包管理可用 pnpm 或 npm。
  • 已按上文完成 MySQL/MariaDB 与(若需要)MongoDB 的初始化。

更多课堂材料见仓库内各编号讲义文件。