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

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

1、整理说明

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

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


2、数据库相关

  • 查看数据文件占用情况

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

  • 查看日志文件占用情况

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

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

    --查询某数据库的文件的占用情况
    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;

3、数据表相关

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

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

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

    --查询出某数据库中每个用户数据表数据总条数
    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;

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

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


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方式!!!


持续更新中……

SqlServer中常用的一些操作语句的更多相关文章

  1. Oracle手边常用命令及操作语句

    Oracle手边常用命令及操作语句 作者:白宁超 时间:2016年3月4日11:24:08 摘要:日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规操作. ...

  2. 【转】python 历险记(四)— python 中常用的 json 操作

    [转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...

  3. LoadRunner中常用的字符串操作函数

    LoadRunner中常用的字符串操作函数有:                strcpy(destination_string, source_string);               strc ...

  4. 收集一些工作中常用的经典SQL语句

    作为一枚程序员来说和数据库打交道是不可避免的,现收集一下工作中常用的SQL语句,希望能给大家带来一些帮助,当然不全面,欢迎补充! 1.执行插入语句,获取自动生成的递增的ID值 INSERT INTO ...

  5. python 历险记(四)— python 中常用的 json 操作

    目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编码和解码? 常用的 json 操作有哪些? json 操作需要什么库? 如何 ...

  6. 工作中常用的QTP操作Excel函数

    前言 本文只是对工作中常用的EOM相关函数的整理,并不是要写个大而全的操作手册,如果想对EOM有更多的了解可以参考QTP的帮助文档或查看QTP安装目录\CodeSamplesPlus\UsingExc ...

  7. 3、PHP中常用的数据库操作函数解析

    mysql_connect  连接数据库 mysql_select_db 选择需要操作的数据库 mysql_query 执行数据库操作语句 mysql_fetch_array 以数组的形式返回每行查询 ...

  8. sqlserver中查询表字段的sql语句

    sqlserver中的表信息字段信息这些东西也是放到系统表中的,以下sql语句用于查询某表的字段信息. select t1.id object_id,t1.name object_name,t2.va ...

  9. 工作中常用的Git操作

    粘贴自:微信公众号:程序员共成长 分支操作: git branch 创建分支 git branch -b 创建并切换到新建的分支上 git checkout 切换分支 git branch 查看分支列 ...

  10. python中常用的时间操作

    python中常用的时间模块有time和datetime,以下是这两个模块中常用的方法: #先引入模块 import timefrom datetime import datetiem, timezo ...

随机推荐

  1. Java Study For Seven Day( 面向对象三)

    继承 class Person { String name; int age; } class Student extends Person { void study() { System.out.p ...

  2. word常规操作

    为何写标 招标: A公司要买100台电脑 [需求] 投标: 电脑公司看到招标后,就会投标:自我介绍(公司,产品,售后) [自我介绍满足需求] 中标: A公司选择XX公司 [选择] 保密价格内容 不能透 ...

  3. linux web终端wetty食用方法

    学校有些机房电脑性能贼垃但又不得不去那些机房上课 我也不想带电脑,于是弄台廉价的服务器 本来想拿个公网ip配frp连我电脑完事 想到vim是在终端中运行的编辑器 于是想弄个web终端然后就找到了wet ...

  4. Tableau 数值 以万显示

    # Tableau 数字以万显示 0"."0,万

  5. 【XML】学习笔记第四章-schema

    Schema 概述 作用 与DTD相比Schema的优势 基础命名空间: 模式 引用方法 通过xsi:noNamespaceSchemaLocation引入 通过xsi:shemaLocation引入 ...

  6. Linux查找某个大小范围内的文件

    查找大小在某个范围内的文件使用-size参数,-size +n表示大于n单位的范围,-size –n表示小于n单位的范围.例如,查找大于100k且小于400k的文件: find . -type f - ...

  7. shell之变量默认值

    {var:-default_value}当var 不存在,或者值为空时,返回default_value name不存在,返回了一个默认值,但是name并没有改变, 后续不可访问 $ set -u # ...

  8. 【Linux】ps -ef|grep -v grep|awk '{print $2}' 命令详解

    前言 在Linux服务器中使用脚本时,经常见到ps -ef|grep xxx|grep -v grep|awk '{print $2}'这一句命令 前半部分的ps -ef|grep命令,相信经常接触L ...

  9. composer [ErrorException] Undefined index: process

    执行了升级composer self-update导致了 降级处理 composer self-update --1 composer install

  10. 快速解决MySQL:Table xxx is marked as crashed and should be repaired五个办法

    查看MySQL错误日志看到 Table xxx  is marked as crashed and should be repaired 解决办法如下 第一种: 1.首先进入mysql命令台: mys ...