SqlServer中常用的一些操作语句

这篇具有很好参考价值的文章主要介绍了SqlServer中常用的一些操作语句。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们在维护数据库数据的时候,通常会用到各种SQL语句对数据进行操作或者维护,如:查看某个数据库中有哪些用户数据表、每个数据表中总共有多少条数据……

SqlServer官方地址:https://learn.microsoft.com/zh-cn/sql

1、🎉整理说明

我们在维护数据库数据的时候,通常会用到各种SQL语句对数据进行操作或者维护,如:查看某个数据库中有哪些用户数据表、每个数据表中总共有多少条数据……

因此,为了方便查阅,整理了如下相关语句。


2、🎁数据库相关

  • 查看数据文件占用情况

    --查看数据文件占用情况
    DBCC showfilestats;
    

    SqlServer中常用的一些操作语句

  • 查看日志文件占用情况

    --查看日志文件占用情况
    DBCC SQLPERF(LOGSPACE);
    

    SqlServer中常用的一些操作语句

  • 查询某数据库的文件的占用情况

    --查询某数据库的文件的占用情况
    SELECT a.name [文件名称],
    	   CAST(a.[size] * 1.0 / 128 AS DECIMAL(12, 1)) AS [文件设置大小(MB)],
    	   CAST(FILEPROPERTY(s.name, 'SpaceUsed') / (8 * 16.0) AS DECIMAL(12, 1)) AS [文件所占空间(MB)],
    	   CAST((FILEPROPERTY(s.name, 'SpaceUsed') / (8 * 16.0)) / (s.size / (8 * 16.0)) * 100.0 AS DECIMAL(12, 1)) AS [所占空间率%],
    	   CASE
    		   WHEN a.growth = 0 THEN
    			   '文件大小固定,不会增长'
    		   ELSE
    			   '文件将自动增长'
    	   END [增长模式],
    	   CASE
    		   WHEN a.growth > 0
    				AND a.is_percent_growth = 0 THEN
    			   '增量为固定大小'
    		   WHEN a.growth > 0
    				AND a.is_percent_growth = 1 THEN
    			   '增量将用整数百分比表示'
    		   ELSE
    			   '文件大小固定,不会增长'
    	   END AS [增量模式],
    	   CASE
    		   WHEN a.growth > 0
    				AND a.is_percent_growth = 0 THEN
    			   CAST(CAST(a.growth * 1.0 / 128 AS DECIMAL(12, 0)) AS VARCHAR) + 'MB'
    		   WHEN a.growth > 0
    				AND a.is_percent_growth = 1 THEN
    			   CAST(CAST(a.growth AS DECIMAL(12, 0)) AS VARCHAR) + '%'
    		   ELSE
    			   '文件大小固定,不会增长'
    	   END AS [增长值(%或MB)],
    	   a.physical_name AS [文件所在目录],
    	   a.type_desc AS [文件类型]
    FROM sys.database_files a
    	INNER JOIN sys.sysfiles s
    		ON a.[file_id] = s.fileid
    	LEFT JOIN sys.dm_db_file_space_usage b
    		ON a.[file_id] = b.[file_id]
    ORDER BY a.type;
    

    SqlServer中常用的一些操作语句

3、🎨数据表相关

  • 查询某数据库中的所有用户数据表

    --查询某数据库中的所有用户数据表
    SELECT name 表名称,object_id 表Id,create_date 创建时间,modify_date 修改时间 FROM sys.objects
    WHERE type='U'
    ORDER BY name;
    

    SqlServer中常用的一些操作语句

  • 查询出某数据库中每个用户数据表数据总条数

    --查询出某数据库中每个用户数据表数据总条数
    SELECT a.name 表名称,b.rows 数量 FROM sys.objects a
    LEFT JOIN sys.partitions b ON a.object_id=b.object_id
    WHERE a.type='U'
    ORDER BY a.name;
    

    SqlServer中常用的一些操作语句

  • 查询出某数据库中所有用户数据表数据总条数

    --查询出某数据库中所有用户数据表数据总条数
    SELECT SUM(b.rows) 总数量 FROM sys.objects a
    LEFT JOIN sys.partitions b ON a.object_id=b.object_id
    WHERE a.type='U';
    

    SqlServer中常用的一些操作语句


4、🏆数据查询相关

4.1、分页查询

  1. 使用ROW_NUMBER进行分页

在低版本(SqlServer 2005+)的SqlServer中,我们通常使用ROW_NUMBER方式对数据进行分页查询,使用方式如下所示:

--使用ROW_NUMBER方式对数据进行分页查询
SELECT *
FROM
(
    SELECT *,
           ROW_NUMBER() OVER (ORDER BY [CreateTime] DESC) AS RowIndex--生成序号新列RowIndex(按照CreateTime字段进行降序排列)
    FROM
    (
        SELECT *
        FROM Tb
        WHERE [CreateTime] <= '2023-12-01 23:59:59.999'
    ) temp
) T
WHERE RowIndex
BETWEEN 1 AND 20;--查询第1页,每页20条
--BETWEEN 21 AND 40;--查询第2页,每页20条
--BETWEEN 41 AND 60;--查询第3页,每页20条

2.使用OFFSET方式

SqlServer 2012+版本中,提供了新的分页数据查询方式OFFSET,使用方式如下所示:

