SQL Server指南:从入门到进阶实战


在这里插入图片描述
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
在这里插入图片描述

  • 推荐:「stormsha的主页」👈,持续学习,不断总结,共同进步,为了踏实,做好当下事儿~
  • 专栏导航
    • Python面试合集系列:Python面试题合集,剑指大厂
    • GO基础学习笔记系列:记录博主学习GO语言的笔记,该笔记专栏尽量写的试用所有入门GO语言的初学者
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 运维系列:总结好用的命令,高效开发
    • 算法与数据结构系列:总结数据结构和算法,不同类型针对性训练,提升编程思维

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

💖The Start💖点点关注,收藏不迷路💖

📒文章目录

      • 一、登录与身份验证
        • 1. 登录方式
        • 2. 安全角色与权限管理
      • 二、管理工具:SQL Server Management Studio (SSMS)
        • 1. 用户界面
        • 2. 常用功能
      • 三、创建数据库
        • 1. 使用SSMS图形界面
        • 2. 使用T-SQL语句
      • 四、创建表
        • 1. 使用SSMS图形界面
        • 2. 使用T-SQL语句
      • 五、数据操作语言 (DML)
        • 1. 插入数据
        • 2. 查询数据
        • 3. 更新数据
        • 4. 删除数据
      • 六、数据定义语言 (DDL)
        • 1. 修改表结构
        • 2. 索引与约束
      • 七、事务处理与备份恢复
        • 1. 事务
        • 2. 备份数据库
        • 3. 恢复数据库
      • 八、高级主题
        • 1. 视图、存储过程、函数、触发器
        • 2. 性能调优
        • 3. 高可用性与灾难恢复


在这里插入图片描述

一、登录与身份验证

1. 登录方式
  • Windows身份验证:利用当前Windows用户的凭据进行登录,无需输入数据库用户名和密码。适用于同一域环境下的内部用户,简化了登录过程,且易于管理权限。

    sqlcmd -S <服务器名> -E
    
  • SQL Server身份验证:需要提供特定的数据库用户名和密码。适用于远程访问、非Windows用户或需要隔离权限管理的情况。

    sqlcmd -S <服务器名> -U <用户名> -P <密码>
    
2. 安全角色与权限管理
  • 服务器级别角色(如sysadmin、serveradmin等):负责管理整个SQL Server实例。
  • 数据库级别角色(如db_owner、db_datareader等):控制数据库内的权限分配。
  • 自定义角色:创建具有特定权限集合的角色,便于批量管理用户权限。
  • 对象级权限:针对特定表、视图、存储过程等授予或拒绝特定操作权限。

二、管理工具:SQL Server Management Studio (SSMS)

1. 用户界面
  • 对象资源管理器:浏览和管理服务器、数据库、表、视图、存储过程等对象。
  • 查询编辑器:编写、执行T-SQL语句及脚本,查看结果集。
  • 模板资源管理器:提供预定义的T-SQL脚本模板,加速开发。
  • 报表和图表:用于数据可视化和性能监视。
2. 常用功能
  • 连接管理:添加、编辑、删除服务器连接。
  • 备份与还原:定期备份数据库,以防数据丢失,并在需要时恢复。
  • 导入/导出数据:使用数据迁移助手(DMA)或SSIS包进行数据迁移。
  • 性能监视与优化:使用性能监视器、SQL Profiler、DMVs等工具分析查询性能。

三、创建数据库

1. 使用SSMS图形界面
  • 右键“数据库”节点,选择“新建数据库”。
  • 输入数据库名称,设置文件组、文件路径、初始大小、增长方式等参数。
  • 选择恢复模式(完整、简单、大容量日志)和兼容级别。
2. 使用T-SQL语句
CREATE DATABASE [DatabaseName]
ON 
(NAME = N'DatabaseName_Data',FILENAME = N'/path/to/datafile.mdf',SIZE = 5MB,MAXSIZE = UNLIMITED,FILEGROWTH = 10%
)
LOG ON 
(NAME = N'DatabaseName_Log',FILENAME = N'/path/to/logfile.ldf',SIZE = 2MB,MAXSIZE = 200MB,FILEGROWTH = 10%
)
GO

四、创建表

