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 项目中的依赖管理问题。在模…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...

ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...

Java数组Arrays操作全攻略
Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...

Canal环境搭建并实现和ES数据同步
作者:田超凡 日期:2025年6月7日 Canal安装,启动端口11111、8082: 安装canal-deployer服务端: https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...