news 2026/10/19 16:31:34

第五周:数据库学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第五周:数据库学习

📅 周一:SQL Server 2019 安装配置与数据库连接

周一学习了 SQL Server 2019 的安装配置与基础使用,主要收获如下:

  • 数据库与数据表创建:掌握了可视化界面与 SQL 脚本两种方式新建数据库和数据表,规范设置字段数据类型,通过主键标识规范实现数据自增。
  • 数据库连接原理:了解了数据库连接基本原理,熟悉数据库连接字符串、连接对象、数据适配器与数据集容器的作用。
  • 登录校验实战:结合 C# 窗体项目,实现了连接数据库、拼接查询语句、根据账号密码查询用户数据,并通过判断查询结果行数完成登录校验功能。

📅 周二:数据库基础与 SQL Server 图形化界面

周二学习了数据库的基础知识,主要收获如下:

  • 数据库分类:了解了数据库分为关系型数据库和非关系型数据库,主流数据库有 Oracle、MySQL、DB2、SQL Server 等。
  • 数据库移动操作:SQL Server 中移动数据库有四种操作:
    • 分离:右键数据库 → 任务 → 分离
    • 附加:右键装数据库的文件夹 → 附加
    • 脱机:右键数据库 → 任务 → 脱机
    • 联机:右键数据库 → 任务 → 联机
  • 图形化界面操作:学习了 SQL Server Management Studio 数据库图形化界面的使用,对图形化界面建表、建约束进行了初步操作。
  • 外键约束理解:注意到一旦一个表建立了被赋予了外键,主表内列的改动会关联到外键所在的表列,主表也因为外键的存在不可以随意删除。

📅 周三:数据库操作实战(增删改查)

周三学习了数据库的操作,包括数据库的创建和删除、表的创建和删除,以及对表数据的增删改查。

数据库操作

删除数据库结构:

DROPDATABASE数据库名

创建数据库:

CREATEDATABASE数据库名-- 数据文件ONPRIMARY(filename='***.mdf',-- 文件的物理地址name='***',-- 文件的逻辑名称size=5MB,-- 起始内存maxsize=**,-- 每次增量(可以不写)filegrowth=**-- 每次增量(可以不写))-- 日志文件LOGON(filename='***.ldf',name='***',-- 与上面 ON PRIMARY 中的 name 不能相同size=5MB)

数据表操作

删除数据表结构:

DROPTABLE表名

创建表结构:

CREATETABLE表名(idINTPRIMARYKEYIDENTITY(1,1),-- 设置主键自增长,自增长只能是 int 类型属性(列名) 数据类型NOTNULL(非空)UNIQUE(唯一约束))

数据增删改查

增加数据:

INSERTINTO表名(除自增长主键外属性名)VALUES数据(自增长主键不用给值与属性对应)-- 如果表名后不写属性名,数据就需要与表结构的属性对应

插入多行数据:

INSERTINTO表名SELECT数据,数据,数据UNION数据,数据,数据

备份到新表(新表不存在):

SELECT*INTO新的表名FROM需要备份的表名

备份到新表(新表存在):

INSERTINTO新表名SELECT属性FROM需备份表名WHERE条件

查询数据:

SELECT属性FROM表名WHERE条件列表

修改数据:

UPDATE表名SET列名=值(可以多个,用逗号隔开)WHERE条件

删除数据:

DELETE[FROM]表名WHERE条件

删除包含约束的内容:

TRUNCATETABLE表名

📅 周四:SQL Server 基础查询语句

周四学习了 SQL Server 基础语句,主要收获如下:

  • SELECT 查询:可以查询指定字段并设置别名,使用TOP读取部分数据,通过ORDER BY实现结果排序。
  • 数据类型转换:借助CONVERT完成数据类型转换,实现多个字段拼接。
  • ALTER TABLE:使用ALTER TABLE语句,可以为已存在的数据表新增字段。
  • WHERE 条件筛选:
    • 区分空字符串''与NULL值,NULL需要使用IS NULL来判断。
    • 掌握LIKE模糊查询,%匹配任意多个字符,_匹配单个字符。
    • 范围查询BETWEEN、多值匹配IN。
  • 聚合函数与分组:学习COUNT、SUM、AVG等聚合函数,使用GROUP BY完成分组统计,HAVING筛选分组后的结果。
  • WHERE 与 HAVING 区别:WHERE用于过滤原始数据,不能使用聚合函数。
  • 日期查询:学习datetime日期类型的范围查询,了解各类常见易错语法,夯实 SQL 查询相关知识。