1. 使用SSMS图形界面
  • 右键目标数据库的“表”节点,选择“新建表”。
  • 在设计视图中添加列、定义数据类型、约束(如NOT NULL、PRIMARY KEY等)。
2. 使用T-SQL语句
CREATE TABLE [dbo].[Student] ([ID] INT NOT NULL PRIMARY KEY IDENTITY(1,1),[Name] NVARCHAR(50) NOT NULL,[Sex] CHAR(1) NOT NULL CHECK ([Sex] IN ('M', 'F')),[Age] INT NOT NULL
);

五、数据操作语言 (DML)

1. 插入数据
  • SSMS:在表设计视图中直接输入数据,或使用“编辑前200行”功能。
  • T-SQL
INSERT INTO [dbo].[Student] (Name, Sex, Age)
VALUES ('贾宝玉', 'M', 16);-- 插入多条数据
INSERT INTO [dbo].[Student] (Name, Sex, Age)
VALUES ('林黛玉', 'F', 15),('薛宝钗', 'F', 17);
2. 查询数据
  • SSMS:在查询编辑器中编写SELECT语句,运行后查看结果集。
  • T-SQL
SELECT * FROM [dbo].[Student];
3. 更新数据
UPDATE [dbo].[Student]
SET [Age] = 18
WHERE [ID] = 1;
4. 删除数据
DELETE FROM [dbo].[Student]
WHERE [ID] = 1;

六、数据定义语言 (DDL)

1. 修改表结构
  • 添加列:
ALTER TABLE [dbo].[Student]
ADD [Address] NVARCHAR(100) NULL;
  • 删除列:
ALTER TABLE [dbo].[Student]
DROP COLUMN [Address];
  • 修改列属性:
ALTER TABLE [dbo].[Student]
ALTER COLUMN [Age] INT NOT NULL;
2. 索引与约束
  • 创建索引:
CREATE INDEX IX_Student_Name ON [dbo].[Student]([Name]);
  • 添加外键约束:
ALTER TABLE [dbo].[Enrollment]
ADD CONSTRAINT FK_Enrollment_Student
FOREIGN KEY ([StudentID])
REFERENCES [dbo].[Student]([ID])
ON DELETE CASCADE;

七、事务处理与备份恢复

1. 事务
  • 开始事务:
BEGIN TRANSACTION;
  • 提交事务:
COMMIT TRANSACTION;
  • 回滚事务:
ROLLBACK TRANSACTION;
2. 备份数据库
  • 使用SSMS的备份任务向导。
  • 使用T-SQL:
BACKUP DATABASE [DatabaseName]
TO DISK = '/path/to/backup.bak'
WITH FORMAT,COMPRESSION,STATS = 10;
3. 恢复数据库
  • 使用SSMS的还原任务向导。
  • 使用T-SQL:
RESTORE DATABASE [DatabaseName]
FROM DISK = '/path/to/backup.bak'
WITH REPLACE,RECOVERY,STATS = 10;

八、高级主题

1. 视图、存储过程、函数、触发器
  • 视图:虚拟表,基于查询结果定义,简化复杂查询或保护敏感数据。
  • 存储过程:封装一组T-SQL语句,提高代码重用和安全性。
  • 函数:返回单一值或表形式结果的可重用代码块。
  • 触发器:响应特定数据库事件(如INSERT、UPDATE、DELETE)自动执行的T-SQL代码。
2. 性能调优
  • 查询优化:使用执行计划、索引调整、查询重写等手段。
  • 数据库引擎 tuning advisor:分析工作负载并提出优化建议。
  • 监控性能指标:使用DMVs、性能计数器、SQL Profiler等工具。
3. 高可用性与灾难恢复
  • Always On Availability Groups:实现数据库级别的高可用性和读扩展。
  • 数据库镜像:提供故障转移和数据保护。
  • 日志传送:通过复制事务日志备份实现异地容灾。
  • 备份策略:定期备份、差异备份、事务日志备份,配合恢复模型实现不同恢复点目标(RPO)。

以上是一个简要的SQL Server详细使用教程,涵盖从基础登录、管理工具使用到高级特性的操作。实际应用中,还需根据业务需求进一步学习和实践相关技术。同时,建议参考官方文档和专业书籍以获取最准确、最新的信息。


❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏、分享下吧,非常感谢!👍 👍 👍

🔥🔥🔥道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

💖The End💖点点关注,收藏不迷路💖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/2468.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java面试必问题52:(高级面试篇)MongoDB的详细解释以及他的用法以及他跟Redis的区别以及优势

1. 非结构化数据存储&#xff1a;MongoDB是一个面向文档的NoSQL数据库&#xff0c;它不需要定义固定的数据模式&#xff0c;适用于存储不同结构和半结构化的数据&#xff0c;如日志、JSON文档、传感器数据等。 2. 可扩展性和高性能&#xff1a;MongoDB采用分布式架构&#xff0…

为什么堆排序的时间复杂度是O(N*logN)?

目录 前言&#xff1a; 堆排序&#xff08;以排升序为例&#xff09; 步骤&#xff08;用大根堆&#xff0c;倒这排&#xff0c;排升序&#xff09;&#xff1a; 1.先把要排列的数组建立成大根堆 2.堆顶元素&#xff08;82&#xff09;和最后一个元素交换&#xff08;2&…

HYBBS表白墙爆款源码!轻松搭建表白墙网站,更可一键封装成APP,让爱传递无界限

PHP表白墙网站源码&#xff0c;适用于校园内或校区间使用&#xff0c;同时支持封装成APP。告别使用QQ空间的表白墙。 简单安装&#xff0c;只需PHP版本5.6以上即可。 通过上传程序进行安装&#xff0c;并设置账号密码&#xff0c;登录后台后切换模板&#xff0c;适配手机和PC…

计算机网络——应用层协议(1)

在这篇文章初识网络中&#xff0c;我介绍了关于计算机网络的相关知识&#xff0c;以及在这两篇文章中Socket编程和Socket编程——tcp&#xff0c;介绍了使用套接字在两种协议下的网络间通信方式。本篇文章中我将会进一步介绍网络中网络协议的部分&#xff0c;而这将会从应用层开…

[SWPUCTF 2022 新生赛]ez_ez_unserialize

要绕过wakeup函数&#xff0c;只要序列化的中的成员数大于实际成员数&#xff0c;即可绕过。 <?php class X {public $x fllllllag.php; }$anew X(); echo serialize($a); O:1:“X”:1:{s:1:“x”;s:13:“fllllllag.php”;} 修改为 O:1:“X”:3:{s:1:“x”;s:13:“flllll…

【Java--数据结构】“从扑克到程序:深入探讨洗牌算法的原理与魅力“

前言 以下是学习Java顺序表的一个实例应用———简单的洗牌算法。 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 前言 定义每张扑克牌的属性 生成一副扑克牌&#xff08;不包含大小王&#xff09; 洗牌方法 发牌方…

邂逅JavaScript逆向爬虫-------基础篇之深入JavaScript运行原理以及内存管理

目录 一、JavaScript运行原理1.1 前端需要掌握的三大技术1.2 为什么要学习JavaScript1.3 浏览器的工作原理1.4 浏览器的内核1.5 浏览器渲染过程1.6 认识JavaScript引擎1.7 V8引擎以及JavaScript的执行过程1.8 V8引擎执行过程 二、JavaScript的执行过程2.1 初始化全局对象2.2 执…

PCB上有哪些元素

过孔&#xff1a;是用来切换层的 丝印&#xff1a;就是标记&#xff08;白色的线或者符号&#xff09; 焊盘&#xff1a;焊接元器件&#xff0c;相当于线头&#xff0c;连接各个元件 通孔埋孔盲孔&#xff0c;都是用来换层&#xff0c;内部没有桐&#xff0c;是用来固定的 线路…

【pycharm】调试模式中四个常用按钮介绍

【pycharm】调试模式中四个常用按钮介绍 在 PyCharm 的调试模式中&#xff0c;有四个常用的按钮&#xff0c;它们的功能如下&#xff1a; Step Over (F8)&#xff1a;单步执行&#xff0c;但在遇到函数调用时&#xff0c;不会进入函数内部&#xff0c;而是将整个函数作为一步执…

从0到1—POC编写基础篇(二)

