博文

SQL中代替Like语句的另一种写法(2005-12-18 13:36:00)

摘要:比如查找用户名包含有"c"的所有用户, 可以用

use mydatabase
select * from table1 where username like'%c%"


下面是完成上面功能的另一种写法:
use mydatabase
select * from table1 where charindex('c',username)>0
这种方法理论上比上一种方法多了一个判断语句,即>0, 但这个判断过程是最快的, 我想信80%以上的运算都是花在查找字
符串及其它的运算上, 所以运用charindex函数也没什么大不了. 用这种方法也有好处, 那就是对%,|等在不能直接用like
查找到的字符中可以直接在这charindex中运用, 如下:
use mydatabase
select * from table1 where charindex('%',username)>0
也可以写成:
use mydatabase
select * from table1 where charindex(char(37),username)>0
ASCII的字符即为% 
......

阅读全文(14021) | 评论:0

SQL Server 连接基础知识(2005-12-18 13:35:00)

摘要:型数据库设计原则   
作者:思索 整理:南海
  一个好的数据库产品不等于就有一个好的应用系统,如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。一般来讲,在一个MIS系统分析、设计、测试和试运行阶段,因为数据量较小,设计人员和测试人员往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程。笔者依据多年来设计和使用数据库的经验,提出以下一些设计准则,供同仁们参考。


命名的规范  

  

  不同的数据库产品对对象的命名有不同的要求,因此,数据库中的各种对象的命名、后台程序的代码编写应采用大小写敏感的形式,各种对象命名长度不要超过30个字符,这样便于应用系统适应不同的数据库。


游标(Cursor)的慎用   

  

  游标提供了对特定集合中逐行扫描的手段,一般使用游标逐行遍历数据,根据取出的数据不同条件进行不同的操作。尤其对多表和大表定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等特甚至死机,笔者在某市《住房公积金管理系统》进行日终帐户滚积数计息处理时,对一个10万个帐户的游标处理导致程序进入了一个无限期的等特(后经测算需48个小时才能完成)(硬件环境:Alpha/4000 128Mram ,Sco Unix,Sybase 11.0),后根据不同的条件改成用不同的UPDATE语句得以在二十分钟之内完成。


示例如下:   

  

Declare Mycursor cursor for select count_no from COUNT


Open Mycursor

Fetch Mycursor into @vcount_no

While (@@sqlstatus=0)

  Begin

       If @vcount_no=’’ 条件1

          操作1 <......

阅读全文(14735) | 评论:0

精通数据库系列之入门-基础篇(2005-12-18 13:33:00)

摘要:什么是数据库系统?

  是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言,实用程序以及数据库管理系统。数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这些数据为多个应用服务,独立于具体的应用程序。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据库管理系统是一种系统软件,它的主要功能是维护数据库并有效地访问数据库中任意部分数据。对数据库的维护包括保持数据的完整性、一致性和安全性。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任。

  数据库系统的个体含义是指一个具体的数据库管理系统软件和用它建立起来的数据库;它的学科含义是指研究、开发、建立、维护和应用数据库系统所涉及的理论、方法、技术所构成的学科。在这一含义下,数据库系统是软件研究领域的一个重要分支,常称为数据库领域。

  数据库研究跨越于计算机应用、系统软件和理论三个领域,其中应用促进新系统的研制开发,新系统带来新的理论研究,而理论研究又对前两个领域起着指导作用。数据库系统的出现是计算机应用的一个里程碑,它使得计算机应用从以科学计算为主转向以数据处理为主,并从而使计算机得以在各行各业乃至家庭普遍使用。在它之前的文件系统虽然也能处理持久数据,但是文件系统不提供对任意部分数据的快速访问,而这对数据量不断增大的应用来说是至关重要的。为了实现对任意部分数据的快速访问,就要研究许多优化技术。这些优化技术往往很复杂,是普通用户难以实现的,所以就由系统软件(数据库管理系统)来完成,而提供给用户的是简单易用的数据库语言。由于对数据库的操作都由数据库管理系统完成,所以数据库就可以独立于具体的应用程序而存在,从而数据库又可以为多个用户所共享。因此,数据的独立性和共享性是数据库系统的重要特征。数据共享节省了大量人力物力,为数据库系统的广泛应用奠定了基础。数据库系统的出现使得普通用户能够方便地将日常数据存入计算机并在需要的时候快速访问它们,从而使的计算机走出科研机构进入各行各业、进入家庭。
