-
SQLServer高级内容之子查询和表链接概述及使用
1.子查询概念(1)就是在查询的where子句中的判断依据是另一个查询的结果,如此就构成了一个外部的查询和一个内部的查询,这个内部的查询就是自查询。(2)自查询的分类1)独立子查询->独立单值(标量)子查询(=)复制代码代码如下:SelecttestID,stuID,testBase,testBeyond,testProfromScorewherestuID=(selectstuIDfromStudentwherestuName='Kencery')->独立多值子查询(in)复制代码代码如下:SelecttestID,stuID,testBase,testBeyond,testProfromScorewherestuIDin(selectstuIDfromStudentwherestuName='Kencery')2)相关子查询(3)写子查询的注意事项1)子查询用一个圆括号阔气,有必要的时候需要为表取别名,使用“as名字”即可...
数据库操作教程 2022-09-23 17:04:40 -
SQL的Join使用图解教程
对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚...
数据库操作教程 2022-09-23 17:04:18 -
SQLServer误区30日谈第27天使用BACKUPWITHCHECKSUM可以替代DBCCCheckDB
误区#27:使用BACKUP...WITHCHECKSUM可以替代DBCCCheckDB错误 乍一看,由于BACKUPWITHCHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实际上并不是这么回事,原因如下: 由SQLServer2000或是更早版本升上来的数据库pagechecksums必须开启,在开启后,并不是数据库中所有的页都会被叫上页校验和,当页损坏发生时,IO系统可不会区分损坏的页是有页校验和还是没有校验和的。所以使用BACKUP...WITHCHECKSUM就有可能导致一些损坏页不被发现,造成的后果…… 除此之外,还有一个问题是完整备份的时间间隔相对比较长,假如说一个月,而相对于DBCCCheckDB的最佳实践是一个礼拜,这导致WITHCHECKSUM不能替代CHECKDB...
数据库操作教程 2022-09-23 17:03:22 -
SQLJoin的一些总结(实例)
1.1.1摘要Join是关系型数据库系统的重要操作之一,SQLServer中包含的常用Join:内联接、外联接和交叉联接等。如果我们想在两个或以上的表获取其中从一个表中的行与另一个表中的行匹配的数据,这时我们应该考虑使用Join,因为Join具体联接表或函数进行查询的特性本文将通过具体例子介绍SQL中的各种常用Join的特性和使用场合:1.1.2正文首先我们在tempdb中分别定义三个表College、Student和Apply,具体SQL代码如下:复制代码代码如下:USEtempdb----Ifdatabaseexiststhesamenamedatatabledeletesit.IFEXISTS(SELECTTABLE_NAMEFROMINFORMATION_SCHEMA.TABLESWHERETABLE_NAME='College')DROPTABLECollege;IFEXISTS(SELECTTABLE_NAMEFROMINFORMATION_SCHEMA.TABLESWHERETABLE_NAME='Student')DROPTABLEStudent;IFEXISTS(SE...
数据库操作教程 2022-09-23 17:02:20 -
SQLTranscation的一些总结分享
1.1.1摘要相信大家对于SQLTranscation再熟悉不过,它确保了数据库的数据一致性和安全性,尤其在对数据执行增删时,如果发生异常和错误它就会触发事务回滚,从而确保了我们数据的一致性和安全性,下面我们将通过分四部分介绍事件(Transcation)。1.1.2正文首先让我们通过一个具体的例子介绍Transcation的使用,假如我们的数据库中有一个表UserInfo,它包含三个字段分别为:UserID(自增)、UserName(nvarchar)和LuckyNumber(tinyint),如下图所示:图1UserInfo表UserInfo表的sql代码如下:复制代码代码如下:--ThedefinitionofUserInfo.SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[UserInfo]([UserID][int]IDENTITY(1,1)NOTNULL,[UserName][nvarchar](50)NOTNULL,[LuckyNumber][tinyint]NOTNULL)ON[PRIMARY]接着我...
数据库操作教程 2022-09-23 17:02:11 -
数据库的一些常用知识
DROPVIEW --从数据库中删除视图CREATEINDEX --为数据库表创建一个索引DROPINDEX --从数据库中删除索引CREATEPROCEDURE --创建一个存储过程DROPPROCEDURE --从数据库中删除存储过程CREATETRIGGER --创建一个触发器DROPTRIGGER --从数据库中删除触发器CREATESCHEMA --向数据库添加一个新模式DROPSCHEMA --从数据库中删除一个模式CREATEDOMAIN --创建一个数据值域ALTERDOMAIN --改变域定义DROPDOMAIN --从数据库中删除一个域--数据控制GRANT --授予用户访问权限DENY --拒绝用户访问REVOKE --解除用户访问权限--事务控制COMMIT --结束当前事务ROLLBACK --中止当前事务SETTRANSACTION --定义当前事务数据访问特征--程序化SQLDECLARE --为查询设定游标EXPLAN --为查询描述数据访问计划OPEN --检索查询结果打开一个游标FETCH -...
数据库操作教程 2022-09-23 17:00:14 -
sqlserver中一些常看的指标和清除缓存的方法
如何查看磁盘I/O操作信息SETSTATISTICSIOON命令是一个使SQLServer显示有关由Transact-SQL语句生成的磁盘活动量的信息。我们在分析索引性能的时候,会非常有用...
数据库操作教程 2022-09-23 16:58:42 -
SQLServer使用Merge语句当源表数据集为空时,无法进行查询的问题
面举一个例子来具体说明一下:有两个表SourceTable为登陆表,TargetTable为授权表,如果访问用户在登陆表中,更新授权表的授权级别,否则授权0表示游客。sql语句如下:--SourceTable为登陆表,TargetTable为授权表--如果访问用户在登陆表中,更新授权表的授权级别,否则授权0表示游客...
数据库操作教程 2022-09-23 16:57:56 -
LinqtoSQL插入数据时的一个问题
复制代码代码如下:createtableRSSFeedRight(FeedIdintForeignKey(FeedId)ReferencesRSSFeed(FeedId)NOTNULL,--FeedId,UserIdintForeignKey(UserId)ReferencesUserInfo(UserId)NOTNULL,--UserId,RightValuebigintNOTNULLPrimarykey(UserId,FeedId),)插入数据的代码RSSFeedRightfeedRight=newRSSFeedRight();feedRight.UserId=userId;feedRight.FeedId=feedId;feedRight.RightValue=0;_Db.RSSFeedRights.InsertOnSubmit(feedRight);_Db.SubmitChanges();每次插入时都提示说FeedId不能插入空值,郁闷的不行,分明是给了非空值的!后来仔细检查,发现这个RSSFeedRight实体类中居然还有两个指向UserInfo和RSSFeed表的字段,后来...
数据库操作教程 2022-09-23 16:57:00 -
SQLServer2000中的触发器使用
下面我摘录了SQLServer官方教程中的一段关于触发器的文字,确实有用的一点文字描述。 可以定义一个无论何时用INSERT语句向表中插入数据时都会执行的触发器...
数据库操作教程 2022-09-23 16:56:58 -
SqlServer触发器的使用
SqlServer为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表由系统来维护,它们存在于内存中而不是数据库中...
数据库操作教程 2022-09-23 16:56:42 -
SQL查询分析中使用net命令问题
在DOS命令下(或Bat文件)执行:netuse192.168.100.1ipc$ks-c-001-11/user:administratorCOPY192.168.100.1xmXMSALE_DBC.*c:temp/yCOPY192.168.100.1xmXMsale07.*c:temp/yCOPY192.168.100.1xmXMsale10.*c:temp/yCOPY192.168.100.1xmXMsale11.*c:temp/ynetuse192.168.100.1ipc$/del查询分析中下执行:1.使用xp_cmdshell,最好在命令前加上"master.dbo.",因为存储过程“xp_cmdshell”属于master数据库。2.在设置连接IPC时,"user:"和"用户名"之间还要加上连接的IP或电脑名称.一、使用IP地址连接--1.设置连接EXECmaster.dbo.xp_cmdshell'netuse192.168.100.1ipc$ks-c-001-11/user:192.168.100.1administrator'--2.执行dos命令EXECmaste...
数据库操作教程 2022-09-23 16:56:42