--使用OFFSET方式对数据进行分页查询
SELECT *
FROM
(
    SELECT *
    FROM Tb
    WHERE [CreateTime] <= '2023-12-01 23:59:59.999'
) temp
ORDER BY [CreateTime] DESC
OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY;--查询第1页,每页20条
--OFFSET 20 ROWS FETCH NEXT 20 ROWS ONLY;--查询第2页,每页20条
--OFFSET 60 ROWS FETCH NEXT 20 ROWS ONLY;--查询第3页,每页20条

总结:上述两种分页数据查询方式,在相同的条件下,OFFSET方式的效率会提升1倍+,条件允许的情况下,推荐使用OFFSET方式!!!


持续更新中……文章来源地址https://www.toymoban.com/news/detail-747577.html

到了这里,关于SqlServer中常用的一些操作语句的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 飞天使-linux操作的一些技巧与知识点4-ansible常用的技巧,配置等

    ansible 配置文件的优先级 尝试开始进行操作 ansible常用模块 ansible 的playbook 示例 安装php playbook中变量的引用

    2024年02月04日
    浏览(37)
  • python实现的一些方法,可以直接拿来用的那种

    很多时候我们需要批量生成日期,方法有很多,这里分享两段代码 获取过去 N 天的日期: 输出: 生成一段时间区间内的日期: 输出: 保存数据到 CSV 是太常见的操作了 Pyecharts 作为 Echarts 的优秀 Python 实现,受到众多开发者的青睐,用 Pyecharts 作图时,使用一个舒服的背景也

    2024年02月10日
    浏览(31)
  • SQlServer 定时执行sql语句作业的制定

      1、打开【SQL Server Management Studio】,在【对象资源管理器】列表中选择【SQL Server 代理】; 2、鼠标右击【SQL Server 代理】,选择【启动(S)】,如已启动,可以省略此步骤; 3、展开【SQL Server 代理】列表,右击【作业】--【新建作业】;  (1)在【常规】选项卡中:输入作业名

    2024年02月03日
    浏览(39)
  • Java接入sqlserver的一些坑点记录

    1.Java对应sqlserver的jdbc版本 jdbc对应的maven版本:网上搜索出来的资料有两种,一种是比较老版本的 这个版本我去maven的主仓库查了下,更新时间是2016年3月份,所以最好就别用这个老版本的包了。 推荐使用 :另外一种是船新版本的driver 2.Java对应sqlserver驱动名称 驱动名称: 发

    2024年02月08日
    浏览(31)
  • SqlServer使用sp_executesql执行动态语句

    一、sp_executesql 语法 功能描述: 执行可多次重用的Transact-SQL语句或批处理,或动态生成的语句或批处理。Transact-SQL语句或批处理可以包含嵌入参数。 语法: 参数: [ @stmt= ] statement 是包含Transact-SQL语句或批处理的Unicode字符串。@stmt必须是Unicode常量或Unicode变量。不允许使用更

    2024年02月04日
    浏览(30)
  • SQLSERVER查看数据库日志方法和语句示例,已亲测。

    SQLSERVER查看数据库日志方法和语句示例,已亲测。 首先需要查看日志大小: EXEC sys.sp_enumerrorlogs; 可以获取存档编号(0指实时的),日期,日志大小 使用sql_devlopment工具;这里具体不在详细介绍了,很简单; **使用自带的 ​xp_readerrorlog 过程 ** xp_readerrorlog​ 一共有7个参数 :

    2023年04月10日
    浏览(27)
  • IDEA Java1.8通过sqljdbc4连接sqlserver插入语句

    1. 下载sqljdbc4:https://mvnrepository.com/artifact/com.microsoft.sqlserver.jdbc/sqljdbc4/4.0 下载后在IDEA放入仓库内,可以放在resources下,右键“add as library”。 2. 在控制面板中开启Telnet客户端,默认是不开启的。 若报错“ java.lang.classNotFoundException:com.microsoft.sqlserver.jdbc”说明1或2没有设置成功

    2024年02月09日
    浏览(30)
  • 分享一些实用WordPress SQL查询语句

    以下代码来自网络,未经测试,操作数据库有风险,请事先备份 ! 为所有文章和页面添加自定义字段 这段代码可以为WordPress数据库内所有文章和页面添加一个自定义字段。 你需要做的就是把代码中的‘UniversalCutomField‘替换成你需要的文字,然后把‘MyValue‘改成需要的值

    2023年04月23日
    浏览(44)
  • SQLServer 常用命令记录,持续更新.....(有问题可以留言)

       在SQL Server中,您可以使用内置的JSON功能来操作JSON数据。SQL Server 2016及更高版本引入了对JSON的原生支持。以下是一些常见的JSON操作: JSON数据的查询: 使用 JSON_VALUE 函数来提取JSON对象中的特定属性值。 使用 JSON_QUERY 函数来提取JSON对象或数组。 使用 JSON_UNQUOTE 函数来删除

    2024年02月09日
    浏览(28)
  • SQLSERVER 查询语句加with (NOLOCK) 报ORDER BY 报错 除非另外还指定了 TOP、OFFSET 或 FOR XML

    最近有一个项目在客户使用时发现死锁问题,用的数据库是SQLSERVER ,死锁的原因是有的客户经常去点报表,报表查询时间又慢,然后又有人在做单导致了死锁,然后主管要我们用SQLSERVER查询时要加with (NOLOCK),但是我在加完 with (NOLOCK) 后发现已经的用Mybatis-plus的 在mybatis里的分

    2024年02月12日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包