SqlServer:SqlServer(xpath,字段约束,时间查询,数据文件查询及还原,压缩备份)
1.xpath
--1、文档
select @data
--2、任意级别是否存在price节点
select @data.exist('//price')
--3、获取所有book节点
select @data.query('//book')
--4、获取所有包含lang属性的节点
select @data.query('//*[@lang]')
--5、获取第一个book节点
select @data.query('//book[1]')
--6、获取前两个book节点
select @data.query('//book[position()<=2]')
--7、获取最后一个book节点
select @data.query('//book[last()]')
--8、获取price>35的所有book节点
select @data.query('//book[price>35]')
--9、获取category="WEB"的所有book节点
select @data.query('//book[@category="WEB"]')
--10、获取title的lang="en"的所有book节点
select @data.query('//book/title[@lang="en"]')
--11、获取title的lang="en"且 price>35的所有book节点
select @data.query('//book[./title[@lang="en"] or price>35 ]')
--12、获取title的lang="en"且 price>35的第一book的(第一个)title
select @data.query('//book[./title[@lang="en"] and price>35 ]').value('(book/title)[1]','varchar(max)')
--13、等价于12
select @data.value('(//book[./title[@lang="en"] and price>35 ]/title)[1]','varchar(max)')
--14、获取title的lang="en"且 price>35的第一book的(第一个)title的lang属性
select @data.value('((//book[@category="WEB" and price>35 ]/title)[1]/@lang)[1]','varchar(max)')
--15、获取第一本书的title
select Tab.Col.value('(book/title)[1]','varchar(max)') as title
from @data.nodes('bookstore')as Tab(Col)
--16、获取每本书的第一个author
select Tab.Col.value('author[1]','varchar(max)') as title
from @data.nodes('//book')as Tab(Col)
--17、获取所有book的所有信息
select
T.C.value('title[1]','varchar(max)') as title,
T.C.value('year[1]','int') as year,
T.C.value('title[1]','varchar(max)')as title,
T.C.value('price[1]','float') as price,
T.C.value('author[1]','varchar(max)') as author1,
T.C.value('author[2]','varchar(max)') as author2,
T.C.value('author[3]','varchar(max)') as author3,
T.C.value('author[4]','varchar(max)') as author4
from @data.nodes('//book') as T(C)
--18、获取不是日语(lang!="jp")且价格大于35的书的所有信息
select
T.C.value('title[1]','varchar(max)') as title,
T.C.value('year[1]','int') as year,
T.C.value('title[1]','varchar(max)')as title,
T.C.value('price[1]','float') as price,
T.C.value('author[1]','varchar(max)') as author1,
T.C.value('author[2]','varchar(max)') as author2,
T.C.value('author[3]','varchar(max)') as author3,
T.C.value('author[4]','varchar(max)') as author4
from @data.nodes('//book[./title[@lang!="jp"] and price>35 ]') as T(C)
--19、获取后多少个
SELECT resultDataset.query('/root/rows/row[position()>=(last()-2)]') FROM auditResult
2.字段约束:
--获取约束信息
select * from information_schema.constraint_column_usage---可以获取指定数据库中的所有约束的信息以及约束与列的对应关系
go select * from information_schema.constraint_table_usage---查询结果中只包含表和约束的对应关系,并没有约束对应的列信息
go select * from information_schema.table_constraints---查询结果中只包含表和约束的对应关系,并没有约束对应的列信息
go select * from information_schema.key_column_usage---可以获取指定数据库中的所有键约束的列信息,包括主键约束中的主键列,唯一约束中的唯一键列和外键约束中的引用列
go select * from sys.key_constraints----获取约束信息 select * from sys.foreign_keys--获取表中的外键约束 select * from sys.foreign_key_columns--获取外键约束的列信息 select * from information_schema.referential_constraints--获取外键约束信息 select * from information_schema.check_constraints--获取检查约束信息
3.时间查询:
获取本周一日期
SELECT @temppath= REPLACE(CONVERT(VARCHAR, DATEADD(WK,DATEDIFF(wk,0,getdate()),0),23),'-','') 获取上周一日期
SELECT @lastWeekMonday= REPLACE(CONVERT(VARCHAR, DATEADD(day,-(DATEPART(weekday,GETDATE())+5),GETDATE()),23),'-','')
4.字符截取:
--获取该字符从后往前第一次出现的位置
SELECT CHARINDEX(':',reverse('qweassa:aas:sqwe'))
--截取该字符最后一次出现的位置到最后
SELECT right('qweassa:aas:sqwe',CHARINDEX(':',reverse('qweassa:aas:sqwe'))-1)
5.数据文件查询及还原:
-------获取备份文件的原始数据路径和,原始日志路径
restore filelistonly from disk = 'D:\kk\test\411300_cw.bak'
-------获取备份文件的原始数据库名,数据库版本
restore headeronly from disk='D:\kk\test\411300_cw.bak' -------还原
RESTORE DATABASE AbpFirst FROM DISK='D:\kk\411300_cw.bak'
WITH
MOVE '411300_cw' TO 'D:\kk\ku\411300_cw.mdf',
MOVE '411300_cw_log' TO 'D:\kk\ku\411300_cw_log.ldf'
6.压缩备份
-----------------------压缩备份命令
with STATS = 1,compression
-----------------------
DECLARE @date VARCHAR(200)
DECLARE @fileName VARCHAR(200)
SELECT @date = REPLACE(REPLACE(CONVERT(VARCHAR(200),GETDATE(),20),' ','-'),':','-')
SET @fileName = 'G:\DatabaseBackup\CC_DATABAE_'+@date+'.bak'
BACKUP DATABASE [CC_DATABAE] TO DISK = @fileName with STATS = 1,compression
SqlServer:SqlServer(xpath,字段约束,时间查询,数据文件查询及还原,压缩备份)的更多相关文章
- PostgreSQL查询数据(连接查询和子查询)
原料 --用户表 create table "SysUser"( "UserId" serial, --用户Id,自增 "UserName" ...
- PostgreSQL查询数据(基本查询)
原料:数据表 create table "SysUser"( "UserId" serial, --用户Id,自增 "UserName" ) ...
- Linq:从List列表中查询数据(Where查询)
获取List<Customer> customerList的函数见:http://www.cnblogs.com/yf2011/p/3369927.html 输出List中Berlin城市 ...
- Elasticsearch教程(九) elasticsearch 查询数据 | 分页查询
Elasticsearch 的查询很灵活,并且有Filter,有分组功能,还有ScriptFilter等等,所以很强大.下面上代码: 一个简单的查询,返回一个List<对象> .. ...
- [Oracle]如果误删了某个数据文件,又没有被备份,能否恢复?
如果你有从这个数据文件创建之前,直到现在的,所有的ArchiveLog 和 Online REDO,是有可能进行恢复的. 执行: RMAN> restore datafile <filei ...
- SQLSERVER操作字段约束,修改字段名称等
-- 表加注释EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'注释内容' , @level0type=N'SCHEM ...
- oracle系列笔记(1)---查询数据
查询数据 1. 查询(select .. form ..) (1)普通查询 select * from employees --代表查询employees表中所有数据 select last_n ...
- Thinkjs关系数据库学习——查询数据
模型提供了多种方法来查询数据: find 查询单条数据 select 查询多条数据 count 查询总条数 countSelect 分页查询数据 max 查询字段的最大值 avg 查询字段的平均值 m ...
- MySql——创建数据表,查询数据,排序查询数据
参考资料:<Mysql必知必会> 创建数据表 在学习前首先创建数据表和插入数据.如何安装mysql可以看看上个博客https://www.cnblogs.com/lbhym/p/11675 ...
随机推荐
- 二维数组转化为json数组
二维数组转化为json数组 -1 var colName = [ ["08020092", "AVX", "1200m", "12 ...
- MySQL数据库MyISAM存储引擎转为Innodb
MySQL数据库MyISAM存储引擎转为Innodb 之前公司的数据库存储引擎全部为MyISAM,数据量和访问量都不是很大,所以一直都没什么问题.但是最近出现了MySQL数据表经常被锁的情况,直接导 ...
- 阅读之web应用安全
一.三种坏人与servlet安全 认证可以防止“假冒者”攻击,授权可以防止“非法升级者”攻击,机密性和数据完整性可以防止“窃听者”攻击. 二.认证与授权 Web容器进行认证与授权的过程: 客户端:浏览 ...
- Python 判断文件是否存在,不存在则将名称写入指定文件
import os filename = '15464657761111111.pdf' pathDir = 'F:/tqcs/sr' # 判断文件是否存在 if os.path.exists(pat ...
- 题解 比赛 match
比赛 match Description 有 N 支队伍打比赛.已知有如下条件: • 每支队伍恰好打了 4 场比赛 • 对于一场比赛,如果是平局,双方各得 1 分:否则胜者得 3 分,负者不得分 给定 ...
- screen的安装使用
安装 yum install -y screen [root@instance-- ~]# screen --help Use: screen [-opts] [cmd [args]] or: scr ...
- react-helloword
1.在webpack项目中使用react 创建webpack项目步骤见: 创建基本的webpack4.x项目 webpack-dev-server 和 html-webpack-plugin的 ...
- Ubuntu:系统信息查询
造冰箱的大熊猫@cnblog 2018/3/14 1.查询系统信息(uname) uname命令返回与系统相关的信息,如下所示. $ uname -a Linux IBM-T60 4.13.0-36- ...
- 马尾图案之canvas的translate、scale、rotate的方法详解
1.translate(x,y):平移 将画布的坐标原点向左右方向移动x,向上下方向移动y.canvas的默认位置是在(0,0). 例子:画布原点假如落在(1,1),那么translate(10,1 ...
- Windows上redis下载与安装
一.redis是什么 非关系型内存数据库,以key-value的形式将数据储存在内存中.Mysql是关系型数据库,数据是保存在硬盘中 二.redis下载安装 1.要安装Redis,首先要获取安装包. ...