-
SQLSERVER的排序问题结果不是想要的
在论坛里经常有人问这样的问题:同一个查询的结果集为什麽有时候是按他想要的顺序排列,有时候又不是,或者是在SQL2000里是这个顺序,到了SQL2005/2008又是那个顺序?其实,只要语句里没有指定“orderby”,SQLSERVER并不会按照顺序返回的。有可能你的表里有一个字段已经建立了索引你想结果集按照那个建立了索引的字段排序,那么你不指定“orderby”是没有问题的,因为表的存储顺序就是按照那个字段的顺序排好序了,所以可以不指定“orderby”,但是如果你没有在想排序的那个字段建立索引,或者在SQL2000里建立了索引,而在SQL2005/2008里没有建立索引,那么就要明确地用“orderby”指定...
数据库操作教程 2022-09-23 17:07: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 -
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 -
SQLServer高性能写入的一些经验总结
1.1.1摘要在开发过程中,我们不时会遇到系统性能瓶颈问题,而引起这一问题原因可以很多,有可能是代码不够高效、有可能是硬件或网络问题,也有可能是数据库设计的问题。本篇博文将针对一些常用的数据库性能调休方法进行介绍,而且,为了编写高效的SQL代码,我们需要掌握一些基本代码优化的技巧,所以,我们将从一些基本优化技巧进行介绍...
数据库操作教程 2022-09-23 16:56:25 -
SQL数据库的高级sql注入的一些知识
[概要]这篇文章讨论常用的"sql注入"技术的细节,应用于流行的MsIIS/ASP/SQL-Server平台。这里探讨有关这种攻击各种可以注入程序访问数据和数据库防范的方法...
数据库操作教程 2022-09-23 16:53:28 -
SQLServer2012在开发中的一些新特性
一、增加了Sequence对象。这个对于Oracle用户来说是最熟悉不过的数据库对象了,现在在SQLServer中终于也看到了类似的对象,只是在使用的语法上有一点点不一样...
数据库操作教程 2022-09-23 16:47:30 -
sqlserver的一个有趣的bit位运算分享
sqlserver中没有bool类型,而是用bit类型来表示bool值,估计是为了节省存储空间。可是要想实现取反操作似乎就麻烦写了,比如类似下面这样的语句是不行的:updatecategorysetvisible=notvisiblewhereid=1,因为visible是bit类型,而不是bool类型...
数据库操作教程 2022-09-23 16:46:58 -
新手SqlServer数据库dba需要注意的一些小细节
前言:任何的优化和修改都是以业务情况为前提,可能有的写的有误或者不准确的地方,欢迎各位来拍砖。1.在创建db的时候自增长建议设置成按MB(M)增长,步长根据业务量来设置,一般情况建议设置100-200M(见图片),还有就是尽量别改初始大小,这个默认就好...
数据库操作教程 2022-09-23 16:45:23 -
SqlServer的一些知识点定义总结
数据库完整性:是指数据库中数据在逻辑上的一致性、正确性、有效性和相容性 实体完整性(EntityIntegrity行完整性):实体完整性指表中行的完整性。主要用于保证操作的数据(记录)非空、唯一且不重复...
数据库操作教程 2022-09-23 16:42:46 -
数据库Leftjoin,RightJoin,InnerJoin的相关内容,非常实用
一.先看一些最简单的例子例子TableAaid adate1 a12 a23 a3TableBbidbdate1 b12 b24 b4两个表a,b相连接,要取出id相同的字段select*fromainnerjoinbona.aid=b.bid这是仅取出匹配的数据.此时的取出的是:1a1b12a2b2那么leftjoin指:select*fromaleftjoinbona.aid=b.bid首先取出a表中所有数据,然后再加上与a,b匹配的的数据此时的取出的是:1a1b12a2b23a3空字符同样的也有rightjoin指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据此时的取出的是:1a1b12a2b24空字符b4LEFTJOIN或LEFTOUTERJOIN。左向外联接的结果集包括LEFTOUT...
数据库操作教程 2022-09-23 16:41:25