news 2026/8/27 9:56:40

SQL Server 数据库操作复习总结_1

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SQL Server 数据库操作复习总结_1

SQL Server 数据库操作复习总结(基于 esa 数据库练习)

本总结涵盖:表结构的创建(DDL)、数据的插入与修改(DML)、备份表、查看表结构等核心知识点。

一、 数据库定义语言(DDL):创建表结构

1. 核心语法

CREATETABLE表名(字段名 数据类型 约束,...);

2. 数据类型对应关系(根据题目图片)

图中类型SQL Server 类型备注说明
文本型VARCHAR(n)n为宽度,如VARCHAR(8)
日期型DATEDATE
整型INTINT
浮点型DECIMAL(4,1)宽度4,小数1位
varbinaryVARBINARY(MAX)用于存储图片等二进制数据

3. 约束条件(保证数据完整性)

  • 主键(PRIMARY KEY):唯一标识行,不允许重复且非空。
    • 单列主键:如学号 VARCHAR(8) PRIMARY KEY
    • 复合主键(联合主键):多列共同组成唯一标识,如成绩单表的PRIMARY KEY (学号, 课程号)
  • 外键(FOREIGN KEY … REFERENCES):用于建立表与表之间的联系,强制实施“参照完整性”。
    • 建表顺序:必须先建主表(父表:学院),再建子表(专业、学生、课程),最后建关联表(成绩单)。否则会报错。
  • 非空约束(NOT NULL):禁止填入空值(如姓名、生日字段)。
  • 空值约束(NULL):允许填入空值(如院长、简历、登记照字段)。

二、 数据操纵语言(DML):插入数据

1. 核心语法

INSERTINTO表名(1,2,...)VALUES(1,2,...);

2. 实操注意点

  • 插入顺序:必须遵循外键依赖顺序(先插学院、专业,再插学生、课程,最后插成绩单)。
  • 日期格式:标准格式为'YYYY-MM-DD'(如'1987-04-19')。
  • 空值处理:参考数据中没有提供的字段(如简历、登记照),直接写NULL
  • 批量插入:可使用INSERT INTO 表 VALUES (值1), (值2), (值3);一次性插入多行数据。

三、 数据操纵语言(DML):备份、删除与更新

1. 备份表(复制结构和数据)

-- 核心语法SELECT*INTO新表名FROM原表名;-- 实例:备份学生表SELECT*INTO学生备份FROM学生;

⚠️ 易错点:这种方法不会自动复制原表的主键、外键和索引,仅复制表结构和数据。

2. 删除数据

-- 核心语法DELETEFROM表名WHERE条件;-- 实例:删除备份表中专业为0501的学生DELETEFROM学生备份WHERE专业号='0501';

⚠️ 警告:不加WHERE条件会清空整张表数据!

3. 修改(更新)数据

-- 核心语法UPDATE表名SET列名=新值WHERE条件;-- 实例:将备份表性别为男的学生,民族修改为汉UPDATE学生备份SET民族='汉'WHERE性别='男';

💡 重要提示:对“备份表”进行的删除、更新操作,完全不影响原始“学生表”。


四、 查看表结构(元数据查询)

1. 使用 T-SQL 命令

  • 查看单表详细结构(包含主键、索引、外键):

    EXECsp_help'表名';
  • 查看所有表的字段结构(拼接信息架构视图):

    SELECTTABLE_NAME,COLUMN_NAME,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH,IS_NULLABLEFROMINFORMATION_SCHEMA.COLUMNSORDERBYTABLE_NAME,ORDINAL_POSITION;
  • 查看所有外键关系:

    SELECTfk.nameAS外键约束名,OBJECT_NAME(fk.parent_object_id)AS子表名称,OBJECT_NAME(fk.referenced_object_id)AS父表(参照表)名称FROMsys.foreign_keys fk;

2. 使用图形界面(SSMS)

  • 左侧“对象资源管理器” -> 展开“表” -> 展开“列”。
  • 右键数据库 -> “新建数据库关系图” -> 添加表,可直观查看外键连线。

五、 核心考点与易错点总结

  1. 区分 DDL 和 DML:建表、改表结构是 DDL;增、删、改、查数据是 DML。
  2. 外键的连环关系:子表的数据不能凭空产生,必须依赖于主表中已有的主键值。
  3. 备份表的独立性:备份表是独立的新表。
  4. WHERE 子句的“安全带”UPDATEDELETE如果不加WHERE就是灾难性的全表操作。
  5. Access 与 SQL Server 术语转换:如果在 Access 中操作,文本型对应“短文本”,日期型对应“日期/时间”,VARBINARY 对应“OLE 对象”,整型对应“数字/长整型”,浮点型对应“数字/单精度型”。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 9:56:08

在浏览器里免费解锁加密音乐:Unlock Music 完整使用指南

在浏览器里免费解锁加密音乐:Unlock Music 完整使用指南 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: htt…

作者头像 李华
网站建设 2026/8/27 9:51:55

Jeff Dean离职引发Gemini忧虑?开发者如何理性应对

关于Jeff Dean离职创业的消息,评论区吵得最凶的不是他下一步要做什么,而是“Gemini会不会因此受影响”。我先给一个偏保守的判断:单独一个人离开,不会让Gemini立刻失去竞争力,但会在一段时间内影响外界对Gemini的战略预…

作者头像 李华
网站建设 2026/8/27 9:51:35

单相统一功率因数变流器控制:从d-q变换到Simulink仿真实践

1. 项目概述:从“交直变换”到“统一功率因数”的跨越 在电力电子与电机驱动的世界里,我们经常要和各种变流器打交道,尤其是单相系统,从家用电器到小型工业设备,无处不在。传统的单相电压源型逆变器(VSI&am…

作者头像 李华
网站建设 2026/8/27 9:50:47

MicroPython ADC编程实战:从原理到数据采集优化

1. 项目概述:从模拟世界到数字世界的桥梁 在嵌入式开发的世界里,我们常常需要和现实世界打交道。现实世界是连续的、模拟的,比如温度的变化、光照的强弱、声音的大小,它们都是平滑变化的电压信号。而我们手中的微控制器&#xff0…

作者头像 李华
网站建设 2026/8/27 9:49:10

初识Agent

目录 Agent的分类: 从架构来分: Workflow Agent(工作流智能体): ReAct Agent(推理性智能体): 从应用场景来分: 通用Agent(General Agent)&a…

作者头像 李华
网站建设 2026/8/27 9:45:07

OCR It:为LLM应用打通不可复制文档的文本提取链路

OCR It 这条链路解决的问题,是所有 LLM 应用都会碰到的第一道坎:文字明明存在,却拿不出来。扫描件、图片型 PDF、截图里的表格、归档合同、产品说明书,这些文档在屏幕上能看能翻页,但一旦复制就是空白,或者…

作者头像 李华