(3.13)常用知识-元数据函数
元数据函数
1、获取数据库标识符DB_ID
DB_ID函数用于获取当前数据库的唯一ID(int数据类型),数据库ID用于服务器上唯一区分书库。
语法结构:
DB_ID (['database_name'])
参数中的database_name是sysname类型的数据库名称,为可选参数。如果没有指定则返回当前工作数据库的ID。
返回值:
int数据类型的数据库标识符。
示例:
select DB_ID() --输出 8
2、获取数据库名称DB_NAME
DB_NAME函数用于红区当前数据库的名称(nvarchar数据类型)
语法结构:
DB_NAME(['database_id'])
参数中的database是int数据类型的数据库标识符,为可选参数。如果没有指定则返回当前工作数据库的名称。
示例:
select DB_NAME() --输出 NHibernate
3、获取数据库属性DATABASEPROPERTYEX
databasepropertyex函数用于获得指定的某个数据库的某个属性的当前设置。执行一次返回一个属性值,若要返回多个属性值,可以查询master系统数据库的 sys.database系统视图。
语法结构:
databasepropertyex(database,property)
参数说明:
database:表示要为其返回命名属性的信息的数据库名称,nvarchar(128)数据类型
property:表示要返回的数据库属性,数据类型为Varchar(128)
示例:
select databasepropertyex('NHibernate','recovery') --输出 SIMPLE 这是数据库的恢复模式
Property属性的取值以及说明如下:
属性值 | 说明 | 返回值 |
Collation | 排序规则名称 | nvarchar(128)、null |
IsAutoClose | 数据库的自动关闭功能是否启用 | Int、null |
IsAutoCreateStatistics | 是否自动创建统计信息 | Int、null |
IsAutoShrink | 是否定期收缩 | Int、null |
IsAutoUpdateStatistics | 是否自动能够更新统计信息 | Int、null |
Recovery | 数据库的恢复模式 | nvarchar(128) |
Status | 数据库的状态 | nvarchar(128) |
Updateability | 是否可以修改数据 | nvarchar(128) |
UserAccess | 哪些用户可以访问数据库 | nvarchar(128) |
Version | 数据库内部版本号 | Int |
4、获取文件组标识符FILEGROUP_ID
filegropy_id函数用于获取文件组的唯一标识符(int数据类型)
语法结构:
FILEGROUP_ID( 'filegropy_name' )
参数中的filegropy_name是sysname类型的数据库名称,可以从sys.filegroups系统视图中查询得到。
返回值:
Int数据类型的文件组标识符。
示例:
select filegroup_id('NHiberna') --输出 nullselect filegroup_id('PRIMARY') --输出 1
5、获取文件组名称FILEGROUP_NAME
filegroup_name函数用于获取文件组的名称(nvarchar数据类型)。
语法结构:
filegroup_name(filegroup_id)
参数中的filegroup_id是int数据类型的文件组标识符,要获得该标识符,可以查询sys.filegroups系统视图
返回值:
nvarchar(128)数据类型的文件组名称
示例:
select filegroup_name(1) --输出 PRIMARY
6、获取文件组属性值FILEGROUPPROPERTY
filegroupproperty函数用于获得指定文件组的指定属性值。
语法结构:
filegroupproperty(filegroupname,property)
参数说明:
filegroup_name:表示要为其返回属性信息的文件组名称,nvarchar(128)数据类型,可以通过sys.filegroups列获得。
property:表示要返回的属性,数据类型为varchar(128)。
常见的property属性值列表
属性值 | 说明 | 返回值 |
IsReadOnly | 文件组是否只读 | Int、Null |
IsUserDefinedEG | 是否为用户定义的文件组 | Int、Null |
IsDefault | 是否默认的文件组 | Int、Null |
示例:
select filegroupproperty('PRIMARY','isreadonly') --输出 0
7、获得文件标识符FILE_ID
file_id函数用于获取数据库的文件,包括日志文件和数据文件的标识符。文件标识符用于在数据库中唯一区分。
语法结构:
FILE_ID( file_name )
参数中的file_name是sysname类型的文件名称,可以通过查询系统视图sys.database_files中的name列来获得。
返回值:
smallint数据类型的文件标识符。
示例:
select * from sys.database_files --查出有哪些数据库文件select file_id('NHibernate') --输出 1 查出NHibernate数据库文件对应的fileid
8、获取文件名称FILE_NAME
file_name函数用于获取当前数据库的逻辑名称(nvarchar数据类型),这里是逻辑名称而不是包含路径的物理名称。
语法结构:
file_name(file_id)
参数中的file_id是int数据类型的数据库标识符。可以查询master数据库的sys.master_files系统视图的file_id列获得服务器上所有数据库的文件ID,也可以查询某个数据库的sys.database_files系统视图的file_id列获得该数据库的文件的ID。
返回值:
nvarchar(128)数据类型的逻辑文件名称。
示例:
select * from sys.database_files --查出有哪些数据库文件select file_id('NHibernate') --输出 1 查出NHibernate数据库文件对应的fileidselect file_name(1) -- 输出 NHibernate
9、获取文件属性值FILEPROPERTY
fileproperty函数用于获得指定文件的指定属性值。
语法结构:
fileproperty (file_name ,property )
file_name:表示要为其返回属性信息的文件的逻辑名称,nvarchar(128)数据类型,可以通过sys.database_files系统视图查询name列获得。
property:表示要返回的属性,数据类型为varchar(128)。
常见的property属性值的取值如下:
属性值 | 说明 | 返回值 |
IsReadOnly | 文件是否只读 | Int 1代表True,0代表False |
IsPrimaryFile | 是否为主要数据文件 | Int 1代表True,0代表False |
IsLogFile | 是否为日志文件 | Int 1代表True,0代表False |
SpaceUsed | 文件空间的使用量 | Int |
示例:
select fileproperty('nhibernate','isreadonly') --输出 0select fileproperty('nhibernate','isprimaryfile')--输出1select fileproperty('nhibernate','islogfile') --输出0select fileproperty('nhibernate','spaceused') --输出184
10、获取数据库对象标识符OBJECT_ID
object_id函数用于获取特定数据库、特定架构下特定数据对象的唯一ID(int数据类型),对象的ID用于在数据库内区分唯一。
语法结构:
object_id( '[database_name . [schema_name] . | schema_name . ]object_name'[,'object_type']')
参数说明:
database_name | 数据库名称 |
schema_name | 架构名称 |
object_name | 对象名称 |
object_type | 对象类型 |
返回值:
Int数据类型的对象标识符。
11、获取数据库对象名称OBJECT_NAME
object_name函数用于获取指定数据库、指定架构下的数据对象的逻辑名称。该名称可以通过查询sys.objects系统视图的name列得到。
语法结构:
object_name(object_id)
参数中的object_id是int数据类型的对象标识符
返回值:
sysname数据类型的逻辑对象名称。
示例:
select OBJECT_NAME(OBJECT_ID('dbo.Account')) --输出Account
12、获取文件属性值OBJECTPROPERTY
objectproperty函数用于获得指定数据库、指定架构下的指定对象的指定属性的值。
语法结构:
objectproperty(id,property)
参数说明:
id:表示要为其返回命名属性信息的对象的ID,int数据类型。
property:表示要返回的属性,数据类型为sql_variant,即变体。
常见的property属性值
属性值 | 说明 | 返回值 |
TableHasTextImage | 表中是否含有text、image列 | Int 1代表True 0代表False |
TableHasPrimaryKey | 表中是否含有主键 | Int 1代表True 0代表False |
TableHasIndex | 表中是否含有索引 | Int 1代表True 0代表False |
TableHasForeignKey | 表中是否含有外键 | Int 1代表True 0代表False |
SchemaId | 对象的架构ID | Int |
OwnerId | 对象的所有者 | Int |
IsView | 是否视图 | Int 1代表True 0代表False |
IsUserTable | 是否用户创建表 | Int 1代表True 0代表False |
IsTable | 是否是表 | Int 1代表True 0代表False |
IsSystemTable | 是否系统表 | Int 1代表True 0代表False |
IsPrimaryKey | 是否主键 | Int 1代表True 0代表False |
转自:http://www.cnblogs.com/kissdodog/p/3141367.html
13.COL_LENGTH查看列是否存在
COL_LENGTH(N'架构.表名', N'字段名')
--查看表select * from test101
--判断列是否存在 IF COL_LENGTH('dbo.test101','number') is not nullprint 'the column number is exist' elseprint 'the column number not is exist'
--试个不存在的列看一下结果
14.set nocount on/off
在执行sql操作的时候,会把受影响的行显示出来,本操作就是开启关闭影响行提示。数据大的时候可以略微提升性能。
举例:查询了一条语句,有行影响显示
设置之后:
15.SET STATISTICS TIME/IO/PROFILE ON/OFF (详情参考这里:SQL Server读懂语句运行的统计信息)
--清除buffer pool里的所有缓存数据DBCC DROPCLEANBUFFERS--清除buffer pool里的所有缓存的执行计划DBCC freeproccacheGO
(1)set statistics time on
会显示CPU占用时间和总会语句运行时间,如图:
为什么是0毫秒呢。再快也没这么快吧,后来了解了一下,肯定是缓存了执行计划了。
清理一下再试试
(2)set statistics io on
会显示IO操作相关情况,如图:
(3)set statistics profile on
会显示基本文件信息,执行计划,如图:
16. set datefirst 1
--获取当前星期 select datename(dw,getdate())
--改为英文格式
--获得数字格式
select datepart(dw,getdate())--今天周五但外国是以周日为1星期的开头,周日为1,到了周五自然为6
--设置为周1为1 set datefirst 1 select datepart(dw,getdate())
转载于:https://www.cnblogs.com/gered/p/9154855.html
(3.13)常用知识-元数据函数相关推荐
- EXCEL 2016常用知识--Excel函数
必备常用函数教学,包括逻辑函数.查找函数.文本函数.数学函数等- 1.Excel计算的两种方式 Excel计算的两种方式: 公式:一些运算符和数值组成的数学表达式 函数:是Excel内部设置好的运算模 ...
- db2 replace函数的用法_SQL基础知识:常用字符处理函数
原标题:SQL基础知识:常用字符处理函数 作者:丶平凡世界
- python中pandas格式_Python学习笔记之数据分析中Pandas常用知识
前言 Pandas基于两种数据类型:series与dataframe. 一个series是一个一维的数据类型,其中每一个元素都有一个标签.series类似于Numpy中元素带标签的数组.其中,标签可以 ...
- 零基础学Python(第二十二章 常用内置函数)
本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 本章内容为: ...
- SQLServer常用的字符串函数梳理
今天给大家分享一下SQLServer常用的字符串函数知识笔记,希望对大家能有所帮助! 1.ASCII(字符串表达式) 作用:返回表达式最左侧字符串的ASCII代码值. 示例:SELECT ASCII( ...
- SQLServer常用的配置函数笔记
今天给大家分享一下SQLServer常用的配置函数知识,希望对初学者能有所帮助! 1.@@DATEFIRST @@Datefirst返回值tinyint 说明:datefirst指一周中的第一天,英语 ...
- MySql常用知识归纳整理(收藏)
MySql常用知识归纳整理(收藏) 一.连接与退出 二.导入导出--推荐Navicat For Mysql 三.修改密码与增加用户权限 四.结构化查询语言 一.DDL:数据定义语言 二.DML: 数据 ...
- 100多个常用的Python函数!(部分函数含代码解读)
目录 一.前言 二.基础函数 三.流程控制 四.列表 五.元组 六.字符串 七.字典 八.函数 九.进程和线程 十.模块与包 十一.文件操作 十二.修饰器/装饰器 十三.正则 参考 一.前言 我记得我 ...
- 【数学知识】函数与复合函数编程实现
[数学知识]函数与复合函数编程实现 1.函数定义 多项式 指数函数与对数函数 正弦函数 2.复合函数 本博客适合高中学生入门编程知识学习,从高中的数学概念转换到其python实现,提高自身对编程的学习 ...
- MYSQL数据库常用知识整理
为什么80%的码农都做不了架构师?>>> MYSQL数据库常用知识整理 什么是MYSQL MYSQL的特性 MYSQL存储引擎的分类以及数据文件的介绍 MYSQL赋权 MYSQ ...
最新文章
- 微信小程序之apply和call ( 附示例代码和注释讲解) apply call bind
- Python之路【第十二篇】:函数
- 【脚下生根】之深度探索安卓OpenGL投影矩阵
- 【C#】允许泛型方法T返回空值Null
- 原来这就是Java代码生成器的原理啊,太简单了
- Eclipse连接到My sql数据库之前操作
- Linux Shell 之 我的第一个Shell程序
- (七)准备在云中训练深度伪造模型
- 运用c++结束学校机房红蜘蛛控制软件
- Activiti获取当前活动(任务)的出口(动态生成提交按钮)
- 解决ubuntu系统mysql open_files_limit配置不生效问题
- 通向云帝国的铁王座:卖书的贝佐斯和卖软件的纳德拉
- 虚拟机是ubuntu,windows映射盘符方式访问虚拟机
- [笔记] Golang小试实现神经网络框架
- 使用Origin绘制柱状图(入门)
- 评测|HPE Nimble AF全闪存系列,诠释真正的高端存储
- “杀熟”的数据从哪里来?这些用户数据泄露案例说不定你都听过
- win10系统如何玩各个版本的红色警戒
- php v9 用户头像,phpcms v9前台会员中心上传头像可getshell | CN-SEC 中文网
- log4j不打日志问题之实战解决方案(二)