SQL Server的安装和首个库的创建
一、熟悉SQL Server的安装环境;
1.安装Microsoft的数据库管理系统SQL Server 2022
先把SQL Server 2022下载好后进行解压后出现以下界面然后点击基本进行安装

然后会出现以下界面:


一步步按照提示往下走即可,把SQL Server 2022安装完成后再对SSMS进行安装,SSMS安装完成以后点击打开,然后对本机服务器进行连接,如果显示找不到服务器则要到电脑管理那里手动打开SQL Server 2022的服务,最后连接好服务器就可以使用了。

找不到服务器的操作:回到桌面,右击“此电脑”,在点击“管理”,点开“服务与应用程序”可以看到“服务”,点击“服务”,往下拉找到SQL Server服务,点击“启用”即可。


打开服务后服务器连接成功后的界面:

二、找出SQL Server的组件和实用程序:

1.关系引擎:关系引擎又称为查询处理器,它包含的SQLServer组件用于确定查询需要完成的任务,以及如何实现的最佳方案.关系引擎包含两个主要的部分:查询优化和**查询执行.**查询优化器也是关系引擎中最复杂的组件,甚至是整个SQLServer产品中最复杂的组件,它用于确定批处理中查询的最佳执行方案包含三大组件:(1)命令解析器(query parser):检查语法和转换查询树(2)查询优化器(query optimizer):负责执行查询(3)查询执行器(query executor):优化查询命令解析器命令解析器处理用户发往SQLServer的T-SQL语言事件。
2.存储引擎存储引擎包含需要真正访问和修改磁盘数据的组件,包含三大组件:
(1)事务管理器:通过锁来管理数据及维持事务的ACID属性。
(2)数据访问方法:处理对行、索引、页、行版本、空间分配等的I/O请求。
(3)缓冲区管理器:管理SQL Server的主要内存消耗组件Buffer Pool。
3.Buffer Pool他是一个非常关键的组件,数据库中的数据实际上最终都是要存放在磁盘文件上的。 在对数据库执行增删改操作的时候,实际上主要都是针对内存里的Buffer Pool中的数据进行的,也就是实际上主要是对数据库的内存里的数据结构进行了增删改。同时引入了一个redo log机制,你在对内存里的数据进行增删改的时候,他同时会把增删改对应的日志写入redo log中,用于数据库崩溃时进行恢复。事务日志每个 SQL Server 数据库都具有事务日志,用于记录所有事务以及每个事务对数据库所做的修改,是保证事务ACID属性的重要组件, 如果系统出现故障,你将需要依靠该日志将数据库恢复到一致的状态。
4.SQL Server的常用管理工具:
SQL Server Management Studio
SQL Server商务智能开发平台
SQL Server的分析服务
SQL Server 配置管理器
SQL Server文档和教程
三、数据SQL Server 的数据类型:
1.SQL Server包含了Character字符串、Unicode字符串、Binary类型、Number数字类型、Date类型在这些类型中又有很多的数据类型。
Character字符串:
char(n) 是固定长度的字符串,最多 8,000 个字符;
varchar(n) 是可变长度的字符串,最多 8,000 个字符;
varchar(max) 是可变长度的字符串,最多 1,073,741,824 个字符;
text 是可变长度的字符串,最多 2GB 字符数据。
Unicode字符串:
nchar(n) 是固定长度的Unicode 数据,最多 4,000 个字符;
nvarchar(n) 是可变长度的Unicode 数据,最多 4,000 个字符;
nvarchar(max) 是可变长度的 Unicode 数据,最多 536,870,912 个字符;
ntext 是可变长度的Unicode 数据,最多 2GB 字符数据。
Binary类型:
bit是允许 0、1 或 NULL binary(n) 固定长度的二进制数据,最多 8,000 字节;
varbinary(n) 是可变长度的二进制数据,最多 8,000 字节;
varbinary(max) 是可变长度的二进制数据,最多2GB字节;
image 是可变长度的二进制数据,最多2GB。
Number数字类型:
我比较常用的Number数字类型是tinyint 它允许从 0 到 255 的所有数字,存储1字节;
int 允许从 -2,147,483,648 到 2,147,483,647 的所有数字,储存4字节;
decimal(p,s) 固定精度和比例的数字,允许从 -10^38 +1 到 10^38 -1 之间的数字,p 参数指示可以存储的最大位数(小数点左侧和右侧),p 必须是 1 到 38 之间的值,默认是 18,s 参数指示小数点右侧存储的最大位数,s 必须 是 0 到 p 之间的值,默认是 0,储存5-17字节;real 从 -3.40E + 38 到 3.40E + 38 的浮动精度数字数据,储存4字节等等多种数字类型。
四、了解表达式和流程控制语句:
T-SQL语言提供了一些可以用于改变语句执行顺序的命令,称为流程控制语句。流程控制语句允许用户更好地组织存储过程中的语句,可以方便地实现程序的功能。与程序设计语言一样,SQL提供的流程控制语句如下: begin...end、if、if...else、case、while、while...continue...break、return、goto、waitfor 1.begin...end begin...end语句用于将多个SQL语句组合为一个逻辑块。当流程控制语句必须执行一个包含两条或者两条以上的SQL语句的语句块时,使用begin...end语句。
- if选择结构可以带else子句;
- 2.case :使用case语句可以很方便地实现多重选择得情况,比if...then结构有更多得选择和判断得机会,从而避免编写多重得if...then嵌套循环。
- while:while子句是SQL语句支持的循环结构,在条件为true的情况下,while子句可以循环执行其后的一条SQL命令.如果想循环执行一组命令,则需要配合begin...end子句使用。
- return :return语句用于从查询或过程中无条件退出。return语句可在任何时候用于从过程,批处理或语句块中退出。
- goto:goto命令用来改变程序执行的流程,使程序跳到标识符指定的程序行再继续往下执行
- Waitfor: waitfor指定触发器,存储过程或事物执行的时间、时间间隔或事件;还可以用来暂时停止程序的执行,直到所设定的等待时间已过才继续往下执行。
五、使用可视化创建一个数据库并观察其中的组件、数据库文件的扩展名以及数据库的特点。
1.可视化条件下创建一个数据库:
右击“数据库”进行新建界面,设置好“数据库名”,按照其参数设置即可。