数据库系统的产生和发展

  众......

阅读全文(14987) | 评论:0

常见数据库系统之比较 - 数据库的发展和现状(2005-12-18 13:23:00)

摘要:         纵观当今的商用数据库市场,称之为群雄割据毫不为过。自20世纪70年代关系模型提出后,由于其突出的优点,迅速被商用数据库系统所采用。据统计,70年代以来新发展的DBMS系统中,近百分之九十是采用关系数据模型,其中涌现出了许多性能优良的商品化关系数据库管理系统。例如,小型数据库系统Foxpro, ACCESS, PARADOX等,大型数据库系统DB2, INGRES, ORACLE, INFORMIX, SYBASE, SQL SERVER等。80年代和90年代是RDBMS产品发展和竞争的时代。各种产品经历了从集中到分布,从单机环境到网络环境,从支持信息管理到联机事务处理(OLTP),再到联机分析处理(OLAP)的发展过程;对关系模型的支持也逐步完善;系统的功能不断增强。

  这些关系数据库产品是怎么发展起来的呢?让我们慢慢道来……

1、 对关系模型的支持

  第一阶段(70年代)的RDBMS仅支持关系数据结构和基本的关系操作(选择、投影、连接)。例如:DBASE之流。

  第二阶段(80年代),对关系操作的支持已经比较完善,但是对数据完整性的支持仍然较差。此时,SQL语言已经成为关系数据库的标准,各家对SQL标准的支持还都是不存的(几乎全不是超水平发挥)。

  第三阶段(90年代)的产品,加强了数据完成性和安全性的性能。完整性的控制在核心层实现,克服了在工具曾的完整性可能存在“旁路”的弊病。

2、 运行环境

  第一阶段在大型、中性、小型机上运行的RDBMS一般为多用户系统,用户通过终端并发地存取、共享数据资源。微机上的一般为单用户版本。

  第二阶段的产品向两个方发展。一个是提高可移植性,使之能在多种硬件平台和操作系统下工作。另一个方向是数据库联网,向分布是系统发展,支持多种网络协议。

  第三阶段的产品追求开放性,满足可移植性、可连接性、可伸缩性。

3、 系统构成

  早期的产品主要提供数据定义、数据存取、数据控制等基本的操作和数据存储组织、并发控制、安全性完整性检查、系统恢复、数据库的重新组织和重新构造等基本功能。......

阅读全文(3304) | 评论:0