📅 周五:多表联查与存储过程

周五学习了基于关联字段进行联查、存储过程与条件转换,主要收获如下:

多表联查

  • 基于关联字段联查:针对学生表和成绩表,通过学生 ID 与成绩表中的 Student ID 建立关联关系,使用逗号分隔表名进行两表联查。
  • 指定查询列与别名:在查询时可使用别名简化表名,并明确指定需要显示的列,如学生姓名、科目名称和成绩。

连接机制

  • 内连接:仅显示交集数据。使用INNER JOIN时,只有两张表中完全匹配关联条件的数据才会被显示出来。
  • 左连接:以左表为参照。使用LEFT JOIN时,左表(如学生表)的所有数据均会显示,若右表中无匹配数据则以空值填充。
  • 右连接:以右表为参照。使用RIGHT JOIN时,右表(如成绩表)的所有数据均会显示,若左表中无匹配数据则以空值填充。
  • 多表查询本质:无论是三张表还是十张表,其联查逻辑均是通过两两关联实现的,即先查出前两张表的结果作为一张临时表,再与第三张表进行关联。

存储过程

  • 封装为独立执行单元:存储过程相当于数据库中的方法,用于将复杂的逻辑(如带条件判断的数据插入)封装起来以便直接调用。
  • 使用 CREATE PROCEDURE 创建:创建时需使用CREATE PROCEDURE关键字,并定义传入参数及其数据类型(如姓名、年龄、性别)。

CASE WHEN 条件转换

  • 实现数据映射替换:通过CASE WHEN和THEN语法,可以将数据库中存储的抽象代码(如班级编号 1、2)转换为具有实际意义的名称(如 2609、2610 班)。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 16:31:21

ETL工具迁移实战:从国际平台到国产化替换的踩坑与调优

去年年初接手了一个挺棘手的任务,把集团的数据集成平台从一套用了快十年的国际商业ETL工具,整体迁移到国产ETL平台。以前聊这种迁移,大家第一反应都是“换工具嘛,重新配一下连接、把映射搬过去”,真做起来才发现完全不…

作者头像 李华
网站建设 2026/10/19 16:30:54

open-code-review:基于Git+CLI+LLM的本地化防御性代码审查范式

1. 这不是又一个“AI写代码”工具:open-code-review 的真实定位与设计哲学open-code-review 这个名字乍看平平无奇,甚至容易被误读为“开源的代码审查平台”或“开放源码的 review 工具”。但结合当前技术热词——CLI、LLM、Git、codex cli、trae cli、d…

作者头像 李华
网站建设 2026/10/19 16:30:20

半监督图像分类实战:一致性正则化与伪标签如何降低标注成本

做图像分类做到一定阶段,大家都会撞上同一堵墙:标注成本。我早期做商品图分类时,一批数据动辄上万张,雇人打标一张几毛钱,还得反复质检,一个类目下来几万块没了。后来我把目光转向了图像分类半监督学习&…

作者头像 李华
网站建设 2026/10/19 16:29:57

从Java到Native:Frida手动Hook的完整实战流程

Frida 这个系列的第一篇讲的是自动化批量 hook:遍历类、遍历方法、统一打点,能快速知道目标进程里有哪些方法在跑、参数长什么样。这种思路在做初步信息收集时效率很高,但真到了实战阶段,你会发现自动化脚本往往在几个关键点处失灵…

作者头像 李华
网站建设 2026/10/19 16:29:20

open-code-review:可审计的AI增强型代码审查范式

1. 什么是 open-code-review:它不是另一个代码审查工具,而是一套可落地的智能协作范式open-code-review 这个名字乍看像某个开源项目仓库名,但实际它代表的是一种正在快速演进的工程实践——把传统意义上由资深工程师人工完成的代码审查&…

作者头像 李华
网站建设 2026/10/19 16:29:01

VMware Ubuntu虚拟机磁盘扩容全流程:从分区到文件系统实战指南

1. 扩容前先做三个确认:这决定了你后面是三个命令还是四个小时先说一个我自己的经历。有次给一台 Ubuntu 虚拟机扩磁盘,VMware 里硬盘容量从 50GB 拉到 200GB,整个过程一路绿灯,重启系统后我满怀期待地去敲df -h,结果根…

作者头像 李华