SqlServer中常用的一些操作语句
我们在维护数据库数据的时候,通常会用到各种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、分页查询
- 使用
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中常用的一些操作语句的更多相关文章
- Oracle手边常用命令及操作语句
Oracle手边常用命令及操作语句 作者:白宁超 时间:2016年3月4日11:24:08 摘要:日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规操作. ...
- 【转】python 历险记(四)— python 中常用的 json 操作
[转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...
- LoadRunner中常用的字符串操作函数
LoadRunner中常用的字符串操作函数有: strcpy(destination_string, source_string); strc ...
- 收集一些工作中常用的经典SQL语句
作为一枚程序员来说和数据库打交道是不可避免的,现收集一下工作中常用的SQL语句,希望能给大家带来一些帮助,当然不全面,欢迎补充! 1.执行插入语句,获取自动生成的递增的ID值 INSERT INTO ...
- python 历险记(四)— python 中常用的 json 操作
目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编码和解码? 常用的 json 操作有哪些? json 操作需要什么库? 如何 ...
- 工作中常用的QTP操作Excel函数
前言 本文只是对工作中常用的EOM相关函数的整理,并不是要写个大而全的操作手册,如果想对EOM有更多的了解可以参考QTP的帮助文档或查看QTP安装目录\CodeSamplesPlus\UsingExc ...
- 3、PHP中常用的数据库操作函数解析
mysql_connect 连接数据库 mysql_select_db 选择需要操作的数据库 mysql_query 执行数据库操作语句 mysql_fetch_array 以数组的形式返回每行查询 ...
- sqlserver中查询表字段的sql语句
sqlserver中的表信息字段信息这些东西也是放到系统表中的,以下sql语句用于查询某表的字段信息. select t1.id object_id,t1.name object_name,t2.va ...
- 工作中常用的Git操作
粘贴自:微信公众号:程序员共成长 分支操作: git branch 创建分支 git branch -b 创建并切换到新建的分支上 git checkout 切换分支 git branch 查看分支列 ...
- python中常用的时间操作
python中常用的时间模块有time和datetime,以下是这两个模块中常用的方法: #先引入模块 import timefrom datetime import datetiem, timezo ...
随机推荐
- Linux中的用户管理-创建删除修改
用户管理 一.用户分类 用户分为三类: 1.管理员 root root UID:0 #拥有最高权限 默认系统中就一个 UID即user ID 类似于身份号码,唯一的,不可重复 2.虚拟用户 作用:在运 ...
- Go获取文件路径,文件名,后缀
import ( "fmt" "os" "path/filepath" "path" ) files := " ...
- linux bash shell 入门教程()
Shell Script(bash)简介 众所皆知地,UNIX上以小工具著名,利用许多简单的小工具,来完成原本需要大量软体开发的工作,这一点特色,使得UNIX成为许多人心目中理想的系统平台. 在众多的 ...
- VScode之远程开发
之前使用过PyCharm的远程开发,很好用,不过还是有几个局限性: 只能用于Python语言: 本地和服务器都需要有一份代码,这两份代码是完全同步的: 一.配置免密远程登录 1.首先检查本地是否有已生 ...
- 基于 MongoTemplate 实现MongoDB的复杂查询
MongoDB是典型的非关系型数据库,但是它的功能越来越复杂,很多项目中,我们为了快速拓展,甚至直接使用Mongo 来替代传统DB做数据持久化.虽然MongoDB在支持具体业务时没有问题,但是由于它是 ...
- 销讯通CRM客户关系管理系统的功能拆分
随着技术的发展,CRM系统(客户关系管理)成为企业不可或缺的工具,本文从医药行业角度简要谈谈CRM系统的功能. 从业务的理解来说,从医药行业来说,CRM客户管理系统的有以下几部分功能: 01 客户的分 ...
- oracle中id自增长(转)
首先,你要有一张表! CREATE TABLE example( ID Number(4) NOT NULL PRIMARY KEY, NAME VARCHAR(25), PHONE VARCHAR( ...
- 【SpringMVC】框架搭建
pom.xml 注意,下面代码只是pom.xml中的dependencies部分 <dependencies> <!-- 萌狼蓝天 mllt.cc--> <!-- htt ...
- JavaScript设计模式与开发实践 PDF——带完整书签
下载链接:JavaScript设计模式与开发实践 带完整书签:
- TIBCO Jaspersoft Studio-6.12.2连接mysql时显示时区问题
TIBCO Jaspersoft Studio-6.12.2创建mysql型的Data Adapter, 在进行连接test时弹出显示时区问题,如下图所示: 解决办法: 在Data Adapter W ...