2005最最新搞笑短信!(多条(2005-12-18 13:07:00)

摘要:一个消化不良的病人向医生抱怨:我近来很不正常,吃什么拉什么,吃黄瓜拉黄瓜,吃西瓜拉西瓜,怎样才能恢复正常呢?医生沉默片刻,那你只能吃屎了。 

  一位张先生离开了公司人事部,有一天去酒吧,调酒师说:张先生,听说您最近不干人事啦?!张先生听了大慌,调酒师忙改口,听说您不在人事啦?! 

  一青蛙游泳误入女阴  .部,数日后青蛙自杀留遗书:此洞不得了!天天大棒捣,顿顿喝米汤,忽多又忽少,想要往外跑,盖着护舒宝,与其这样活,不如死了好。 

  这可能是我最后一次给你发短信,我在犹豫告不告诉你,我要走了去北京,我也没办法,真的!老胡说他不干了让我当总书记 

    一貎美小姐做流产,医生故意弄的很痛,小姐大叫:疼!受不了!医生:受不了也得受,谁叫你好受的时候不来找我。 

  拉面店柜台前,一位漂亮女孩正排队等候。到她时,拉面师傅问:你要粗的还是细的?女孩答:你位什么我就吃什么。 

  
  夜空一颗流星划过,我连忙许了心愿,希望你能变漂亮些,谁知刚许完心愿,流星“嗖”地返回来,对我说:大哥!诚心为难我是不是?! 转自铁血 

  一次意外男孩把血捐给了他的女友,分手后男孩要求还他的血,女孩狠狠的把卫生巾丢在男孩脸上:“给!我会每月分期付款还你!”
    某三陪女让sewowo抓住,陈述三条理由,我一不偷二不抢怀中抱着XX,我不集资不贷款,我自带设备求发展,我不sewowo不上访我一张小床不下岗! 

  两男子与一小姐在山洞嫖宿后大睡,一黑熊半夜进洞又将小姐奸淫,早晨两男子问要多少钱,小姐道:你俩就算了,穿裘皮大衣那王八蛋最少五百,太狠了! 

  通知:晚十点有地震,地点在你家床上,震中脐下六寸,震级床摇屁股颤,预计持续二十分钟,伴有轻微呻吟声响,震后有岩浆喷出,偶有余震! 

  我想你啊!我想你!白天想来晚上想!坐在厕所还在想!想念你啊!想念你!就是想不起来你是谁!……回电告诉我好吗? 

  一只狗去山里创业,农夫给了它一把镰刀,木匠给它一把锤子,狗来到山里遇到老虎,吓的把......

阅读全文(3562) | 评论:0

对越还击战回忆录——亲历战争的灰砾2(2005-12-18 00:00:00)

摘要:天,还没有一丝发白的迹象。我们前面这一片黑乎乎的地带上,斗杀、伤残、死亡还在继续。 
“29号目标,全连10发急速射装填!”我又一次下达了射击口令。各炮装定射击诸元,装定引信,传递、装填炮弹——“放!”又一轮射击开始。我们看见,我们射出的炮弹在29号高地上闪闪发光。各炮刚打了几发炮弹,前方口令改为“15发急速射”;我想前方一定是遇到了强劲的敌人,并确信我们的火炮是第一次向敌人的肉体射击。各炮打了十二三发炮弹的时候,前方突然叫了“停止射击”。两次突如其来的口令变故促使我必须问个明白。我打电话问连长射击效果怎样,连长回答说“不好”。虽然心中有些忐忑,但我还是相信自己的指挥和技术。原来,是前方的步兵营长出了问题。他命令四连占领29号高地。29号高地也没有敌人把守,四连悄无声息的就摸了上去。过了不久,营长却忘了四连在29号高地上,又命令五连去占领。五连向上偷袭的时候,四连以为是抄后路的敌人攻上来,就打。五连向营长报告,29号高地遇到了敌人阻击,请求炮火支援。随即我们接到射击口令。在我们进行射击准备的时候,五连等不及了,由副连长担任队长的突击队便先行发起了强攻。突击队刚和四连接上火,我们的火炮射击也开始了。突击队连滚带爬退了下来,确让四连重机枪打伤七人。占据着29号高地的四连发现炮火从己方打过来,立即报告了营长。营长这才恍然大悟,命令我们立即停止了射击。 

一线部队过河以后,舟桥部队开始在红河上架设浮桥。敌人的炮兵、零星分队和单兵不断进行骚扰射击。一个舟桥部队的班长正拼命地指挥架桥,一个战士发现班长身上有血迹,喊了一声:“班长,你负伤了。”班长往腋下一摸,发现满手是血,当即昏了过去。0 
西线,B师YYE团YYR团一处攻击地段上,越南设置了紧贴红河水面的暗堡射孔。我突击部队乘竹筏强渡红河受阻,多次攻击都没达到目的,伤亡很大,至天亮已有一名副团长牺牲。战斗非常惨烈。至上午九点钟左右,才有一个小分队从侧翼突破红河。 

东线,A师攻击地段上。越军以230高地为支撑点,严重地阻滞了我军进攻。攻击230高地的是一个有着光荣传统的“红军团”的连队。攻击前,团长将一把该团抗日战争时期缴获日本军官的战刀交给连长刘志刚说:“你一定要带着我们团的光荣传统冲上230高地!”= 
步兵连发起第一次攻击,越......

阅读全文(4932) | 评论:0

对越还击战回忆录——亲历战争的灰砾(2005-12-17 23:54:00)

摘要:作者 四连山 
这是一个人的身体实践、一个人的眼睛看见、一个人的耳朵听见的战争,没有任何文字资料的参阅和转载,所以,只能是战争的灰砾。实践的、看见的无可质疑,就是听到的,也绝对真实。因为,那会儿人们不会卖弄、只会诉说,反倒有可能丢了最生动最精彩的章节和故事。因为真实,事件可能有次序上的颠倒,但不会有逻辑上的错误。如果有,只能是文笔上的误会。 
1、接令惊魂  

刚刚完成我们团152加农榴弹炮、122加农炮间接瞄准打坦克拖靶的保障任务,西昌的天气已是天空烈日无暖意,夜风袭来周身寒的感觉。1978年即将过去。全连的官兵可以稍稍松一口气,驻扎在冕宁县复兴公社粮站的仓库里,等候着返回营房的命令。 

自从十一月中旬来到西昌,在这大凉山地区方圆百公里的范围内进行技术训练、战术演习、实弹射击等折腾了一个月,战士们真想早点回营,过元旦、春节两个一年中最轻松的月份。 

不知道为什么,全团大部队已经全部返回营房,把我们连孤伶伶留在这曾经弥漫着硝烟的炮兵靶场。营房离西昌近千公里,需铁路运输返回。战士们看着南来北往的火车,不知道何时才能轮到我们连队踏上征程,听说铁路运输紧张,也只有等了。连队也显得休闲起来。 

吃过午饭,我和两个战士到两华里外的复兴赶场闲逛了一小时,在返回的路上,碰到了刚从连队出来、与我同年入伍的汽车驾驶员。他煞是认真地对我说:“副连长,还不快回去,该打仗了!”因为我俩同年入伍,说话比较随便,所以,我以为这是一句玩笑,便回道:“别瞎说了。”几乎在回话的同时,我突然意识到铁路紧张的原因,便加快了步伐。 

近一段时间,虽然收音机里经常有中国与越南边界地区摩擦和越南驱赶我国华侨的报道,但是,谁也没有想到会有两国之战;更没有想到这场战争正向我和我的战友们袭来。@ 
回到粮站,连长的神情已经和平时不一样了。满院子出出进进的战士们也没那么轻松自在了,许多战士眼睛直勾勾地盯着干部们的表情和行为。 

“副连长,四点钟召开支委会。”连长用凝重的眼神看着我说。“是。”我轻声而坚定地回答。 

傍晚,临时借用了粮站仓库保管员的办公室,支委会开始了。连长传达团长命令:执行H主席......

阅读全文(3908) | 评论:0

从几次大屠杀看汉族人之没有血性(纪念68周年)(2005-12-17 22:48:00)

摘要:从几次大屠杀看汉族人之没有血性(纪念68周年)

作者:天际沙鸥 
一 
最近看明朝人王秀楚写的《扬州十日记》,郁闷得很。 
作者是明朝末年的一个读书人。他以自己的亲身经历与所见所闻,真实细致地描写记录了清军在1645年4月攻陷扬州后,血腥屠城的情况。清军纵兵屠戮,不分男女老幼,烧杀抢掠,“十日不封刀”。劫后之状,惨不忍睹:“满地皆婴儿,或衬马蹄,或籍人足,肝脑涂地,泣声盈野。行过一沟一池,堆尸贮积,手足相枕,血入水碧赭,化为五色,塘为之平。”“初四日,天始霁。道路积尸既经积雨暴涨,而青皮如蒙鼓,血肉内溃。秽臭逼人,复经日炙,其气愈甚。前后左右,处处焚灼。室中氤氲,结成如雾,腥闻百里。”后寺院僧人焚化积尸,“查焚尸薄载其数,前后约计八十万余,其落井投河,闭户自焚,及深入自缢者不与焉。” 
清兵自是惨无人道,不必多说。令人感到纳罕的是汉人竟然是那样温顺缺钙,没有血性。城破,守城明军争相逃命,自相践踏。宁可从城墙上摔下跌死,也不敢做抵抗。“惶惶觅隙潜匿”。百姓亦然。路边,一清兵横刀一呼:“蛮子来,蛮子来!”汉人青壮男子五、六十人魂魄皆飞,无一人不至前者。然后,乖乖地跟着上刑场。“跪!”,随着一声喝令,众人齐刷刷倒地,引颈就戮。闻城破,“则邻人相约共迎王师,设案焚香,示不敢抗”,作者“虽知事不济,然不能拂众议,姑应曰唯唯。”被搜查出来的人要么下跪乞命,要么献金讨饶,全无一点气节。包括作者在内,亦如此。 
查一下历史资料,满清兴起时,人口不过百万,军队不过十数万。明朝人口数千万,军队上百万。然而,就是这十万清兵入主中原,如入无人之境!“扬州十日”、“嘉定三屠”、血洗江南、岭南。屠江阴,屠昆山,屠常熟,屠海宁,屠广州,屠赣州等等。转战烧杀三十七载,方才初步平定中国。短短三十多年间,使中国人口从明天启三年(1623年)的5165万锐减至顺治十七年(1660年)的1908万,杀死汉人3200万,人口减少近三分之二! 
噫!我真有点闹不明白了。莫非清军是天兵天将?刀枪不入,以一当十,当百? 
二 
历史发展到近现代,这种情况依然如故。 
20世纪日军侵华。1937年12月日军攻陷南京,随后发生了震惊世界的“南京大屠杀”,&nbs......

阅读全文(2425) | 评论:1

中国人自己的警世危言:不把科研放在首位,中国未来命比纸薄!!!(2005-12-17 08:21:00)

摘要:中国人自己的警世危言:不把科研放在首位,中国未来命比纸薄!!!



    这几天网上刊登了一则好消息,中国即将挤身于四大经济强国之列。并称2041年中国将可超过美国,成为世界第一。

    如果搞好科研,搞好创造发明,  中国在10至15年的时间里就完全可以超过美国,何须等到2041年?相反,中国还象现在一样实质上漠视创造发明,十年后中国就会发现再过一百年也休想超过美国,甚至面对日本军国主义的复活,中国未来命比纸薄。这是我——一个中国庶民的警告!

    在各级政府的眼里,只有三个英文字母“GDP”。在他们的意识里,就是将所有精力用在如何招商引资,如何扩大生产的规模——因为这样可以生产出更多的GDP,这就是他们政绩所在。

    现实情况是,人类的经济形态早已发生变化。不是象十七世纪、十八世纪、十九世纪以及二十世纪工业时代那样,一个国家只要建立一些工厂,就可生产出大量的财富。现在不再是工业生产的时代,现在及未来是创造的时代。我在《财富创造论》里早已指出财富的公式是I-F-W-G,而不是G-W-G`。我们中国花最大精力去办工厂,如果不发明拥有世界先进的产品技术,我们根本就不能开机进行生产,因为生产出来的东西因为落后根本就不会有多少人要。现代需求的品质是不断变化、不断提高的,需要不断创造发明出更新、更先进的东西才能满足需要。通俗地说,也就是需要研发出比竞争对手更先进的产品,才能满足市场的需求,才能获得订单,才能获得生存。这种趋势在进入二十一世纪后的这短短五年时间里我们已深深地感受到他来得是如此迅猛。

    我们的现状是,政府实质上漠视科研,企业实际上不搞科研。我国科研经费占国内生产总值(GDP)仅仅为1.36%,而许多发达国家都超过了3%。我们的许多生产线、许多生产的产品专利是靠引进外资、或者花高成本直接引进国外二流技术而来。我们发展了五十六年,现在科技排名竟然居世界第28位,全球竞争力排名居世界第49位。目前,中国高新技术产品出口企业主要是三资企业和外商独资企业,如2......

阅读全文(5656) | 评论:0

Sql连接查询(2005-12-17 07:59:00)

摘要: Sql连接查询 点击数:74    发布日期:2005-12-3 12:07:00   【评论】【打印】【  
  Sql连接查询


连接查询

通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。

在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,尔后通过连接进行查询。

连接可以在SELECT 语句的FROM子句或WHERE子句中建立,似是而非在FROM子句中指出连接时有助于将连接操作与WHERE子句中的搜索条件区分开来。所以,在Transact-SQL中推荐使用这种方法。

SQL-92标准所定义的FROM子句的连接语法格式为:

FROM join_table join_type join_table

[ON (join_condition)]

其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接又称做自连接。

join_type 指出连接类型,可分为三种:内连接、外连接和交叉连接。内连接(INNER JOIN)使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。根据所使用的比较方式不同,内连接又分为等值连接、自然连接和不等连接三种。

外连接分为左外连接(LEFT OUTER JOIN或LEFT JOIN)、右外连接(RIGHT OUTER JOIN或RIGHT JOIN)和全外连接(FULL OUTER JOIN或FULL JOIN)三种。与内连接不同的是,外连接不只列出与连接条件相匹配的行,而是列出左表(左外连接时)、右表(右外连接时)或两个表(全外连接时)中所有符合搜索条件的数据行。

交......

阅读全文(3660) | 评论:3