2.数据库文件的扩展名:
(1)主要数据文件(*.mdf):主要数据文件的建议文件扩展名是 .mdf。主要数据文件包含数据库的启动信息,并指向数据库中的其他文件,存储部分或全部的数据。用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件。mdf 文件并非普通文件,因此不借助相应软件是无法打开 mdf 文件的。打开mdf文件的常用虚拟光驱软件主要有:Daemon Tools 、东方光驱魔术师等。
(2)次要数据文件 (*.ndf)次要数据文件的建议文件扩展名是 .ndf。次要数据文件是可选的,由用户定义并存储用户数据,用于存储主数据文件未能存储的剩余数据和一些数据库对象。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上。如果数据库超过了单个 Windows 文件的最大大小,可以使用次要数据文件,这样数据库就能继续增长。
(3)事务日志 (*.ldf)事务日志的建议文件扩展名是 .ldf。事务日志文件保存用于恢复数据库的事务日志信息。数据库的插入、删除、更新等操作都会记录在日志文件中,而查询不会记录在日志文件中。整个的数据库有且仅有一个日志文件。每个数据库必须至少有一个日志文件。
Sql Server数据库特点:
优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等; 为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLServer是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言 (XML)的核心支持以及在Internet上和防火墙外进行查询的能力;
缺点:开放性 :SQL Server 只能windows上运行没有丝毫开放性操作系统系统稳定对数据库十分重要Windows9X系列产品偏重于桌面应用NT server只适合小型企业而且windows平台靠性安全性和伸缩性非常有限象unix样久经考验尤其处理大数据库。伸缩性并行性 :SQL server 并行实施和共存模型并成熟难处理日益增多用户数和数据卷伸缩性有限。安全性:没有获得任何安全证书。 性能 :SQL Server 多用户时性能佳 。客户端支持及应用模式: 客户端支持及应用模式。只支持C/S模式,SQL Server C/S结构只支持windows客户用ADO、DAO、OLEDB、ODBC连接。 使用风险:SQL server 完全重写代码经历了长期测试断延迟许多功能需要时间来证明并十分兼容。
相关文章:
SQL Server的安装和首个库的创建
一、熟悉SQL Server的安装环境; 1.安装Microsoft的数据库管理系统SQL Server 2022 先把SQL Server 2022下载好后进行解压后出现以下界面然后点击基本进行安装 然后会出现以下界面: 一步步按照提示往下走即可,把SQL Server 2022安装完成后再…...
STM32下载程序的五种方法
刚开始学习 STM32 的时候,很多小伙伴满怀热情买好了各种设备,但很快就遇到了第一个拦路虎——如何将写好的代码烧进去这个黑乎乎的芯片~ STM32 的烧录方式多样且灵活,可以根据实际需求选择适合的方式来将程序烧录到芯片中。本文将…...
基于springboot + vue大学生竞赛管理系统
qq(2829419543)获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:springboot 前端:采用vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件…...
【详解】Spark数据倾斜问题由基础到深入详解-完美理解-费元星
数据倾斜定义:顾名思义,就是大量相似或相同数据聚集在一个块的节点里,导致计算和资源分配不均导致的计算缓慢(长尾)问题。 数据倾斜原因: count(distinct field) group by NULL 空值 Shuffle (概率最…...
xss漏洞后端进行html消毒
import org.jsoup.Jsoup;public static String sanitizeHtml(String input) {// 使用 Jsoup 消毒 HTMLreturn Jsoup.clean(input, Safelist.relaxed());}public static void main(String[] args) {String userInput "<p><script>alert(1)</script>Safe…...
[论文精读]利用大语言模型对扩散模型进行自我修正
本博客是一篇最新论文的精读,论文为UC伯克利大学相关研究者新近(2023.11.27)在arxiv上上传的《Self-correcting LLM-controlled Diffusion Models》 。 内容提要: 现有的基于扩散的文本到图像生成模型在生成与复杂提示精确对齐的图像时仍然存在困难,尤其是需要数值和…...
CTF特训日记day(4-6)
来复现一下2022QWB决赛的RDP题目 这两天腰疼去了趟医院 题目要求我们攻击XRDP程序,从而达到本地提权的效果。 首先观察XRDP程序的版本信息 rootRDP:/home/rdp/Desktop# xrdp-sesman -version xrdp-sesman 0.9.18The xrdp session managerCopyright (C) 2004-2020…...
【深度学习笔记】09 权重衰减
09 权重衰减 范数和权重衰减利用高维线性回归实现权重衰减初始化模型参数定义 L 2 L_2 L2范数惩罚定义训练代码实现忽略正则化直接训练使用权重衰减 权重衰减的简洁实现 范数和权重衰减 在训练参数化机器学习模型时,权重衰减(decay weight)…...
三大兼容 | 人大金仓兼容+优化MySQL用户变量特性
目前,KingbaseES对MySQL的兼容性,已从功能兼容阶段过渡到强性能兼容、生态全面兼容阶段,针对客户常常遇到的用户变量问题,KingbaseES在兼容MySQL用户变量功能的基础上,优化了MySQL用户变量的一些原生问题,使…...
Git介绍与安装使用
目录 1.Git初识 1.1提出问题 1.2如何解决--版本控制器 1.3注意事项 2.Git安装 2.1Linux-centos安装 2.2Linux-ubuntu安装 2.3Windows安装 3.Git基本操作 3.1创建Git本地仓库 3.2配置Git 4.认识⼯作区、暂存区、版本库 1.Git初识 1.1提出问题 不知道你工作或学习时…...
理解DuLinkList L中的“”引用符号
在C中,DuLinkList &L 这种形式的参数表示 L 是一个 DuLinkList 类型的引用。这里的 & 符号表示引用。 引用是C的一个特性,它提供了一种方式来访问已存在的变量的别名。当你对引用进行操作时,实际上是在操作它所引用的变量。如果你在…...
前端并发多个请求并失败重发
const MAX_RETRIES 3;// 模拟请求 function makeRequest(url) {return new Promise((resolve, reject) > {setTimeout(() > {Math.random() < 0.75 ? resolve(${url} 成功) : reject(${url} 失败); // 随机决定请求是否成功}, Math.random() * 2000); // 随机延时执…...
【Qt开发流程】之对象模型2:属性系统
描述 Qt提供了一个复杂的属性系统,类似于一些编译器供应商提供的属性系统。然而,作为一个独立于编译器和平台的库,Qt不依赖于非标准的编译器特性,如__property或[property]。 Qt解决方案适用于Qt支持的所有平台上的任何标准c编译…...
PHP之curl详细讲解
cURL(全称为Client for URLs)是一个功能强大的开源库,用于在多种协议上进行数据传输、发送HTTP请求和获取响应。它支持多种协议,包括HTTP、HTTPS、FTP、SMTP等,并且能够与各种服务器进行通信。 cURL库可以通过命令行工…...
R语言30分钟上手
文章目录 1. 环境&安装1.1. rstudio保存工作空间 2. 创建数据集2.1. 数据集概念2.2. 向量、矩阵2.3. 数据框2.3.1. 创建数据框2.3.2. 创建新变量2.3.3. 变量的重编码2.3.4. 列重命名2.3.5. 缺失值2.3.6. 日期值2.3.7. 数据框排序2.3.8. 数据框合并(合并沪深300和中证500收盘…...
上下拉电阻会增强驱动能力吗?
最近看到一个关于上下拉电阻的问题,发现不少人认为上下拉电阻能够增强驱动能力。随后跟几个朋友讨论了一下,大家一致认为不存在上下拉电阻增强驱动能力这回事,因为除了OC输出这类特殊结构外,上下拉电阻就是负载,只会减…...
题目:小明的彩灯(蓝桥OJ 1276)
题目描述: 解题思路: 一段连续区间加减,采用差分。最终每个元素结果与0比较大小,比0小即负数输出0。 题解: #include<bits/stdc.h> using namespace std;using ll long long; const int N 1e5 10; ll a[N],…...
换元法求不定积分
1.一般步骤:选取换元对象(不一定是式子中的值,也可以是式子中的最小公倍数或者最大公因数),然后将dx换为dt*t的导数,再用t将原式表示,化简计算即可 2. 3. 4. 5. 6....
在Docker容器中启用SSH服务,实现外部访问的详细教程
目录 步骤 1: 安装 SSH 服务器 步骤 2: 配置 SSH 服务器 步骤 3: 设置 SSH 用户 步骤 4: 重启 SSH 服务器 步骤 5: 映射容器端口 步骤 6: 使用 SSH 连接到容器 要在Docker容器中启用SSH服务,以便从外部访问,您需要执行以下步骤: 步骤 …...
Go 模块系统最小版本选择法 MVS 详解
目录 Golang 模块系统简介 包版本管理 最小版本选择(MVS)原理 MVS 的优点 MVS的缺点 实际使用MVS 小结 参考资料 Golang 模块系统简介 Golang 模块系统是 Go 1.11 版本引入的一个新特性,主要目的是解决 Go 项目中的依赖管理问题。在模…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...
Linux部署私有文件管理系统MinIO
最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...
使用SSE解决获取状态不一致问题
使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件,这个上传文件是整体功能的一部分,文件在上传的过程中…...
Linux操作系统共享Windows操作系统的文件
目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项,设置文件夹共享为总是启用,点击添加,可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download(这是我共享的文件夹)&…...
【版本控制】GitHub Desktop 入门教程与开源协作全流程解析
目录 0 引言1 GitHub Desktop 入门教程1.1 安装与基础配置1.2 核心功能使用指南仓库管理日常开发流程分支管理 2 GitHub 开源协作流程详解2.1 Fork & Pull Request 模型2.2 完整协作流程步骤步骤 1: Fork(创建个人副本)步骤 2: Clone(克隆…...