接着上一篇 POC常用基础模块 urllib 模块 Python urllib 库用于操作网页 URL&#xff0c;并对网页的内容进行抓取处理。 urllib 包 包含以下几个模块&#xff1a; ●urllib.request - 打开和读取 URL。 ●urllib.error - 包含 urllib.request 抛出的异常。 ●urllib.parse - …

【八股】计算机网络篇

网络模型 应用层【HTTP&#x1f449;报文/消息】 传输层【TCP或UDP&#x1f449;段&#x1f449;MSS】网络层【IP、寻址和路由&#x1f449;MTU】 ①IP&#xff08;Internet Protocol&#xff0c;网际协议&#xff09;主要作用是定义数据包的格式、对数据包进行路由和寻址&…

React-editor-js not showing up in a function component

React-editor-js not showing up in a function component react-editor-js 在react 函数组件中显示不出来 真的&#xff0c;我马上就想放弃它了。但是看它周下载量还挺多&#xff0c;我不信别人没遇到过。于是我继续在网络上挖呀挖。只是我一开始的方向错了。我一直以为我的写…

6.2 整合MongoDB

6.2 整合MongoDB 1. MongoDB简介2. MongoDB安装2.1 下载2.2 配置MongoDB2.3 MongoDB的启动和关闭1. 启动MongoDB2. 关闭MogoDB 2.4 安全管理 3. 整合SpringBoot3.1 依赖3.2 MongoTemplate使用3.3 测试1. 新增2. 查询3. 删除 *************************************************…

仓库管理存在的问题及改进对策?

大部分人都指导仓库问题会影响一个仓库操作或与之相关的整个流程链的速度、效率和生产力。但在大多数情况下&#xff0c;只有在流程开始甚至完成后才能识别这些错误。 到那时通常已经来不及阻止错误了&#xff0c;甚至可能来不及减少造成的损害。 所以这也是我写这篇内容的目…

[SWPUCTF 2021 新生赛]re2(不同字符加密相同,逆向修改范围)

无壳 直接看ida 完整exp&#xff1a; resultlist(ylqq]aycqyp{) for i in range(len(result)):if (ord(result[i])<94 or ord(result[i])>96) and (ord(result[i])<62 or ord(result[i])>64):result[i]chr(ord(result[i])2)else:result[i]chr(ord(result[i])-24)…

数据结构实验(三)

算法设计 一、判断回文序列 1、算法思路&#xff1a; 输入想要判断的字符串&#xff0c;用数组来存放该字符串&#xff0c;给数组一个最左的下标low,和最右的下标right.比较两端的字符是否相等&#xff0c;如果相等那么low,right--.直到遍历完字符串&#xff0c;如果字符不相…

可持续发展:制造铝制饮料罐要消耗多少资源?

铝制饮料罐是人们经常使用的日常用品&#xff0c;无论是在购物、午休还是在自动售货机前选择喝什么的时候&#xff0c;很少有人会想知道装他们喝的饮料的罐子到底是如何制成的&#xff0c;或者这些铝罐的原材料是如何进出的。 虽然有化学品和一些合金进入铝饮料罐制造过程或成为…

大小端解释以及如何使用程序判断IDE的存储模式

今天让我们来了解一下大小端的概念吧 什么是大小端&#xff1f; 大端&#xff08;存储&#xff09;模式&#xff1a;指的是数据的低位保存在内存的高地址处&#xff0c;而数据的高位则保存在内存的低地址处。 小端&#xff08;存储&#xff09;模式&#xff1a;指的是数据的低位…

在 Windows 系统上彻底卸载 TeamViewer 软件

在 Windows 系统上彻底卸载 TeamViewer 软件 References 免费版仅供个人使用 您的会话将在 5 分钟后终止 Close TeamViewer by locating the TeamViewer icon in the system tray, right click and “Exit TeamViewer”. Right click Windows start menu then Control Panel -…

“PowerInfer:消费级GPU上的高效大语言模型推理引擎“

PowerInfer是由上海交通大学IPADS实验室开发的一个高效大语言模型&#xff08;LLM&#xff09;推理引擎&#xff0c;专为个人电脑&#xff08;PC&#xff09;上的消费者级GPU设计。它通过利用LLM推理中的高局部性&#xff0c;实现了快速且资源消耗低的模型推理&#xff0c;这一…