久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

人生哲理小品十篇精妙語句

時間:2019-05-15 09:18:27下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《人生哲理小品十篇精妙語句》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《人生哲理小品十篇精妙語句》。

第一篇:人生哲理小品十篇精妙語句

人生哲理小品十篇精妙語句 2010-04-13 23:45:40 閱讀13 評論0 字號:大中小.每個人的人生都不相同,而我相信,下面的這些內(nèi)容會對你的人生有所幫助,特別是對人生迷茫的同學。

1、站在煩惱里仰望幸福

幸福總圍繞在別人身邊,煩惱總糾纏在自己心里,這是大多數(shù)人對幸福和煩惱的理解。差學生以為考了高分就可以沒有煩惱,貧窮的人以為有了錢就可以得到幸福。結(jié)果是,有煩惱的依舊難銷煩惱,不幸福的仍然難得幸福。

煩惱,永遠是尋找幸福的人命中的劫數(shù)。

另一類人也像在登山,但他們并不刻意要登到哪里。一路上走走停停,看看流嵐,賞賞虹霓,吹吹清風,心靈在放松中,得到某種自足。

盡管不得大愉悅,然而,這些瑣碎而細微的小自在,縈繞于心扉,一樣芬芳身心,恬靜自我。

有的人本來幸福著,卻看起來很煩惱;有的人本來該煩惱,卻看起來很幸福。

活得糊涂的人,容易幸福;活得清醒的人,容易煩惱。這是因為,清醒的人看得太真切,一較真,生活中便煩惱遍地;而糊涂的人,計較得少,雖然活得簡單粗糙,卻因此覓得了人生的大滋味。

所以,人生的煩惱是自找的。不是煩惱離不開你,而是你撇不下它。

這個世界,為什么煩惱的都有。為權(quán),為錢,為名,為利,人人行色匆匆,背上背著這個沉重的布囊,裝得越多,牽累得也就越多。

幾乎所有的人都在追逐著人生的幸福。然而,就像卞之琳《斷章》詩所寫的那樣,我們常常看到的風景是:一個人總在仰望和羨慕著別人的幸福,一回頭,卻發(fā)現(xiàn),自己正被別人仰望和羨慕著。

其實,誰都是幸福的。只是,你的幸福,常常感受在別人心里。

2、時間的步子

我坐在老屋的大門口,看屋檐角滴下的雨點,仿佛看見了時間的身影。人生命的長短是用時間來衡量的,誰都希望長壽,但時間總是不答應(yīng),它依然按照自己的節(jié)拍行走,且從來不失卻公平。

年輕時,時間的步子要慢得多,尤其是童年,總是留下比較多的回憶。年歲越高,日子過得越快,才知道要節(jié)約。可是,卻挽不住時間匆匆的腳步。時間是高利貸者,如果你要時間預先支付,他日必會付出最昂貴的代價。簡單地說,人一宿不睡覺,并不是睡一宿就能還清的。

最好是不緊不慢。站在橋下,看江水奔流,一邊是現(xiàn)在,一邊是過去。只有橋是現(xiàn)在。逝者如斯夫!人不免要感到悲哀。可是話說回來,真要是有大把的閑暇,無所事事,又覺得無聊的侵襲。閑暇對忙碌者是沙漠的甘泉,對無聊者是折磨的負累。

人對新鮮的事物充滿好奇,因而印象深刻。對重復的東西,熟視無睹,不愿調(diào)動更多的精力予以關(guān)注。人們總認為時光在加速行進,不過是一種錯覺罷了。童年慢,老年快,童年做加法,老年做減法,對誰都是一樣。

和時間賽跑,只會受到時間的嘲笑。把時間當海綿用力擠壓,實際上是一種透支。信貸消費花明天的錢,過今天的日子,時間可不可以信貸呢?或者把現(xiàn)在切割得很細小,塞滿人生的悲歡離合?時間可以任你切割,但它的長度和節(jié)奏你無法更改。

你可以向別人借金錢,卻不可以借時間。如果你強行剝奪別人的時間,就等于謀財害命。謀財害命也不能增加自己的時間,這又何必呢?

不管世界上的事物有多么復雜,在時間的面前,他們都是運轉(zhuǎn)的鐘。太陽是鐘,日出日落分出白天黑夜。樹木是鐘,一枯一榮就是寒暑更替。人就是鐘,一生一世記錄不同時代的生活。人在旅途,含辛茹苦,時間會使我們了解事物,看事物很清楚嗎?

科學上的時間是慢不下來的,心理上的時間卻能夠調(diào)整。讓日子像童年那般新鮮!讓生命像樹木一樣生長!

3、生命的長度與密度

若按歲計算,人生也不過兩萬五千多天,可是我還是要計算

有一位朋友問我一個問題,并要求我不假思索地答出。他說:人的一生有沒有萬天?“

我說肯定有吧。我想,萬元錢一天就可掙回,一天也可花掉。人的一生豈能沒有萬天?可朋友說:”否“

于是細算,果然:人生七十古來稀,若按歲計算,人生也不過兩萬五千多天,連萬天都不到!難怪羅大佑的《凡人歌》唱道:”人生何其短,何必苦留戀。“

生命如此短促,我們每個人不過是一顆流星。算一算,出生在上世紀六十年代末的我,如果能戰(zhàn)勝七病八災有幸終老,死后墓志銘上最多寫上這么一段:1969-2050年。前面是古人,后面是來者,我與他們無緣謀面。

生命來之不易,而又魅力無窮。每個生命的孕育都經(jīng)過了與幾億個對手的競爭,每個都曾是他雙親懷里的至愛。忙碌的人生就像一輛快速奔跑的戰(zhàn)車,疾病、痛苦、嫉妒、詛咒都是兩旁嗖嗖作響的子彈。可我們不能停止,還要頑強地活下來,最終站到勝利的山巔與尊嚴握手。

這本身就是一部可歌可泣的英雄史詩。但生命是有長度的,它因人而異。我確信生命的長度取決于它的密度。--想到這一點,我才明白我之所以羨慕那些藝術(shù)家的原因:他們總是更醉心于關(guān)注他人和自己的人生和命運,他們也更樂于表現(xiàn)、展示、美化、創(chuàng)造那些富于個性魅力和共同命運的人生,他們其中甚至有很大的一部分,是以自己僅有的一次生命深投其中,無怨無悔。像海明威、巴爾扎克、貝多芬、凡]……他們生命的密度因此而加大,閃爍出金剛鉆般堅韌的光澤,而被他們賦予靈魂的藝術(shù)則更接近于永恒。

還有那些終日勤勉于工作的人。那些也許并不懂得美學和藝術(shù)而樸素誠實的人,誰能說他們的生命沒有意義,是空虛的外殼呢?

你我皆凡人,但我們的生命仍然可以”加密“。當我們最大限度地投入我們的智慧和熱情,讓我們的身體和靈魂都像果實飽滿的莊稼;當我們積極地面對人生種種不測,執(zhí)著于信仰;我們又何嘗要擔憂歲月的轉(zhuǎn)瞬即逝,又何嘗不可能驕傲地說,我愛過,夢想過,生活過呢?

珍惜生命,死而無憾。

4、殘酷的現(xiàn)實

一位父親去拜訪他在一家公司的好朋友。下面是他們之間的對話。

”你還是這家公司的副總裁嗎?“

”是啊,怎么了?“ ”我兒子剛剛畢業(yè),我希望讓他接受點鍛煉,豐富一下人生經(jīng)歷,同時開始賺點小錢。“ 如果你需要,我可以幫忙。” 當然。我希望他能從點點滴滴做起,對勞動和金錢形成正確的看法。“

”那好……我想可以讓他去當總經(jīng)理。總經(jīng)理不需要做任何具體的事情,我讓他來的時候他來一下,隨便說些無關(guān)痛癢的廢話。工資每月8萬比索,有獎金,公司還負責報銷一些日常花銷。可以嗎?“

”嗯,不好,那可是一大筆錢啊,而且職位太高了。還有別的嗎?“

”那就項目主管吧。工作就是批示一下下級交上來的匯報書以及做一些別的瑣事,工資每月5萬比索,有獎金,還有餐飲和差旅補貼。“

”也不好,要知道他剛參加工作,還有低些的職位嗎?“

”那……部門經(jīng)理吧。每天給員工下達些指令,訓訓話什么的,每月工資3.8萬比索,有獎金和差旅費,還有帶薪休假。“

”嗯……還有更低層些的嗎?“

”項目負責人或是主管分析師、財務(wù)執(zhí)行官也可以。工資每月3.2萬比索,還有獎金。做的事情也很簡單:打幾個電話,時不時地同來訪的客戶聊聊天。“

”不,我想讓他多學點東西,珍惜勞動。還有別的嗎?“

”哦,這樣吧,我讓他去當辦公室副主任,幫助辦公室主任管理下面的分析員,監(jiān)督他們工作。每月工資2.2萬比索,工作時間朝九晚五。你覺得呢?“

”算了。還有更基層的工作嗎?“

” 那就只剩工程人員和會計了。這兩個職位需要掌握很多金融和規(guī)劃方面的知識,整天同經(jīng)理、項目主管和客戶打交道。加班是家常便飯,沒有加班費,成績還往往是別人的。工資是最低的8500比索,每天辛苦工作12到13個小時,只有半小時的時間可以用來吃飯,而且每天都要拿工作回家干。“

”噢……這些活真是費力不討好,不過,的確可以讓我兒子從中學點東西。能讓我兒子干這活嗎?“

”不可能!做這件事的人,他必須最起碼是碩士,會講流利的英語和法語,還要有足夠的相關(guān)工作經(jīng)驗才行!“

5、寬窄都是路

無論處于任何時間、法象里面,生命都是獨一無二的。這顆葡萄和昨天吃的那顆葡萄并不一樣,這杯酸梅湯和我15歲去臺北在中華路喝的那一杯也有所不同,因此不必刻意用過去的經(jīng)驗與眼前做比較。

一般人都喜歡拿過去和現(xiàn)在相比較,連吃一盤蛋炒飯也會認為昨天那一家炒的好吃些。禪宗注重”異“,人們都用過去的經(jīng)驗在生活,他們最無法開悟的一點就是”同“。不能開悟,許多痛苦就此產(chǎn)生。

若能了解自己的每一分每一秒都是不同的,不需要拿任何一秒鐘做標準,你就會生活得很好。無論你是獨自處于非洲大沙漠的烈日之下,或者和朋友一起待在舒適的冷氣房里,都沒有什么差別,每一個點都是生命的一部分,加起來才等于你整個的生命。

有一年我獲得了”杰出青年獎“,香港《東方日報》的總編希望我寫一篇文章。

”我寫什么呢?“我問。

”寫崎嶇的道路。“

”那是什么?“

”你的成功史。寫你如何達到今日的成功之境。“

”我不能寫。因為我的人生中沒有崎嶇的道路,對我而言,無論什么情況都是很好的。“

如果我走在崎嶇的小徑上,我就用崎嶇小徑的心去欣賞它;如果走在林蔭大道上,我就從林蔭大道的角度去品嘗。我不認為林蔭大道就優(yōu)于崎嶇小徑,一旦真正了解生命的意義,事物就沒有好壞之別。

不論剩下多少水,我只想”我還有水“,而不去在意水的多少。我畫過一幅漫畫:黃河的源頭是生,出海口是死,它整個生命的過程當然有時細水長流,有時波濤澎湃,有時順暢,有時受阻;有時寬,有時窄;我在寬時品嘗寬,在窄時品嘗窄;在逆時面對逆,在順時享受順。我不愿自己的生命從頭到尾一樣寬暢、平凡。

6、年輕時你想砍哪棵樹?

上大學時,有一次我們?nèi)ヒ晃焕辖淌诩易隹停菚r正年輕,豪情無限高談闊論,仿佛世間之事無所不能。老教授一直微笑著傾聽,不參與我們的種種話題。

待大家熱情一過,老教授提出要做個測試,我們頓時都來了興致。老教授問:”如果你去山上砍樹,正好面前有兩棵樹,一棵粗,另一棵較細,你會砍哪一棵?“ 問題一出,大家都說:”當然砍那棵粗的了!“老教授一笑,說:”那棵粗的不過是一棵普通的楊樹,而那棵細的卻是紅松,現(xiàn)在你們會砍哪一棵“我們一想,紅松比較珍貴,就說:”當然砍紅松了,楊樹也不值錢!“

老教授帶著不變的微笑看著我們,問”那如果楊樹是筆直的,而紅松卻七歪八扭,你們會砍哪一棵“我們覺得有些疑惑,就說:”如果這樣的話,還是砍楊樹,紅松彎彎曲曲的,什么都做不了!“老教授目光閃爍著,我們猜想他又要加條件了,果然,他說:”楊樹雖然筆直,可由于年頭太多,中間大多空了,這時,你們會砍哪一棵?“

雖然搞不懂老教授的葫蘆里賣的什么藥,我們還是從他所給的條件出發(fā),說:”那還是砍紅松,楊樹都中空了,更沒有用!“老教授緊接著問:”可是紅松雖然不是中空的,但它扭曲得太厲害,砍起來非常困難,你們會砍哪一棵?“我們索性也不去考慮他到底想得出什么結(jié)論,就說:”那就砍楊樹,同樣沒啥大用,當然挑容易砍的砍了!“老教授不容喘息地又問:”可是楊樹之上有個鳥巢,幾只幼鳥正躲在巢中,你會砍哪一棵?“

終于,有人問:”教授,您問來問去的,導致我們一會兒砍楊樹,一會兒砍紅松,選擇總是隨著您的條件增多而變化,您到底想告訴我們什么、測試些什么呢?“老教授收起笑容,說:”你們怎么就沒人問問自己,到底為什么砍樹呢?雖然我的條件不斷變化,可是最終結(jié)果取決于你們最初的動機。如果想要取柴,你就砍楊樹,想做工藝品,就砍紅松。你們當然不會無緣無故提著斧頭上山砍樹了!“

聽了這番話,我們心中似都有所感悟,可一時又抓不住什么。老教授看著我們說:”剛才聽你們縱論天下之事,似乎無所不在話下。可是,當你們踏上社會之后,當許多事擺在眼前,你們便只顧著去做那些事,往往于各種變數(shù)中淡忘了初衷,所以也就常常會做些沒有意義的事。一個人,只有在心中先有了目標,先有了目的,做事的時候才不會被各種條件和現(xiàn)象所迷惑,才不會偏離正軌。這就是我的測試,也是我想要告訴你們的!“

7、給別人留有余地

韓國北部的鄉(xiāng)村公路邊有很多柿子園,金秋時節(jié)正是采摘柿子的季節(jié),當?shù)氐霓r(nóng)民常常會留一些成熟的柿子在樹上,他們說,這是留給喜鵲的食物。

經(jīng)過這里的游客都會覺得不可思議,這時,導游就會給大家講一個故事:這里是喜鵲的棲息地,每到冬天,喜鵲們都在果樹上筑巢過冬。有一年冬天特別冷,下了很大的雪,幾百只找不到食物的喜鵲一夜之間都被凍死了。第二年,一種不知名的毛毛蟲突然泛濫成災,那年秋天,果園沒有收獲到一個柿子。直到這時,人們才想起了那些喜鵲,如果有喜鵲在,就不會發(fā)生蟲災了。從那以后,每年秋天收獲柿子時,人們都會留下一些柿子,作為喜鵲過冬的食物……

給別人留有余地,往往就是給自己留下生機和希望啊!

8、沒有一種給予是理所應(yīng)當?shù)?/p>

老人是菲律賓華僑,在海外跋涉半生。幾經(jīng)浮沉,衣錦還鄉(xiāng)的他萌生了濟世助人,造福相鄰的念頭。

于是,老人分別給家鄉(xiāng)幾所學校的校長寫了信,希望每個校長能提供十來個學生名單,他從中選定人選,作為他資助的對象。

家人真怪他的愚昧,既是捐贈,何必把程序搞得這樣復雜?不如來個快捷方式,譬如通過”希望工程“或者”春蕾計劃“,干凈利落地了卻一樁心愿,豈不是更好?

老人搖搖頭說:”我的血汗錢只給與那些配得到他的孩子。“哪些孩子才有資格得到資助。是那些家庭貧困的孩子,還是優(yōu)秀生抑或是特長生,誰也不知道老人心里的答案。

名單很快就到了老人手里。老人讓家人買來了許多書,分門別類地包裝好,準備寄給名單上的孩子,家人面面相覷,這樣微薄的贈與是不是太寒磣了。大家斷定書中自有黃金屋,可翻來覆去也沒有找到夾在書中的紙鈔。只是,在書的第一頁看到了老人的親筆,贈給品學兼優(yōu)的學生,落款處是老人的地址,姓名,電話和電子信箱。

家人大惑不解,卻也不愿悖逆老人的旨意,只好替他一一寄出那些書。

夕暉來去匆匆,老人常常對著電話發(fā)呆,有莫名奇妙的唉聲嘆氣。從黃葉凋零到瑞雪飄飛,誰也猜不透老人所為何事。

終于讀懂老人的心,源于新年的一張賀卡,很普通。上面寫著:感謝您給我寄來的書,雖然我不認識您,但我會記著您。祝您新年快樂!沒想到老人竟然興奮地大呼小叫:有回音了,有回音了,終于找到一個可資助的孩子。

家人恍然大悟,終于明白老人這些日子郁郁寡歡的原因,他寄出去的書原來是塊兒試金石,只有心存感激的人才會有資格得到他的資助。

老人說:土地失去水分滋潤會變成沙漠,人心沒有感激滋養(yǎng)會變的荒蕪,不知感恩的人,注定是個冷漠自私的人,不是關(guān)愛別人,縱使給他陽光,日后也不會放射出自身的溫暖,且也不配得到別人的愛。的確,沒有一種給予是理所應(yīng)當?shù)模瑳]有什么是必須應(yīng)該的,所以,沒有一種領(lǐng)受可以使無動于衷心安理得的,都應(yīng)心存感激。一朵花會為一滴雨露鮮艷嫵媚,一株草會因一縷春風搖曳多姿,一湖水也會因一片落葉蕩漾清波,一顆心更應(yīng)對另一顆關(guān)愛的心靜靜的綻放感情的笑臉。

9、有理更需寬容

有一個朋友和老板去餐廳吃飯。服務(wù)小姐的態(tài)度非常惡劣,臉上沒有一點笑容。朋友很生氣,要投訴她,卻被老板制止了。老板說:”也許她失戀了,也許她剛剛被上司指責過,總之,我們應(yīng)當原諒她。“

”不管什么理由,也不應(yīng)該影響工作,這是她的錯。“

”是的,“老板意味深長地說,”正是因為她全錯,而你全對,才需要你的寬容。“

朋友說了一句讓老板噴飯的話:”沒想到您還有傻根精神。“

”所以,我是頭兒,“老板笑著說,”你是我的員工“。

在我們感到不痛快的時候,感到人生無望的時候,我們能不能走到窗口,去看看行色匆匆的人們,去想一想別人的痛苦。在理解與寬容的世界里,有更輕松的呼吸和更新鮮的空氣。

10、需要奮斗是幸福的

試想一種如此美好的生活:

出生了,父母都在家中全心全意地照顧你,你的母親在產(chǎn)假里照領(lǐng)全薪。而你的父親也因妻子生育而享受9個月的”產(chǎn)假“。

在你16周歲前,你的父母可獲得生活津貼。你絕不會”窮人的孩子早當家“。

16周歲以后,你完成了9年義務(wù)教育,想繼續(xù)深造?沒問題,國家給你學習津貼。

病了?不用慌,你可享受病假補助,其數(shù)額視病假長短而定,相當于工資的75%至100%,醫(yī)療費用和經(jīng)醫(yī)生之手的藥品,大部分由國家負擔。

失業(yè)了?領(lǐng)救濟金去吧。每月1.3萬克朗,約相當于1.3萬元人民幣一個月,比北京、上海的普通白領(lǐng)還要高。如果你再打一份不用交稅的零工,日子過得就更紅火了。

不想工作,無所事事?念大學去呀--反正也是免費。

老了?國家養(yǎng)著你。

這就是瑞典人民的美好生活。富裕的國家為人民制定了從搖籃到墳墓的福利保護。它的公民不愁吃不愁穿不怕病,失業(yè)了也很快樂,老了也生活得很體面。生活環(huán)境優(yōu)美,擔心的只是全球變暖之類的問題。

這樣的生活,天上人間,不是神仙賽神仙啊。

且慢,來看看這樣的數(shù)據(jù)吧:每年有2000個瑞典人自殺,是世上自殺率最高的國家之一。不久前,瑞典摔跤世界冠軍米歇爾·永貝里自殺身亡,年僅34歲。

在瑞典的負面新聞里,”年輕人的惡作劇“、”自殺"這樣的字眼司空見慣。前不久,芬蘭發(fā)生校園槍擊案,8人死亡,兩個瑞典小青年覺著好玩,于是在網(wǎng)絡(luò)上發(fā)布告示,說也要在瑞典制造一起類似事件,警方聞訊連忙將兩人捉拿。

他們自殺的原因之一就是:生活太好。他們無需奮斗,沒有壓力,無所事事,生活無憂之余就想:上帝要我來干什么?上帝要我來到底要干什么?找不到生活的意義,想呀想,想不通,就去自殺。

想想我們的生活。我們要制定年長遠目標。每天勤奮地工作,可憐的一點薪水要孝順父母、養(yǎng)孩子、養(yǎng)車子,一不小心成了房奴,又得養(yǎng)房子,還務(wù)必要養(yǎng)好身子,病了,昂貴的醫(yī)藥費讓你吃不了兜著走。自殺,哪里敢,養(yǎng)育之恩還待報,培養(yǎng)孩子的責任壓在肩頭,生命可不是我們自己的。我們失眠、抱怨,發(fā)夢也想中 500萬。可不曾想,奮斗令我們的生活充滿生機,責任讓我們的生命充滿意義,壓力讓我們不斷成長,成就讓我們充滿自豪。不要再抱怨生活的艱辛,原來,需要奮斗也是幸福的一種。不是嗎?

第二篇:精妙SQL語句

精妙SQL語句

? 說明:復制表(只復制結(jié)構(gòu),源表名:a 新表名:b)select * into b from a where 1<>1

? 說明:拷貝表(拷貝數(shù)據(jù),源表名:a 目標表名:b)insert into b(a, b, c)select d,e,f from b;? 說明:顯示文章、提交人和最后回復時間

select a.title,a.username,b.adddate from table a,(select max(adddate)adddate from table where table.title=a.title)b

? 說明:外連接查詢(表名1:a 表名2:b)

select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c ? 說明:日程安排提前五分鐘提醒

select * from 日程安排 where datediff('minute',f開始時間,getdate())>5 ? 說明:兩張關(guān)聯(lián)表,刪除主表中已經(jīng)在副表中沒有的信息

delete from info where not exists(select * from infobz where info.infid=infobz.infid)

? 說明:--

SQL:

SELECT A.NUM, A.NAME, B.UPD_DATE, B.PREV_UPD_DATE

FROM TABLE1,(SELECT X.NUM, X.UPD_DATE, Y.UPD_DATE PREV_UPD_DATE

FROM(SELECT NUM, UPD_DATE, INBOUND_QTY, STOCK_ONHAND

FROM TABLE2

WHERE TO_CHAR(UPD_DATE,'YYYY/MM')= TO_CHAR(SYSDATE, 'YYYY/MM'))X,(SELECT NUM, UPD_DATE, STOCK_ONHAND

FROM TABLE2

WHERE TO_CHAR(UPD_DATE,'YYYY/MM')=

TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, 'YYYY/MM')|| '/01','YYYY/MM/DD')1 FROM Handle a)

? 一個SQL語句的問題:行列轉(zhuǎn)換 select * from v_temp 上面的視圖結(jié)果如下: user_name role_name-------------------------系統(tǒng)管理員 管理員

feng 管理員

feng 一般用戶

test 一般用戶

想把結(jié)果變成這樣: user_name role_name---------------------------系統(tǒng)管理員 管理員

feng 管理員,一般用戶

test 一般用戶

=================== create table a_test(name varchar(20),role2 varchar(20))insert into a_test values('李','管理員')insert into a_test values('張','管理員')insert into a_test values('張','一般用戶')insert into a_test values('常','一般用戶')

create function join_str(@content varchar(100))returns varchar(2000)as begin declare @str varchar(2000)set @str='' select @str=@str+','+rtrim(role2)from a_test where [name]=@content select @str=right(@str,len(@str)-1)return @str end go

--調(diào)用:

select [name],dbo.join_str([name])role2 from a_test group by [name]

--select distinct name,dbo.uf_test(name)from a_test ? 快速比較結(jié)構(gòu)相同的兩表

結(jié)構(gòu)相同的兩表,一表有記錄3萬條左右,一表有記錄2萬條左右,我怎樣快速查找兩表的不同記錄?

============================ 給你一個測試方法,從northwind中的orders表取數(shù)據(jù)。select * into n1 from orders select * into n2 from orders

select * from n1 select * from n2

--添加主鍵,然后修改n1中若干字段的若干條

alter table n1 add constraint pk_n1_id primary key(OrderID)alter table n2 add constraint pk_n2_id primary key(OrderID)

select OrderID from(select * from n1 union select * from n2)a group by OrderID having count(*)> 1

應(yīng)該可以,而且將不同的記錄的ID顯示出來。下面的適用于雙方記錄一樣的情況,select * from n1 where orderid in(select OrderID from(select * from n1 union select * from n2)a group by OrderID having count(*)> 1)至于雙方互不存在的記錄是比較好處理的--刪除n1,n2中若干條記錄

delete from n1 where orderID in('10728','10730')delete from n2 where orderID in('11000','11001')

--*************************************************************--雙方都有該記錄卻不完全相同

select * from n1 where orderid in(select OrderID from(select * from n1 union select * from n2)a group by OrderID having count(*)> 1)union--n2中存在但在n1中不存的在10728,10730 select * from n1 where OrderID not in(select OrderID from n2)union--n1中存在但在n2中不存的在11000,11001 select * from n2 where OrderID not in(select OrderID from n1)? 四種方法取表里n到m條紀錄:

1.select top m * into 臨時表(或表變量)from tablename order by columnname--將top m筆插入 set rowcount n select * from 表變量 order by columnname desc

2.select top n * from(select top m * from tablename order by columnname)a order by columnname desc

3.如果tablename里沒有其他identity列,那么: select identity(int)id0,* into #temp from tablename

取n到m條的語句為:

select * from #temp where id0 >=n and id0 <= m

如果你在執(zhí)行select identity(int)id0,* into #temp from tablename這條語句的時候報錯,那是因為你的DB中間的select into/bulkcopy屬性沒有打開要先執(zhí)行: exec sp_dboption 你的DB名字,'select into/bulkcopy',true

4.如果表里有identity屬性,那么簡單:

select * from tablename where identitycol between n and m ? 如何刪除一個表中重復的記錄?

create table a_dist(id int,name varchar(20))

insert into a_dist values(1,'abc')insert into a_dist values(1,'abc')insert into a_dist values(1,'abc')insert into a_dist values(1,'abc')

exec up_distinct 'a_dist','id'

select * from a_dist

create procedure up_distinct(@t_name varchar(30),@f_key varchar(30))--f_key表示是分組字段﹐即主鍵字段 as begin declare @max integer,@id varchar(30),@sql varchar(7999),@type integer select @sql = 'declare cur_rows cursor for select '+@f_key+' ,count(*)from ' +@t_name +' group by ' +@f_key +' having count(*)> 1' exec(@sql)open cur_rows fetch cur_rows into @id,@max while @@fetch_status=0 begin

select @max = @max-1 set rowcount @max

select @type = xtype from syscolumns where id=object_id(@t_name)and name=@f_key if @type=56 select @sql = 'delete from '+@t_name+' where ' + @f_key+' = '+ @id if @type=167 select @sql = 'delete from '+@t_name+' where ' + @f_key+' = '+''''+ @id +'''' exec(@sql)fetch cur_rows into @id,@max end

close cur_rows deallocate cur_rows set rowcount 0 end

select * from systypes select * from syscolumns where id = object_id('a_dist')? 查詢數(shù)據(jù)的最大排序問題(只能用一條語句寫)

CREATE TABLE hard(qu char(11),co char(11),je numeric(3, 0))

insert into hard values('A','1',3)insert into hard values('A','2',4)insert into hard values('A','4',2)insert into hard values('A','6',9)insert into hard values('B','1',4)insert into hard values('B','2',5)insert into hard values('B','3',6)insert into hard values('C','3',4)insert into hard values('C','6',7)insert into hard values('C','2',3)

要求查詢出來的結(jié)果如下:

qu co je

---------------------------A 6 9 A 2 4 B 3 6 B 2 5 C 6 7 C 3 4

就是要按qu分組,每組中取je最大的前2位!而且只能用一句sql語句!!

select * from hard a where je in(select top 2 je from hard b where a.qu=b.qu order by je)

? 求刪除重復記錄的sql語句?

怎樣把具有相同字段的紀錄刪除,只留下一條。例如,表test里有id,name字段

如果有name相同的記錄 只留下一條,其余的刪除。name的內(nèi)容不定,相同的記錄數(shù)不定。有沒有這樣的sql語句?

============================== A:一個完整的解決方案:

將重復的記錄記入temp1表: select [標志字段id],count(*)into temp1 from [表名] group by [標志字段id] having count(*)>1

2、將不重復的記錄記入temp1表: insert temp1 select [標志字段id],count(*)from [表名] group by [標志字段id] having count(*)=1

3、作一個包含所有不重復記錄的表:

select * into temp2 from [表名] where 標志字段id in(select 標志字段id from temp1)

4、刪除重復表: delete [表名]

5、恢復表:

insert [表名] select * from temp2

6、刪除臨時表: drop table temp1 drop table temp2 ================================ B: create table a_dist(id int,name varchar(20))

insert into a_dist values(1,'abc')insert into a_dist values(1,'abc')insert into a_dist values(1,'abc')insert into a_dist values(1,'abc')

exec up_distinct 'a_dist','id'

select * from a_dist

create procedure up_distinct(@t_name varchar(30),@f_key varchar(30))--f_key表示是分組字段﹐即主鍵字段 as begin declare @max integer,@id varchar(30),@sql varchar(7999),@type integer select @sql = 'declare cur_rows cursor for select '+@f_key+' ,count(*)from ' +@t_name +' group by ' +@f_key +' having count(*)> 1' exec(@sql)open cur_rows

fetch cur_rows into @id,@max while @@fetch_status=0 begin

select @max = @max-1 set rowcount @max

select @type = xtype from syscolumns where id=object_id(@t_name)and name=@f_key if @type=56 select @sql = 'delete from '+@t_name+' where ' + @f_key+' = '+ @id if @type=167 select @sql = 'delete from '+@t_name+' where ' + @f_key+' = '+''''+ @id +'''' exec(@sql)fetch cur_rows into @id,@max end

close cur_rows deallocate cur_rows set rowcount 0 end

select * from systypes select * from syscolumns where id = object_id('a_dist')? 行列轉(zhuǎn)換--普通

假設(shè)有張學生成績表(CJ)如下

Name Subject Result 張三 語文 80 張三 數(shù)學 90 張三 物理 85 李四 語文 85 李四 數(shù)學 92 李四 物理 82

想變成

姓名 語文 數(shù)學 物理

張三 80 90 85 李四 85 92 82

declare @sql varchar(4000)set @sql = 'select Name'

select @sql = @sql + ',sum(case Subject when '''+Subject+''' then Result end)['+Subject+']'

from(select distinct Subject from CJ)as a

select @sql = @sql+' from test group by name' exec(@sql)

行列轉(zhuǎn)換--合并

有表A, id pid 1 1 1 2 1 3 2 1 2 2 3 1

如何化成表B: id pid 1 1,2,3 2 1,2 3 1

創(chuàng)建一個合并的函數(shù)

create function fmerg(@id int)returns varchar(8000)as begin

declare @str varchar(8000)set @str=''

select @str=@str+','+cast(pid as varchar)from 表A where id=@id set @str=right(@str,len(@str)-1)return(@str)End go

--調(diào)用自定義函數(shù)得到結(jié)果

select distinct id,dbo.fmerg(id)from 表A ? 如何取得一個數(shù)據(jù)表的所有列名

方法如下:先從SYSTEMOBJECT系統(tǒng)表中取得數(shù)據(jù)表的SYSTEMID,然后再SYSCOLUMN表中取得該數(shù)據(jù)表的所有列名。

SQL語句如下:

declare @objid int,@objname char(40)set @objname = 'tablename'

select @objid = id from sysobjects where id = object_id(@objname)

select 'Column_name' = name from syscolumns where id = @objid order by colid

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='users'

? 通過SQL語句來更改用戶的密碼

修改別人的,需要sysadmin role

EXEC sp_password NULL, 'newpassword', 'User'

如果帳號為SA執(zhí)行EXEC sp_password NULL, 'newpassword', sa ? 怎么判斷出一個表的哪些字段不允許為空?

select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where IS_NULLABLE='NO' and TABLE_NAME=tablename ? 如何在數(shù)據(jù)庫里找到含有相同字段的表?

a.查已知列名的情況

SELECT b.name as TableName,a.name as columnname From syscolumns a INNER JOIN sysobjects b ON a.id=b.id AND b.type='U'

AND a.name='你的字段名字'

? 未知列名查所有在不同表出現(xiàn)過的列名

Select o.name As tablename,s1.name As columnname From syscolumns s1, sysobjects o Where s1.id = o.id And o.type = 'U' And Exists(Select 1 From syscolumns s2 Where s1.name = s2.name And s1.id <> s2.id)

? 查詢第xxx行數(shù)據(jù)

假設(shè)id是主鍵:

select * from(select top xxx * from yourtable)aa where not exists(select 1 from(select top xxx-1 * from yourtable)bb where aa.id=bb.id)

如果使用游標也是可以的

fetch absolute [number] from [cursor_name] 行數(shù)為絕對行數(shù)

? SQL Server日期計算

a.一個月的第一天

SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)b.本周的星期一

SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)c.一年的第一天

SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)d.季度的第一天

SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)e.上個月的最后一天

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))f.去年的最后一天

SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))g.本月的最后一天

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))h.本月的第一個星期一

select DATEADD(wk, DATEDIFF(wk,0, dateadd(dd,6-datepart(day,getdate()),getdate())), 0)

i.本年的最后一天

SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))。

? 獲取表結(jié)構(gòu)[把 'sysobjects' 替換 成 'tablename' 即可]

SELECT CASE IsNull(I.name, '')When '' Then '' Else '*'

End as IsPK,Object_Name(A.id)as t_name, A.name as c_name,IsNull(SubString(M.text, 1, 254), '')as pbc_init, T.name as F_DataType,CASE IsNull(TYPEPROPERTY(T.name, 'Scale'), '')WHEN '' Then Cast(A.prec as varchar)

ELSE Cast(A.prec as varchar)+ ',' + Cast(A.scale as varchar)END as F_Scale,A.isnullable as F_isNullAble FROM Syscolumns as A JOIN Systypes as T

ON(A.xType = T.xUserType AND A.Id = Object_id('sysobjects'))LEFT JOIN(SysIndexes as I JOIN Syscolumns as A1

ON(I.id = A1.id and A1.id = object_id('sysobjects')and(I.status & 0x800)= 0x800 AND A1.colid <= I.keycnt))

ON(A.id = I.id AND A.name = index_col('sysobjects', I.indid, A1.colid))LEFT JOIN SysComments as M

ON(M.id = A.cdefault and ObjectProperty(A.cdefault, 'IsConstraint')= 1)ORDER BY A.Colid ASC

? 提取數(shù)據(jù)庫內(nèi)所有表的字段詳細說明的SQL語句

SELECT

(case when a.colorder=1 then d.name else '' end)N'表名', a.colorder N'字段序號', a.name N'字段名',(case when COLUMNPROPERTY(a.id,a.name,'IsIdentity')=1 then ''else '' end)N'標識',(case when(SELECT count(*)FROM sysobjects WHERE(name in(SELECT name FROM sysindexes

WHERE(id = a.id)AND(indid in(SELECT indid

FROM sysindexkeys

WHERE(id = a.id)AND(colid in(SELECT colid FROM syscolumns

WHERE(id = a.id)AND(name = a.name)))))))AND(xtype = 'PK'))>0 then '' else '' end)N'主鍵', b.name N'類型',a.length N'占用字節(jié)數(shù)',COLUMNPROPERTY(a.id,a.name,'PRECISION')as N'長度',isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0)as N'小數(shù)位數(shù)',(case when a.isnullable=1 then ''else '' end)N'允許空', isnull(e.text,'')N'默認值',isnull(g.[value],'')AS N'字段說明' FROM syscolumns a left join systypes b on a.xtype=b.xusertype inner join sysobjects d

on a.id=d.id and d.xtype='U' and d.name<>'dtproperties' left join syscomments e on a.cdefault=e.id

left join sysproperties g

on a.id=g.id AND a.colid = g.smallid order by object_name(a.id),a.colorder

? 快速獲取表test的記錄總數(shù)[對大容量表非常有效]

快速獲取表test的記錄總數(shù):

select rows from sysindexes where id = object_id('test')and indid in(0,1)

update 2 set KHXH=(ID+1)2 2行遞增編號

update [23] set id1 = 'No.'+right('00000000'+id,6)where id not like 'No%' //遞增

update [23] set id1= 'No.'+right('00000000'+replace(id1,'No.',''),6)//補位遞增 delete from [1] where(id%2)=1 奇數(shù)

? 替換表名字段

update [1] set domurl = replace(domurl,'Upload/Imgswf/','Upload/Photo/')where domurl like '%Upload/Imgswf/%' ? 截位

SELECT LEFT(表名, 5)

下列語句部分是Mssql語句,不可以在access中使用。

SQL分類:

DDL-數(shù)據(jù)定義語言(CREATE,ALTER,DROP,DECLARE)

DML-數(shù)據(jù)操縱語言(SELECT,DELETE,UPDATE,INSERT)

DCL-數(shù)據(jù)控制語言(GRANT,REVOKE,COMMIT,ROLLBACK)

首先,簡要介紹基礎(chǔ)語句:

1、說明:創(chuàng)建數(shù)據(jù)庫

CREATE DATABASE database-name

2、說明:刪除數(shù)據(jù)庫

drop database dbname

3、說明:備份sql server

---創(chuàng)建 備份數(shù)據(jù)的 device

USE master

EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat'

---開始 備份

BACKUP DATABASE pubs TO testBack

4、說明:創(chuàng)建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

根據(jù)已有的表創(chuàng)建新表:

A:create table tab_new like tab_old(使用舊表創(chuàng)建新表)

B:create table tab_new as select col1,col2… from tab_old definition only

5、說明:刪除新表drop table tabname

6、說明:增加一個列

Alter table tabname add column col type

注:列增加后將不能刪除。DB2中列加上后數(shù)據(jù)類型也不能改變,唯一能改變的是增加varchar類型的長度。

7、說明:添加主鍵: Alter table tabname add primary key(col)

說明:刪除主鍵: Alter table tabname drop primary key(col)

8、說明:創(chuàng)建索引:create [unique] index idxname on tabname(col….)

刪除索引:drop index idxname

注:索引是不可更改的,想更改必須刪除重新建。

9、說明:創(chuàng)建視圖:create view viewname as select statement

刪除視圖:drop view viewname

10、說明:幾個簡單的基本的sql語句

選擇:select * from table1 where 范圍

插入:insert into table1(field1,field2)values(value1,value2)

刪除:delete from table1 where 范圍

更新:update table1 set field1=value1 where 范圍

查找:select * from table1 where field1 like ?%value1%?---like的語法很精妙,查資料!

排序:select * from table1 order by field1,field2 [desc]

總數(shù):select count * as totalcount from table1

求和:select sum(field1)as sumvalue from table1

平均:select avg(field1)as avgvalue from table1

最大:select max(field1)as maxvalue from table1

最小:select min(field1)as minvalue from table1

11、說明:幾個高級查詢運算詞

A: UNION 運算符

UNION 運算符通過組合其他兩個結(jié)果表(例如 TABLE1 和 TABLE2)并消去表中任何重復行而派生出一個結(jié)果表。當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重復行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。

B: EXCEPT 運算符

EXCEPT 運算符通過包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重復行而派生出一個結(jié)果表。當 ALL 隨 EXCEPT 一起使用時(EXCEPT ALL),不消除重復行。

C: INTERSECT 運算符

INTERSECT 運算符通過只包括 TABLE1 和 TABLE2 中都有的行并消除所有重復行而派生出一個結(jié)果表。當 ALL 隨 INTERSECT 一起使用時(INTERSECT ALL),不消除重復行。

注:使用運算詞的幾個查詢結(jié)果行必須是一致的。

12、說明:使用外連接

A、left outer join:

左外連接(左連接):結(jié)果集幾包括連接表的匹配行,也包括左連接表的所有行。

SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

B:right outer join:

右外連接(右連接):結(jié)果集既包括連接表的匹配連接行,也包括右連接表的所有行。

C:full outer join:

全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。

其次,大家來看一些不錯的sql語句

1、說明:復制表(只復制結(jié)構(gòu),源表名:a 新表名:b)(Access可用)

法一:select * into b from a where 1<>1

法二:select top 0 * into b from a

2、說明:拷貝表(拷貝數(shù)據(jù),源表名:a 目標表名:b)(Access可用)

insert into b(a, b, c)select d,e,f from b;

3、說明:跨數(shù)據(jù)庫之間表的拷貝(具體數(shù)據(jù)使用絕對路徑)(Access可用)

insert into b(a, b, c)select d,e,f from b in ?具體數(shù)據(jù)庫? where 條件

例子:..from b in '“&Server.MapPath(”.“)&”data.mdb“ &”' where..4、說明:子查詢(表名1:a 表名2:b)

select a,b,c from a where a IN(select d from b)或者: select a,b,c from a where a IN(1,2,3)

5、說明:顯示文章、提交人和最后回復時間

select a.title,a.username,b.adddate from table a,(select max(adddate)adddate from table where table.title=a.title)b

6、說明:外連接查詢(表名1:a 表名2:b)

select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

7、說明:在線視圖查詢(表名1:a)

select * from(SELECT a,b,c FROM a)T where t.a > 1;

8、說明:between的用法,between限制查詢數(shù)據(jù)范圍時包括了邊界值,not between不包括

select * from table1 where time between time1 and time2

select a,b,c, from table1 where a not between 數(shù)值1 and 數(shù)值2

9、說明:in 的使用方法

select * from table1 where a [not] in(?值1?,?值2?,?值4?,?值6?)

10、說明:兩張關(guān)聯(lián)表,刪除主表中已經(jīng)在副表中沒有的信息

delete from table1 where not exists(select * from table2 where table1.field1=table2.field1)

11、說明:四表聯(lián)查問題:

select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where.....12、說明:日程安排提前五分鐘提醒

SQL: select * from 日程安排 where datediff('minute',f開始時間,getdate())>5

13、說明:一條sql 語句搞定數(shù)據(jù)庫分頁

select top 10 b.* from(select top 20 主鍵字段,排序字段 from 表名 order by 排序字段 desc)a,表名 b where b.主鍵字段 = a.主鍵字段 order by a.排序字段

14、說明:前10條記錄

select top 10 * form table1 where 范圍

15、說明:選擇在每一組b值相同的數(shù)據(jù)中對應(yīng)的a最大的記錄的所有信息(類似這樣的用法可以用于論壇每月排行榜,每月熱銷產(chǎn)品分析,按科目成績排名,等等.)

select a,b,c from tablename ta where a=(select max(a)from tablename tb where tb.b=ta.b)

16、說明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重復行而派生出一個結(jié)果表

(select a from tableA)except(select a from tableB)except(select a from tableC)

17、說明:隨機取出10條數(shù)據(jù)

select top 10 * from tablename order by newid()

18、說明:隨機選擇記錄

select newid()

19、說明:刪除重復記錄

Delete from tablename where id not in(select max(id)from tablename group by col1,col2,...)

20、說明:列出數(shù)據(jù)庫里所有的表名

select name from sysobjects where type='U'

21、說明:列出表里的所有的

select name from syscolumns where id=object_id('TableName')

22、說明:列示type、vender、pcs字段,以type字段排列,case可以方便地實現(xiàn)多重選擇,類似select 中的case。

select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end)FROM tablename group by type

顯示結(jié)果:

type vender pcs

電腦 A 1

電腦 A 1

光盤 B 2

光盤 A 2

手機 B 3

手機 C 3

23、說明:初始化表table1

TRUNCATE TABLE table1

24、說明:選擇從10到15的記錄

select top 5 * from(select top 15 * from table order by id asc)table_別名 order by id desc

隨機選擇數(shù)據(jù)庫記錄的方法(使用Randomize函數(shù),通過SQL語句實現(xiàn))

對存儲在數(shù)據(jù)庫中的數(shù)據(jù)來說,隨機數(shù)特性能給出上面的效果,但它們可能太慢了些。你不能要求ASP“找個隨機數(shù)”然后打印出來。實際上常見的解決方案是建立如下所示的循環(huán):

Randomize

RNumber = Int(Rnd*499)+1

While Not objRec.EOF

If objRec(“ID”)= RNumber THEN

...這里是執(zhí)行腳本...end if

objRec.MoveNext

Wend

這很容易理解。首先,你取出1到500范圍之內(nèi)的一個隨機數(shù)(假設(shè)500就是數(shù)據(jù)庫內(nèi)記錄的總數(shù))。然后,你遍歷每一記錄來測試ID 的值、檢查其是否匹配RNumber。滿足條件的話就執(zhí)行由THEN 關(guān)鍵字開始的那一塊代碼。假如你的RNumber 等于495,那么要循環(huán)一遍數(shù)據(jù)庫花的時間可就長了。雖然500這個數(shù)字看起來大了些,但相比更為穩(wěn)固的企業(yè)解決方案這還是個小型數(shù)據(jù)庫了,后者通常在一個數(shù)據(jù)庫內(nèi)就包含了成千上萬條記錄。這時候不就死定了?

采用SQL,你就可以很快地找出準確的記錄并且打開一個只包含該記錄的recordset,如下所示:

Randomize

RNumber = Int(Rnd*499)+ 1

SQL = “SELECT * FROM Customers WHERE ID = ” & RNumber

set objRec = ObjConn.Execute(SQL)

Response.WriteRNumber & “ = ” & objRec(“ID”)& “ ” & objRec(“c_email”)

不必寫出RNumber 和ID,你只需要檢查匹配情況即可。只要你對以上代碼的工作滿意,你自可按需操作“隨機”記錄。Recordset沒有包含其他內(nèi)容,因此你很快就能找到你需要的記錄這樣就大大降低了處理時間。

再談隨機數(shù)

現(xiàn)在你下定決心要榨干Random 函數(shù)的最后一滴油,那么你可能會一次取出多條隨機記錄或者想采用一定隨機范圍內(nèi)的記錄。把上面的標準Random 示例擴展一下就可以用SQL應(yīng)對上面兩種情況了。

為了取出幾條隨機選擇的記錄并存放在同一recordset內(nèi),你可以存儲三個隨機數(shù),然后查詢數(shù)據(jù)庫獲得匹配這些數(shù)字的記錄:

SQL = “SELECT * FROM Customers WHERE ID = ” & RNumber & “ OR ID = ” & RNumber2 & “ OR ID = ” & RNumber3

假如你想選出10條記錄(也許是每次頁面裝載時的10條鏈接的列表),你可以用BETWEEN 或者數(shù)學等式選出第一條記錄和適當數(shù)量的遞增記錄。這一操作可以通過好幾種方式來完成,但是 SELECT 語句只顯示一種可能(這里的ID 是自動生成的號碼):

SQL = “SELECT * FROM Customers WHERE ID BETWEEN ” & RNumber & “ AND ” & RNumber & “+ 9”

注意:以上代碼的執(zhí)行目的不是檢查數(shù)據(jù)庫內(nèi)是否有9條并發(fā)記錄。

隨機讀取若干條記錄,測試過

Access語法:SELECT top 10 * From 表名 ORDER BY Rnd(id)

Sql server:select top n * from 表名 order by newid()

mysqlelect * From 表名 Order By rand()Limit n

Access左連接語法(最近開發(fā)要用左連接,Access幫助什么都沒有,網(wǎng)上沒有Access的SQL說明,只有自己測試, 現(xiàn)在記下以備后查)

語法elect table1.fd1,table1,fd2,table2.fd2 From table1 left join table2 on table1.fd1,table2.fd1 where...使用SQL語句 用...代替過長的字符串顯示

語法:

SQL數(shù)據(jù)庫:select case when len(field)>10 then left(field,10)+'...' else field end as news_name,news_id from tablename

Access數(shù)據(jù)庫:SELECT iif(len(field)>2,left(field,2)+'...',field)FROM tablename;

Conn.Execute說明

Execute方法

該方法用于執(zhí)行SQL語句。根據(jù)SQL語句執(zhí)行后是否返回記錄集,該方法的使用格式分為以下兩種:

1.執(zhí)行SQL查詢語句時,將返回查詢得到的記錄集。用法為:

Set 對象變量名=連接對象.Execute(“SQL 查詢語言”)

Execute方法調(diào)用后,會自動創(chuàng)建記錄集對象,并將查詢結(jié)果存儲在該記錄對象中,通過Set方法,將記錄集賦給指定的對象保存,以后對象變量就代表了該記錄集對象。

2.執(zhí)行SQL的操作性語言時,沒有記錄集的返回。此時用法為:

連接對象.Execute “SQL 操作性語句” [, RecordAffected][, Option]

·RecordAffected 為可選項,此出可放置一個變量,SQL語句執(zhí)行后,所生效的記錄數(shù)會自動保存到該變量中。通過訪問該變量,就可知道SQL語句隊多少條記錄進行了操作。

·Option 可選項,該參數(shù)的取值通常為adCMDText,它用于告訴ADO,應(yīng)該將Execute方法之后的第一個字符解釋為命令文本。通過指定該參數(shù),可使執(zhí)行更高效。

·BeginTrans、RollbackTrans、CommitTrans方法

這三個方法是連接對象提供的用于事務(wù)處理的方法。BeginTrans用于開始一個事物;RollbackTrans用于回滾事務(wù);CommitTrans用于提交所有的事務(wù)處理結(jié)果,即確認事務(wù)的處理。

事務(wù)處理可以將一組操作視為一個整體,只有全部語句都成功執(zhí)行后,事務(wù)處理才算成功;若其中有一個語句執(zhí)行失敗,則整個處理就算失敗,并恢復到處里前的狀態(tài)。

BeginTrans和 CommitTrans用于標記事務(wù)的開始和結(jié)束,在這兩個之間的語句,就是作為事務(wù)處理的語句。判斷事務(wù)處理是否成功,可通過連接對象的Error集合來實現(xiàn),若Error集合的成員個數(shù)不為0,則說明有錯誤發(fā)生,事務(wù)處理失敗。Error集合中的每一個Error對象,代表一個錯誤信息。

常用SQL語句書寫技巧(轉(zhuǎn))

關(guān)鍵詞: SQL

SQL結(jié)構(gòu)化查詢字符串的改寫,是實現(xiàn)數(shù)據(jù)庫查詢性能提升的最現(xiàn)實、最有效的手段,有時甚至是唯一的手段,比如在不允許大幅度修改現(xiàn)有數(shù)據(jù)庫結(jié)構(gòu)的情況下。

通過優(yōu)化SQL語句提高查詢性能的關(guān)鍵是:

l 根據(jù)實際需求情況,建立合適的索引; l 使用一切可能的方式去利用好索引,避免全表掃描;

l 盡量減少內(nèi)存及數(shù)據(jù)I/O方面的開銷

一、建立索引

(一)建立“適當”的索引,是快速查詢的基礎(chǔ)。

索引(index)是除表之外另一重要的、用戶定義的存儲在物理介質(zhì)上的數(shù)據(jù)結(jié)構(gòu)。當根據(jù)索引碼的值搜索數(shù)據(jù)時,索引提供了對數(shù)據(jù)的快速訪問。事實上,沒有索引,數(shù)據(jù)庫也能根據(jù)SELECT語句成功地檢索到結(jié)果,但隨著表變得越來越大,使用“適當”的索引的效果就越來越明顯。注意,在這句話中,我們用了“適當”這個詞,這是因為,如果使用索引時不認真考慮其實現(xiàn)過程,索引既可以提高也會破壞數(shù)據(jù)庫的工作性能。

索引實際上是一種特殊的目錄,SQL SERVER提供了兩種索引:

l 聚集索引(clustered index,也稱聚類索引、簇集索引)

我們把這種正文內(nèi)容本身就是一種按照一定規(guī)則排列的目錄稱為“聚集索引”。

例如:

漢語字典中按拼音查某一個字,就是使用“聚集索引”,實際上,你根本用不著查目錄,直接在字典正文里找,就能很快找到需要的漢字(假設(shè)你知道發(fā)音)。

l 非聚集索引(nonclustered index,也稱非聚類索引、非簇集索引)

我們把目錄純粹是目錄,正文純粹是正文的排序方式稱為“非聚集索引”。

例如:

漢語字典中按部首查某一個字,部首目錄和正文一定要刻意的通過頁碼才能聯(lián)系到一起,其順序不是天然一致的。

聚集索引與非聚集索引的最大區(qū)別就在于:聚集索引是對原數(shù)據(jù)表進行排序,因此只要符合索引條件,就能夠直接連續(xù)的讀取數(shù)據(jù)記錄,幾乎可以達到對數(shù)據(jù)表的零掃描;而非聚集索引僅僅只是另外建了一張索引表,取數(shù)據(jù)的時候,從索引表取得結(jié)果后,還需要到指針所指的數(shù)據(jù)行讀取相應(yīng)數(shù)據(jù),因此,在性能上,聚集索引會大大優(yōu)于非聚集索引。

但是在一張表中,聚集索引只允許一個,是比較寶貴的,因此要盡可能的用于那些使用頻率最高的索引上。另外,查詢時必需要用到索引的起始列,否則索引無效。另外,起始列也必需是使用頻繁的列,那樣的索引性能才會達到最優(yōu)化。

(二)表:何時應(yīng)使用聚集索引或非聚集索引

動作描述 使用聚集索引 使用非聚集索引

列經(jīng)常被分組排序 ○ ○

返回某范圍內(nèi)的數(shù)據(jù) ○

一個或極少不同值

小數(shù)目的不同值 ○

大數(shù)目的不同值 ○

頻繁更新的列 ○

外鍵列 ○ ○

主鍵列 ○ ○

頻繁修改索引列 ○

(三)索引建立的一些注意項

1、不要把聚集索引浪費在主鍵上,除非你只按主鍵查詢

雖然SQL SERVER默認是在主鍵上建立聚集索引的,但實際應(yīng)用中,這樣做比較浪費。通常,我們會在每個表中都建立一個ID列,以區(qū)分每條數(shù)據(jù),并且這個ID列是自動增大的,步長一般為1。此時,如果我們將這個列設(shè)為主鍵,SQL SERVER會將此列默認為聚集索引。這樣做有好處,就是可以讓您的數(shù)據(jù)在數(shù)據(jù)庫中按照ID進行物理排序,但這樣做實用價值不大。

從我們前面談到的聚集索引的定義我們可以看出,使用聚集索引的最大好處就是能夠根據(jù)查詢要求,迅速縮小查詢范圍,避免全表掃描。在實際應(yīng)用中,因為ID號是自動生成的,我們并不知道每條記錄的ID 號,所以我們很難在實踐中用ID號來進行查詢。這就使讓ID號這個主鍵作為聚集索引成為一種資源浪費。聚集索引相對與非聚集索引的優(yōu)勢是很明顯的,而每個表中只能有一個聚集索引的規(guī)則,這使得聚集索引變得更加寶貴,應(yīng)該用在其他查詢頻率高的字段上。其次,讓每個ID號都不同的字段作為聚集索引也不符合“大數(shù)目的不同值情況下不應(yīng)建立聚合索引”規(guī)則;當然,這種情況只是針對用戶經(jīng)常修改記錄內(nèi)容,特別是索引項的時候會負作用,但對于查詢速度并沒有影響。

2、索引的建立要根據(jù)實際應(yīng)用需求來進行

并非是在任何字段上簡單地建立索引就能提高查詢速度。聚集索引建立的規(guī)則大致是“既不能絕大多數(shù)都相同,又不能只有極少數(shù)相同”。舉個例子,在公文表的收發(fā)日期字段上建立聚合索引是比較合適的。在政務(wù)系統(tǒng)中,我們每天都會收一些文件,這些文件的發(fā)文日期將會相同,在發(fā)文日期上建立聚合索引對性能的提升應(yīng)該是相當大的。在群集索引下,數(shù)據(jù)物理上按順序存于數(shù)據(jù)頁上,重復值也排列在一起,因而在范圍查找時,可以先找到這個范圍的起末點,且只在這個范圍內(nèi)掃描數(shù)據(jù)頁,避免了大范圍掃描,提高了查詢速度。

另一個相反的例子:比如在雇員表的“性別”列上只有“男”與“女”兩個不同值,因此就完全沒必要建立索引。

3、在聚集索引中加入所有需要提高查詢速度的字段,形成復合索引

根據(jù)一些實驗的結(jié)果,我們可以得出一些可供參考的結(jié)論:

ü 僅用復合聚集索引的起始列作為查詢條件和同時用到復合聚集索引的全部列的查詢,速度是幾乎一樣的,甚至比后者還要快(在查詢結(jié)果集數(shù)目一樣的情況下);

ü 僅用復合聚集索引的非起始列作為查詢條件的話,這個索引是不起任何作用的。

ü 復合聚集索引的所有列都用上,而且因為查詢條件嚴格,查詢結(jié)果少的話,會形成“索引覆蓋”,性能可以達到最優(yōu)。

ü 最重要的一點:無論是否經(jīng)常使用復合聚合索引的其他列,其起始列一定要是使用最頻繁的列。

4.根據(jù)實踐得出的一些其他經(jīng)驗,特定情況下有效

ü 用聚合索引比用不是聚合索引的主鍵速度快;

ü 用聚合索引比用一般的主鍵作order by速度快,特別是在小數(shù)據(jù)量情況;

ü 使用聚合索引內(nèi)的時間段,搜索時間會按數(shù)據(jù)占整個數(shù)據(jù)表的百分比成比例減少,而無論聚合索引使用了多少個;

ü 日期列不會因為有分秒的輸入而減慢查詢速度;

ü 由于改變一個表的內(nèi)容,將會引起索引的變化。頻繁的insert,update,delete語句將導致系統(tǒng)花費較大的代價進行索引更新,引起整體性能的下降。一般來講,在對查詢性能的要求高于對數(shù)據(jù)維護性能要求時,應(yīng)該盡量使用索引,否則,就要慎重考慮一下付出的代價。在某些極端情況下,可先刪除索引,再對數(shù)據(jù)庫表更新大量數(shù)據(jù),最后再重建索引,新建立的索引總是比較好用。

二、編寫優(yōu)化的SQL語句,充分利用索引

下面就某些SQL語句的where子句編寫中需要注意的問題作詳細介紹。在這些where子句中,即使某些列存在索引,但是由于編寫了劣質(zhì)的SQL,系統(tǒng)在運行該SQL語句時也不能使用該索引,而同樣使用全表掃描,這就造成了響應(yīng)速度的極大降低。

SQL語句在提交給數(shù)據(jù)庫進行操作前,都會經(jīng)過查詢分析階段,SQLSERVER內(nèi)置的查詢優(yōu)化器會分析查詢條件的的每個部分,并判斷這些條件是否符合掃描參數(shù)(SARG)的標準。只有當一個查詢條件符合SARG的標準,才可以通過預先設(shè)置的索引,提升查詢性能。

SARG的定義:用于限制搜索操作的一種規(guī)范,通常是指一個特定的匹配,一個確定范圍內(nèi)的匹配或者兩個以上條件的AND連接。一般形式如下:

列名 操作符 <常數(shù) 或 變量> 或

<常數(shù) 或 變量> 操作符 列名

列名可以出現(xiàn)在操作符的一邊,而常數(shù)或變量出現(xiàn)在操作符的另一邊。如:

Name=?張三?

價格>5000

5000<價格

Name=?張三? and 價格>5000

如果一個表達式不能滿足SARG的形式,那它就無法限制搜索的范圍了,也就是說SQL SERVER必須對每一行都判斷它是否滿足WHERE子句中的所有條件,既進行全表掃描。所以,一個索引對于不滿足SARG形式的表達式來說是無用的, 如:當查詢條件為“價格*2 >5000”時,就無法利用建立在價格字段上的索引。

SQLSERVER內(nèi)置了查詢優(yōu)化器,能將一些條件自動轉(zhuǎn)換為符合SARG標準,如:將“價格*2 >5000” 轉(zhuǎn)換為“價格 >2500/2 ”,以達到可以使用索引的目的,但這種轉(zhuǎn)化不是100%可靠的,有時會有語義上的損失,有時轉(zhuǎn)化不了。如果對“查詢優(yōu)化器”的工作原理不是特別了解,寫出的SQL語句可能不會按照您的本意進行查詢。所以不能完全依賴查詢優(yōu)化器的優(yōu)化,建議大家還是利用自己的優(yōu)化知識,盡可能顯式的書寫出符合SARG標準的 SQL語句,自行確定查詢條件的構(gòu)建方式,這樣一方面有利于查詢分析器分析最佳索引匹配順序,另一方面也有利于今后重讀代碼。

介紹完SARG后,我們再結(jié)合一些實際運用中的例子來做進一步的講解:

1、Like語句是否屬于SARG取決于使用%通配符的樣式

如:name like ?張%?,這就屬于SARG

而:name like ?%張? ,就不屬于SARG

通配符%在字符串首字符的使用會導致索引無法使用,雖然實際應(yīng)用中很難避免這樣用,但還是應(yīng)該對這種現(xiàn)象有所了解,至少知道此種用法性能是很低下的。

2、“非”操作符不滿足SARG形式,使得索引無法使用

不滿足SARG形式的語句最典型的情況就是包括非操作符的語句,如:NOT、!=、<>、!<、!>、NOT EXISTS、NOT IN、NOT LIKE等。

下面是一個NOT子句的例子:

...where not(status ='valid')

not運算符也隱式的包含在另外一些邏輯運算符中,比如<>運算符。見下例:

...where status <>'invalid';

再看下面這個例子:

select * from employee where salary<>3000;

對這個查詢,可以改寫為不使用not:

select * from employee where salary<3000 or salary>3000;

雖然這兩種查詢的結(jié)果一樣,但是第二種查詢方案會比第一種查詢方案更快些。第二種查詢允許對salary列使用索引,而第一種查詢則不能使用索引。

3、函數(shù)運算不滿足SARG形式,使得索引無法使用

例:下列SQL條件語句中的列都建有恰當?shù)乃饕珗?zhí)行速度卻非常慢:

select * from record where substring(card_no,1,4)=′5378′(13秒)

select * from record where amount/30< 1000(11秒)

select * from record where convert(char(10),date,112)=′19991201′(10秒)

分析:

where子句中對列的任何操作結(jié)果都是在SQL運行時逐列計算得到的,因此它不得不進行全表掃描,而沒有使用該列上面的索引;如果這些結(jié)果在查詢編譯時就能得到,那么就可以被SQL優(yōu)化器優(yōu)化,使用索引,避免表搜索,因此將SQL重寫成下面這樣:

select * from record where card_no like ′5378%′(< 1秒)

select * from record where amount < 1000*30(< 1秒)

select * from record where date= ′1999/12/01′(< 1秒)

你會發(fā)現(xiàn)SQL明顯快很多

4、盡量不要對建立了索引的字段,作任何的直接處理

select * from employs where first_name + last_name ='beill cliton';

無法使用索引

改為:

select * from employee where

first_name = substr('beill cliton',1,instr('beill cliton',' ')-1)and

last_name = substr('beill cliton',instr('beill cliton',' ')+1)

則可以使用索引

5、不同類型的索引效能是不一樣的,應(yīng)盡可能先使用效能高的

比如:數(shù)字類型的索引查找效率高于字符串類型,定長字符串char,nchar的索引效率高于變長字符串varchar,nvarchar的索引。

應(yīng)該將

where username='張三' and age>20

改進為

where age>20 and username='張三'

注意:

此處,SQL的查詢分析優(yōu)化功能可以做到自動重排條件順序,但還是建議預先手工排列好。

6、盡量不要使用 is null 與 is not null作為查詢條件

任何包含null值的列都將不會被包含在索引中,如果某列數(shù)據(jù)中存在空值,那么對該列建立索引的性能提升是值得懷疑的,尤其是將null作為查詢條件的一部分時。建議一方面避免使用is null和is not null, 另一方面不要讓數(shù)據(jù)庫字段中存在null, 即使沒有內(nèi)容,也應(yīng)利用缺省值,或者手動的填入一個值,如:?? 空字符串。

7、某些情況下IN 的作用與OR 相當,且都不能充分利用索引

例:表stuff有200000行,id_no上有非群集索引,請看下面這個SQL:

select count(*)from stuff where id_no in(′0′,′1′)(23秒)

where條件中的′in′在邏輯上相當于′ or′,所以語法分析器會將in(′0′,′1′)轉(zhuǎn)化為id_no =′0′ or id_no=′1′來執(zhí)行。我們期望它會根據(jù)每個or子句分別查找,再將結(jié)果相加,這樣可以利用id_no上的索引;但實際上,它卻采用了“OR策略”,即先取出滿足每個or子句的行,存入臨時數(shù)據(jù)庫的工作表中,再建立唯一索引以去掉重復行,最后從這個臨時表中計算結(jié)果。因此,實際過程沒有利用id_no 上索引,并且完成時間還要受tempdb數(shù)據(jù)庫性能的影響。

實踐證明,表的行數(shù)越多,工作表的性能就越差,當stuff有620000行時,執(zhí)行時間會非常長!如果確定不同的條件不會產(chǎn)生大量重復值,還不如將or子句分開:

select count(*)from stuff where id_no=′0′

select count(*)from stuff where id_no=′1′

得到兩個結(jié)果,再用union作一次加法合算。因為每句都使用了索引,執(zhí)行時間會比較短,select count(*)from stuff where id_no=′0′

union

select count(*)from stuff where id_no=′1′

從實踐效果來看,使用union在通常情況下比用or的效率要高的多,而exist關(guān)鍵字和in關(guān)鍵字在用法上類似,性能上也類似,都會產(chǎn)生全表掃描,效率比較低下,根據(jù)未經(jīng)驗證的說法,exist可能比in要快些。

8、使用變通的方法提高查詢效率

like關(guān)鍵字支持通配符匹配,但這種匹配特別耗時。例如:select * from customer where zipcode like “21_ _ _”,即使在zipcode字段上已建立了索引,在這種情況下也可能還是采用全表掃描方式。如果把語句改為:select * from customer where zipcode >“21000”,在執(zhí)行查詢時就會利用索引,大大提高速度。但這種變通是有限制的,不應(yīng)引起業(yè)務(wù)意義上的損失,對于郵政編碼而言,zipcode like “21_ _ _” 和 zipcode >“21000” 意義是完全一致的。

9、組合索引的高效使用

假設(shè)已在date,place,amount三個字段上建立了組合索引

select count(*)from record

where date > ′19991201′ and date < ′19991214′ and amount > 2000

(< 1秒)

select date,sum(amount)from record group by date

(11秒)

select count(*)from record

where date > ′19990901′ and place in(′BJ′,′SH′)

(< 1秒)

這是一個設(shè)置較合理的組合索引。它將date作為前導列,使每個SQL都可以利用索引,并且在第一和第三個SQL中形成了索引覆蓋,因而性能達到了最優(yōu)。如果索引不便于更改,修正SQL中的條件順序以配合索引順序也是可行的。

10、order by按聚集索引列排序效率最高

排序是較耗時的操作,應(yīng)盡量簡化或避免對大型表進行排序,如縮小排序的列的范圍,只在有索引的列上排序等等。

我們來看:(gid是主鍵,fariqi是聚合索引列)

select top 10000 gid,fariqi,reader,title from tgongwen

用時:196 毫秒。掃描計數(shù) 1,邏輯讀 289 次,物理讀 1 次,預讀 1527 次。

select top 10000 gid,fariqi,reader,title from tgongwen order by gid asc

用時:4720毫秒。掃描計數(shù) 1,邏輯讀 41956 次,物理讀 0 次,預讀 1287 次。

select top 10000 gid,fariqi,reader,title from tgongwen order by gid desc

用時:4736毫秒。掃描計數(shù) 1,邏輯讀 55350 次,物理讀 10 次,預讀 775 次。

select top 10000 gid,fariqi,reader,title from tgongwen order by fariqi asc

用時:173毫秒。掃描計數(shù) 1,邏輯讀 290 次,物理讀 0 次,預讀 0 次。

select top 10000 gid,fariqi,reader,title from tgongwen order by fariqi desc

用時:156毫秒。掃描計數(shù) 1,邏輯讀 289 次,物理讀 0 次,預讀 0 次。

從以上我們可以看出,不排序的速度以及邏輯讀次數(shù)都是和“order by 聚集索引列” 的速度是相當?shù)模@些都比“order by 非聚集索引列”的查詢速度是快得多的。

同時,按照某個字段進行排序的時候,無論是正序還是倒序,速度是基本相當?shù)摹?/p>

三、關(guān)于節(jié)省數(shù)據(jù)查詢系統(tǒng)開銷方面的措施

1、使用TOP盡量減少取出的數(shù)據(jù)量

TOP是SQL SERVER中用來提取前幾條或前某個百分比數(shù)據(jù)的關(guān)鍵詞。

select top 20 gid,fariqi,reader,title from tgongwen order by gid desc select top 60 percent gid,fariqi,reader,title from tgongwen order by gid desc

在實際的應(yīng)用中,應(yīng)該經(jīng)常利用top 剔除掉不必要的數(shù)據(jù),只保留必須的數(shù)據(jù)集合。這樣不僅可以減少數(shù)據(jù)庫邏輯讀的次數(shù),還能避免不必要的內(nèi)存浪費,對系統(tǒng)性能的提升都是有好處的。

2、字段提取要按照“需多少、提多少”的原則,避免“select *”

這個舉個例子:

select top 10000 gid,fariqi,reader,title from tgongwen order by gid desc

用時:4673毫秒

select top 10000 gid,fariqi,title from tgongwen order by gid desc

用時:1376毫秒

select top 10000 gid,fariqi from tgongwen order by gid desc

用時:80毫秒

由此看來,字段大小越大,數(shù)目越多,select所耗費的資源就越多,比如取int類型的字段就會比取char的快很多。我們每少提取一個字段,數(shù)據(jù)的提取速度就會有相應(yīng)的提升。提升的幅度根據(jù)舍棄的字段的大小來判斷。

3、count(*)與 count(字段)方法比較

我們來看一些實驗例子(gid為Tgongwen的主鍵):

select count(*)from Tgongwen

用時:1500毫秒

select count(gid)from Tgongwen

用時:1483毫秒

select count(fariqi)from Tgongwen

用時:3140毫秒

select count(title)from Tgongwen 用時:52050毫秒

從以上可以看出,用count(*)和用 count(主鍵)的速度是相當?shù)模鴆ount(*)卻比其他任何除主鍵以外的字段匯總速度要快,而且字段越長,匯總速度就越慢。如果用 count(*),SQL SERVER會自動查找最小字段來匯總。當然,如果您直接寫count(主鍵)將會來的更直接些。

4、有嵌套查詢時,盡可能在內(nèi)層過濾掉數(shù)據(jù)

如果一個列同時在主查詢和where子句中出現(xiàn),很可能當主查詢中的列值改變之后,子查詢必須重新查詢一次。而且查詢嵌套層次越多,效率越低,因此應(yīng)當盡量避免子查詢。如果子查詢不可避免,那么要在子查詢中過濾掉盡可能多的行。

5、多表關(guān)聯(lián)查詢時,需注意表順序,并盡可能早的過濾掉數(shù)據(jù)

在使用Join進行多表關(guān)聯(lián)查詢時候,應(yīng)該使用系統(tǒng)開銷最小的方案。連接條件要充份考慮帶有索引的表、行數(shù)多的表,并注意優(yōu)化表順序;說的簡單一點,就是盡可能早的將之后要做關(guān)聯(lián)的數(shù)據(jù)量降下來。

一般情況下,sqlserver 會對表的連接作出自動優(yōu)化。例如:

select name,no from A

join B on A.id=B.id

join C on C.id=A.id

where name='wang'

盡管A表在From中先列出,然后才是B,最后才是C。但sql server可能會首先使用c表。它的選擇原則是相對于該查詢限制為單行或少數(shù)幾行,就可以減少在其他表中查找的總數(shù)據(jù)量。絕大多數(shù)情況下,sql server 會作出最優(yōu)的選擇,但如果你發(fā)覺某個復雜的聯(lián)結(jié)查詢速度比預計的要慢,就可以使用SET FORCEPLAN語句強制sql server按照表出現(xiàn)順序使用表。如上例加上:SET FORCEPLAN ON…….SET FORCEPLAN OFF 表的執(zhí)行順序?qū)凑漳闼鶎懙捻樞驁?zhí)行。在查詢分析器中查看2種執(zhí)行效率,從而選擇表的連接順序。SET FORCEPLAN的缺點是只能在存儲過程中使用。

小結(jié):

? 聚集索引比較寶貴,應(yīng)該用在查詢頻率最高的地方;

? 在數(shù)據(jù)為“既不是絕大多數(shù)相同,也不是極少數(shù)相同”狀態(tài)時,最能發(fā)揮聚集索引的潛力;

? 復合索引的設(shè)置和使用要注意保持順序一致;

? 條件子句的表達式最好符合SARG規(guī)范,是可利用索引的;

? 任何對列的操作都導致全表掃描,如數(shù)據(jù)庫函數(shù)、計算表達式等,查詢時應(yīng)盡可能將操作移至等號的某一邊;

? 要注意含有null值時,是不能充分利用索引的;

? exist, in、or等子句常會使索引失效;

如果不產(chǎn)生大量重復值,可以考慮把子句拆開,再用union拼合;

? 排序時應(yīng)充分利用帶索引的字段;

? 盡可能早,快的過濾掉無用的數(shù)據(jù),只將必須的數(shù)據(jù)帶到后續(xù)的操作中去

從前面講敘的內(nèi)容可以看出,SQL語句優(yōu)化的實質(zhì)就是在結(jié)果正確的前提下,用分析優(yōu)化器可以識別的SARG規(guī)范語句,充份利用索引,減少數(shù)據(jù)的I/O次數(shù),盡量避免全表掃描的發(fā)生。

以上內(nèi)容有些是指導性的理論原則,有些是實際摸索的經(jīng)驗,大家在使用時應(yīng)靈活處理,根據(jù)實際情況,選擇合適的方法。本文中列舉的實驗數(shù)據(jù)僅作比對用,不具備普遍意義。大家在實際項目中,應(yīng)充分利用性能監(jiān)測和分析工具(如SQLSERVER帶的相關(guān)工具)來檢驗自己的優(yōu)化效果。

此外,還有很重要的一點要提醒大家,同樣復雜的數(shù)據(jù)操作,在SQLSERVER數(shù)據(jù)庫級別完成的代價要遠遠小于在應(yīng)用端用程序代碼完成的代價,所以建議大家全面,深入的學習SQL語法中重要關(guān)鍵字的應(yīng)用,如:Group By,Having等,盡量把數(shù)據(jù)操作任務(wù)放在數(shù)據(jù)庫系統(tǒng)中完成。數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能優(yōu)化是一個復雜的過程,上述這些只是在SQL語句層次的一種體現(xiàn),深入研究還會涉及數(shù)據(jù)庫層的資源配置、網(wǎng)絡(luò)層的流量控制以及操作系統(tǒng)層的總體設(shè)計等等,這些將在以后的文章中詳細論述

如何獲得sql查詢侯滿足條件的記錄數(shù)

select kch into :ls_kch from cj_cjb where kch = :s_kch and kscj < 60 using ltr;

請問如何知道符合條件kch的紀錄數(shù)。SELECT KCH, COUNT(*)INTO :ls_kch, :ll_count cj_cjb WHERE kch = :s_kch AND kscj < 60 UAING ltr;

ll_count

SRY少了個FROM

執(zhí)行完后看:

sqlca.sqlnrows

呵呵select只能返回一條記錄啊,要是有多條記錄符合條件pb是會報錯的。

are2000(烏鴉與土狗)說的對呀

只是想知道符合條件的紀錄數(shù),直接這樣寫:

SELECT COUNT(*)

INTO :ll_count

from cj_cjb

WHERE kch = :s_kch

AND kscj < 60

UAING sqlca;

樓上說的對啊

呵呵

多行的話要用游標的

用游標取的時候,在for 循環(huán)中加個變量就可以知道條數(shù),數(shù)據(jù)也取出來了~~

如何查詢SQLSERVER數(shù)據(jù)庫DB1中所有表的記錄數(shù)?

use DB1

if object_id('tempdb..##')is not null drop table ##

select cast(null as sysname)as 表名稱, 1 as 記錄數(shù) into ## where 1 = 0

declare @TableName sysname

declare testcur cursor for select [name] from sysobjects where xtype ='U' order by [name]

open testcur

fetch next from testcur into @TableName

while @@fetch_status = 0

begin

exec('insert into ## select ''' + @TableName + ''',(select count(1)from ' + @TableName + ')')

fetch next from testcur into @TableName end

close testcur

deallocate testcur

select * from ##

drop table ##

Pubwin EP數(shù)據(jù)備份:

SQL server2000版本重裝前,需要備份哪些數(shù)據(jù)

SQL server2000版本重裝前,需要備份數(shù)據(jù)庫文件,文件路徑為: HintsoftPubwinServerdatabase 下的“l(fā)ocal_Data.MDF”和“l(fā)ocal_log.LDF”

除了備份數(shù)據(jù)庫文件以外還有就是需要備份數(shù)據(jù)庫的備份文件 其路徑為 : HintsoftPubwinServerappServserverwebappsNetCafebackuplongtermdata 還有一個方面需要注意的是 網(wǎng)吧的會員是否存在頭像與身份證證件照 如有的話 請備份

HintsoftPubwinServerappServserverwebappsNetCafeheadphotos HintsoftPubwinServerappServserverwebappsNetCafephotos ; 備份好后,重新安裝將備份文件放置相應(yīng)的目錄即可。如何防止遠程修改數(shù)據(jù)庫

一、屏蔽1433端口(以win2000為例): 設(shè)置安全策略:

“控制面板”—〉“管理工具”—〉“本地安全策略”

選擇IP安全策略—〉創(chuàng)建IP安全策略—〉建立名稱—〉“激活默認響應(yīng)規(guī)則”下一步—〉初始身份驗證方法選擇“win2000默認(V5)”—〉彈出的警告界面直接確認—〉完成建立安全策略。

選擇你新建的策略—〉屬性—〉添加—〉選擇“此規(guī)則不指定隧道” —〉網(wǎng)絡(luò)類型選擇“所有網(wǎng)絡(luò)連接”—〉身份驗證方法“win2000默認(V5)” —〉彈出的警告界面直接確認—〉“所有IP通訊”—〉篩選器選擇“要求安全設(shè)置”—〉繼續(xù)下一步完成選中“所有 IP 通訊”—〉點“編輯”按鈕,打開“IP篩選器列表”—〉繼續(xù)點“編輯”按鈕,打開“篩選器 屬性” —〉在“尋址”中,源地址選擇“任何IP地址”,目的地址選擇“我的IP地址”,同時選中“鏡像”—〉在“協(xié)議”中,協(xié)議選擇“TCP”,設(shè)置協(xié)議端口為 “從任意端口”到“到此端口:1433” —〉確定,為了安全起見,最好再新建一個IP篩選器屏蔽1434端口。

完成上面配置后,在剛配置的策略點擊右鍵,選擇指派,完成后重新啟動機器。如何驗證數(shù)據(jù)庫的1433已經(jīng)不能連接?

1)局域網(wǎng)內(nèi)找一個機器(非本機)安裝企業(yè)管理,添加注冊剛剛配制過安全策略的服務(wù)器,應(yīng)該是那個等待注冊的畫面,狀態(tài)中顯示:“正在驗證注冊信息”或拒絕連接或服務(wù)未開啟的提示。

2)局域網(wǎng)內(nèi)找一個機器(非本機),在dos控制臺下,輸入telnet EP服務(wù)器IP 1433 如果安全策略應(yīng)用成功的話,應(yīng)該不能夠連接,會出現(xiàn)如下的話:正在連接到xxxxxxx...無法打開到主機的連接 在端口 1433 : 連接失敗。如果應(yīng)用安全策略失敗,則能夠連接成功。

二、關(guān)閉不安全的服務(wù)

第一步只是屏蔽了其它機器連接數(shù)據(jù)庫的端口,但是操作系統(tǒng)本身還存在一些漏洞,這些漏洞同樣會導致數(shù)據(jù)庫不安全。可以運行services.msc進入本地服務(wù)管理,禁用WMI和Server服務(wù)(屏蔽WMI和 IPC共享漏洞),但是有些網(wǎng)吧需要用到Server服務(wù)的部分功能,所以對于Server服務(wù),可以使用以下兩種較為靈活的方法來屏蔽: 1)批處理自啟動法:

打開記事本,輸入以下內(nèi)容(記得每行最后要回車): net share ipc$ /delete net share admin$ /delete net share c$ /delete net share d$ /delete net share e$ /delete ……(你有幾個硬盤分區(qū)就寫幾行這樣的命令)

保存為NotShare.bat(注意后綴!),然后把這個批處理文件拖到“程序”→“啟動”項,這樣每次開機就會運行它,也就是通過net命令關(guān)閉共享。

如果哪一天你需要開啟某個或某些共享,只要重新編輯這個批處理文件即可(把相應(yīng)的那個命令行刪掉)。2)注冊表改鍵值法 “ 開始”→“運行”輸入“regedit”確定后,打開注冊表編輯器,找到“HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServiceslanmanserverparameters”項,雙擊右側(cè)窗口中的 “AutoShareServer”項將鍵值由1改為0,這樣就能關(guān)閉硬盤各分區(qū)的共享。如果沒有AutoShareServer項,可自己新建一個再改鍵值。然后還是在這一窗口下再找到“AutoShareWks”項,也把鍵值由1改為0,關(guān)閉admin$共享。最后到 “HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa”項處找到 “restrictanonymous”,將鍵值設(shè)為1,關(guān)閉IPC$共享。

PUBWIN后臺網(wǎng)頁應(yīng)該映射那個端口? 8443,443

sql server多表關(guān)聯(lián)update

UPDATE Tab1 SET a.Name = b.Name FROM Tab1 a,Tab2 b WHERE a.ID = b.ID

批量insert數(shù)據(jù)

insert into student(sno,sname,ssex,sage,sdept)select '95001','李勇','男','20','cs' union select '95002','劉晨','女','19','is' union select '95003','王敏','女','18','ma' union select '95004','張立','男','19','is'

第三篇:精妙的作文語句

精妙的作文語句.txt39人生旅程并不是一帆風順的,逆境 失意會經(jīng)常伴隨著我們,但人性的光輝往往在不如意中才顯示出來,希望是激勵我們前進的巨大的無形的動力。40奉獻是愛心,勇于付出,你一定會收到意外之外的饋贈。

(一)付出與收獲

1、有人說付出和接受是等價的,是一種人們情感的儲蓄,一味的索取,只會等來情感的毀滅;我要說:付出與接受是雙向的,只有一方的的主動是得不到真情的回報的,我們需要彼此心靈真誠的付出。

2、在人生的道路上,付出與接受是不可避免的。在荊棘路前,看著條條荊棘,不免退避三舍之感油然而生。但當你付出努力,忍住被荊棘劃過時的劇痛感,勝利的女神已經(jīng)向你露出了燦爛的微笑,這時,請你不要害羞,自豪的去擁抱本就屬于你的成3、大海無語,卻有魚兒為它編制多彩的圖案;大地無語,卻有萬物為他譜寫生命的樂章;天空無語,卻有鳥兒們?yōu)樗莩畹拿篮谩8冻龊笥袑α夹牡奈拷澹邮芎笥袑ι畹淖非蟆I铍m無語,卻有著付出與接受的輪回,有著付出與接受所譜寫的動聽、美妙的華麗樂章!請把握好付出與接受!

愛是生命的真諦,接受是愛的源泉,而付出則是愛的靈魂。任何的接受與付出,都是情感的陶冶與升華。

4、流光溢彩的鮮花,它們接受了陽光的洗禮,細雨的滋潤,付出了自己婀娜多姿的臉龐來點綴世界;高大偉岸的樹木,它們接受了人們的澆灌,鳥兒的祝福,付出了自己參天的綠蔭來回報恩者;潺潺溪流,它們接受了雨水的恩賜,魚兒的舞蹈,付出了自己甘甜清澈的血液來感謝??

5、我喜歡接受的美麗,付出的偉大。如果付出是充滿荊棘的漫漫征途,那么接受就是征途后蜂飛蝶舞的錦簇花團。歷史滾滾前進的車輪告訴我們,沒有人民拋頭顱、撒熱血的氣節(jié),哪會有新中國初升的太陽?

(二)關(guān)于文化

1、文化,或者說,藝術(shù),做了什么呢?它使孤獨的個人為自己說不出的痛苦找到了名字和定義。藝術(shù)像一塊蘸了藥水的紗布,輕輕擦拭他靈魂深處從未愈合的傷口。

2、文化藝術(shù)使孤立的個人打開深鎖自己的門,走出去,找到同類。他發(fā)現(xiàn),他的經(jīng)驗不是孤立的,而是共同的集體的經(jīng)驗,他的痛苦和喜悅,是一個可以與人分享的痛苦和喜悅。

3、人本是散落的珠子,隨地亂滾,文化就是那根柔弱又強韌的細絲,將珠子串起來成為社會。

4、一個中國孩子,甚至在呀呀學語的時候,已經(jīng)可能背下來許多古典詩詞了。過年時吟爆竹聲中一歲除,春雨時吟清明時節(jié)雨紛紛,中秋時吟明月幾時有,送別時吟勸君更進一杯酒,喜悅時吟漫卷詩書喜欲狂,慷慨時吟大江東去,疲倦時吟春眠不覺曉,激越時吟憑欄處瀟瀟雨歇??古典詩詞已經(jīng)規(guī)定了鑄就了中國人的心理結(jié)構(gòu)和表達。

(三)書籍和學習

1、智慧必須通過智慧才能被認知,否則智慧也成為未知。

2、每一本優(yōu)秀的書都開啟了一扇智慧之門,每一扇門后都有一位智者在等候你的來訪,把你引領(lǐng)到新的境

3、在很大程度上,人類精神文明的成果是以書籍的形式保存的,而讀書就是享用這些成果并把它們據(jù)為己有的過程。做一個讀者,就是加入到人類精神文明的傳統(tǒng)中去,做一個文明

4、文字和書籍的發(fā)明,讓后人從一開始就可以站在人類已有文明的起點上,繼續(xù)出

5、與女媧造人并給萬物命名一樣,每一個人的一生,就仿佛在重新經(jīng)歷一遍女媧命名世界的輝煌過程。因為學習,每天的太陽才是新的,我們也在發(fā)生奇妙的變化,日漸創(chuàng)造出一個全新的自我。

(四)要獨立

1、黑色的門緊閉著:一個永遠期待的靈魂死在門內(nèi),一個永遠找尋的靈魂死在門外。每一個靈魂是一個世界,沒有窗戶。而可愛的靈魂都是倔強的獨語者。

2、沒有藍天的深邃可以有白云的飄逸;沒有大海的壯闊可以有小溪的優(yōu)雅;沒有原野的芬芳可以有小草的翠綠!生活中沒有旁觀者的席位,我們總能找到自己的位置,自己的光源,自己的聲音!我們有美的胸襟,我們才活得坦然。我們活得坦然,生活才給我們快樂的體驗。

3、其實,名人形象的高大,是崇拜者自己先屈下膝去仰視的結(jié)果:把別人看作聳入云際的高山,視自己則為一抔黃土。若能站直了看名人,就會發(fā)現(xiàn)在他們顯赫聲名的背后,原來也是一副普通的身材,只不過穿了特制的名袍而已,無須那般景仰的。

(五)要有思想

1、我的思想在荒野上奔馳。有一所落寞的古老的屋子,畫壁漫漶,階石上鋪著苔蘚,像期待著我的腳步。

2、野蠻的符咒尚未掙脫,文明的壓抑接踵而至。一方面,權(quán)貴貪欲的膨脹使得腐敗叢生;另一方面,金錢力量的崛起導致精神平

3、真正有生命力的思想不會被體系的廢墟掩埋,一旦除去體系的虛飾,它們反以更加純粹的面貌出現(xiàn)在天空下,顯示出它們與陽光、土地、生命的堅實聯(lián)系,在我們心中喚起親切的回響。

4、人皆有靈魂,但靈魂未必總是在場的。現(xiàn)代生活的特點之一是靈魂的缺席,它表現(xiàn)在各個方面,例如使人不得安寧的快節(jié)奏,遠離自然,傳統(tǒng)的失落,人與人之間親密關(guān)系的喪失,等等。因此,現(xiàn)代人雖然異常忙碌,卻仍不免感到空虛。

5、法國思想家帕斯卡爾有一句名言:“人是一支有思想的蘆葦。”他的意思是說,人的生命像蘆葦一樣脆弱,宇宙間任何東西都能致人于死地。可是,即使如此,人依然比宇宙間任何東西高貴得多,因為人有一顆能思想的靈魂。

(六)面對苦難

1、痛苦應(yīng)成為我們生命之舟上的壓艙物,正因為有了它的存在,我們的船才得以穩(wěn)健地前行。

2、大約世間之人多是寂寞的吧?未被擊節(jié)贊美的文章,未蒙賞識的赤誠,未受注視的美貌,無人為之垂淚的劇情,徒然的彈了又彈卻不曾被一語道破的高山流水之音??

3、有人說苦難就是不幸。是的,苦難常常把人逼到無奈和困惑的地步,可你也往往因此得以最大地發(fā)揮自己的潛能,體現(xiàn)自己的價值。苦難又是段風雨路,跌倒了爬起來才知尋路的重要和開路的不易。而走過那段泥濘坎坷,前路還有什么可畏懼?這么說,苦難不能算不幸。

4、微笑著的人并非沒有痛苦,只不過他們善于把痛苦錘煉成詩行;微笑著的人并非沒有眼淚,只不過他們善于把眼淚化作心靈的燈盞,照耀著前行的路。微笑是一種氣質(zhì),氣質(zhì)得益于修養(yǎng);微笑是一種境界,境界依靠磨練。相逢一笑泯恩怨,桃花依舊笑春風??

5、叔本華曾說:“生活是一條由熾熱的煤炭所鋪成的環(huán)形道路。”因為他的情感中有對生活苦難的深度感知。張愛玲說:“生活是一件美麗的華袍,里面爬滿了虱子。”因為她的情感中有對生活本質(zhì)深刻的剖析。

6、毛澤東面對生活中的苦難是“雄關(guān)漫道真如鐵,而今邁步從頭越”的激昂;蘇東坡是“一樽還酹江月”的感嘆;徐志摩是“得之,我幸;失之,我命”的自慰。

(七)坎坷與堅強

1、如果說他的命運是那破舊的花架,那么因為他的堅強意志,變得繁花似錦,光艷奪人;如果說他的命運是那漆黑的夜空,那么因為他的堅強意志,變得繁星閃爍,熠熠發(fā)光;如果說他的命運是那貧瘠的土地,那么因為他的堅強意志,變得蔥蔥郁郁、油油翠綠。

2、我們的老祖宗歸有光八次落第,于是有了《項脊軒志》這樣的雋永文章;英國的大將軍威靈頓七敗七戰(zhàn),于是有了永垂千古的美名;越王勾踐臥薪嘗膽,于是有了“苦心人,天不負”這樣的豪言壯語。

3、既然不愿意被風雨淋濕,何不未雨綢繆?既然不愿意屈服于坎坷崎嶇,何不磨練自己,讓自己適應(yīng)困難,戰(zhàn)勝困難;既然不能號令風雨,讓日月臣服,為何不趁早學會適應(yīng),為自己撐起一方璀璨星空。

(八)積極樂觀

1、生命之宴該是如此吧!我對生命中的涓滴每有一分賞悅,上帝總立即賜下萬道流泉;我為每一個音符凝神,他總是傾下整匹的音樂如素錦。生命的厚禮,原來只賞賜給那些肯于一嘗的人。

2、世界本來就不“完美”。我們不快樂的程度取決于現(xiàn)實跟它們“應(yīng)該是”的樣子之間有多大距離。如果我們不凡事苛求完美,快樂這檔子事就簡單得多

3、在生與死之間還有一段美妙的征程,叫做生活。這是一段神奇的旅途,它應(yīng)該充滿了夢幻、想象、知識、現(xiàn)實和領(lǐng)悟。

4、如果你意識到,生命是一條單向車道,你永遠不可能再次路過相同的風景,那么你就應(yīng)該全身心地去享受生活,而這就是快樂的真諦了。

5、古往今來,盡管人生虛無的悲論如縷不絕,可是勸人執(zhí)著人生愛惜光陰的教誨更是諄諄在耳。兩相比較,執(zhí)著當然比悲觀明智得多。悲觀主義是一條絕路,冥思苦想人生的虛無,想一輩子也還是那么一回事,絕不會有柳暗花明的一天,反而窒息了生命的樂趣。不如把這個虛無放到括號里,集中精力做好人生的正面文章。既然只有一個人生,世人心目中值得向往的東西,無論成功還是幸福,今生得不到,就永無得到的希望了,何不以緊迫的心情和執(zhí)著的努力,把這一切追求到手再說?

4、我們趨行在人生這個亙古的旅途,在坎坷中奔跑,在挫折里涅盤,憂愁纏滿全身,痛苦飄灑一地。我們累,卻無從止歇;我們苦,卻無法回

(九)做人與責任

1、生命的可愛正在于它的脆弱,脆弱仿佛一根絲,慢慢地纏繞起雪白的繭子。繭子內(nèi),是生,也是死,全看我們怎樣選擇。

2、真正有價值的東西沒有一件是出于個人的雄心或僅僅純粹是出于一種責任感,而是源于對人類和客觀事物的愛和獻身精神。

3、人世間各種其他的責任都是可以分擔或轉(zhuǎn)讓的,惟有對自己的人生的責任,每個人都只能完全由自己來承擔,一絲一毫依靠不了別人。

4、往事付流水。然而,人生中有些往事是歲月帶不走的,仿佛愈經(jīng)沖洗就愈加鮮明,始終活在記憶中。我們生前守護著它們,死后便把它們帶入了永恒。

5、忽然想起泰戈爾的最有名的一句詩:“天空不留下我的痕跡,但我已飛過。”許多的事得失成敗我們不可預料,也承擔不起。我們只需盡力去做,求得一份付出之后的坦然和快樂,奉上我們的真心,然而感銘自己的博大。我們可能一次一次失卻機會,沒有關(guān)系,那只是命運剝奪了你活得高貴的權(quán)利,卻沒有剝奪你活得偉大的權(quán)利!

(十)熱愛生活

1、生活還像一杯紅酒,熱愛生活的人會從中品出無窮無盡的美妙,將它握在手中仔細觀察,它的暗紅色中有血的感覺,那正是生命的痕跡;抿一口留在口中回味,它的甘甜中有一絲苦澀,如人生一般復雜迷離;喝一口下肚,余香沁人心脾,讓人終生受益。

2、人要高瞻遠矚,應(yīng)走出生活里的山谷與陰影,進入一望無際的高原,然后沉浸在那陽光里,讓靈魂翱翔,讓內(nèi)心充滿偉大的夢想,讓生命、生活和熱情恣意奔放。

3、生命不是一篇“文摘”,不接受平淡,只收藏精彩,她是一個完整的過程,是一個“連載”,無論成功還是失敗,她都不會在你背后留有空白;生命也不是一次彩排,走得不好還可以從頭再來,她絕不給你第二次機會,走過去就無法回頭。

4、青春是用意志的血滴和拼搏的汗水釀成的瓊漿——歷久彌香;青春是用不凋的希望和不滅的向往編織的彩虹——絢麗輝煌;青春是用永恒的執(zhí)著和頑強的韌勁筑起的一道銅墻鐵壁——固若金湯

6、當簡愛說“我們是平等的,我不是無感情的機器”,我懂得了做為女性的自尊;當裴多菲說“若為自由故,兩者皆可拋”,我懂得了做為人的價值;當王勃說“海內(nèi)存知己,天涯若比鄰”,我懂得了友情的可貴;當拿破侖說“不想當將軍的士兵不是好士兵”,我懂得了奮斗的意義;當孔子說“三人行必有我?guī)熝伞保叶昧酥t虛的必要;當范仲淹說“先天下之憂而憂,后天下之樂而樂”,我懂得了做人的責任。

(十一)生命

1、生命就像一種回音,你送出什么它就送回什么,你播種什么就收獲什么,你給予什么就得到什么。

2、生命的美麗,永遠展現(xiàn)在她的進取之中;就像大樹的美麗,是展現(xiàn)在它負勢向上高聳入云的蓬勃生機中;像雄鷹的美麗,是展現(xiàn)在它搏風擊雨如蒼天之魂的翱翔中;像江河的美麗,是展現(xiàn)在它波濤洶涌一瀉千里的奔流中。

3、生命是什么?有人說,生命是初生的無知,少年的純真,青年的朝氣,中年的穩(wěn)健,老年的憤世嫉俗。有人說,生命是母親的慈愛,父親的嚴厲,愛人的柔情,朋友的關(guān)切,是一切感情的組合體。有人說,生命是夕陽襯落日,青松立峭壁,萬里平沙落秋雁,三月陽春和白雪,是寶刀快馬,金貂美酒,是孤月冷歌的漂泊。

(十二)幸福

1、幸福是什么?幸福是饑餓者手中的面包,是流浪人身上的那頂帳篷,是不幸者心中的向往。

2、擁有思想的瞬間,是幸福的;擁有感受的快意是幸福的;擁有激動的時刻是幸福的。只因我們能真實地享用生命的饋贈,從而品嘗生命的真實。記住幸福,留下快樂。

3、幸福是花朵,綻放出光明與希望;幸福是果實,回報以芳香與甘甜;幸福是落葉,奉獻出余熱化香泥。

4、幸福是什么?幸福是微笑著的閃著淚光的雙眼;是耳邊親切的問候;是孩子們在沙灘上玩耍;是風燭殘年的老人攜手夕陽;是全家人圍成一桌在中秋幸福、回味幸福呢?你渴望它時,它不會隨叫隨到,而在你不經(jīng)意間她就會悄悄地如天使般降臨你的身旁。她滋潤著你那快要枯竭的心田,一陣陣笑容蕩漾在你的臉龐。

5、幸福是一條緩緩流過的長河,我沿著河岸向上尋找??哦!原來“追求”才是幸福的源頭。

6、有意念才會有目標,有追求才會有幸福。古今中外,無論凡人還是偉人他們都曾有過“追求”。有人追求自由,有人追求理想,有人追求幸福。因為追求,錢學森在數(shù)學方面作出了杰出的貢獻;因為追求,司馬遷在獄中寫成了偉大的著作《史記》;因為追求,沃爾特*迪斯尼成功地繪畫了許多深受大眾喜愛的卡通人物??

7、追求是一種持之以恒的過程,只要心中存在著這種信念,日復一日,年復一年,你一定會到達幸福的彼岸。但其中必定會有狂風暴雨,冰山觸礁,它們就像逆流一樣阻止你前進的步伐。這時,你不要退縮,不要氣餒,哪怕最終只在幸福之門外徘徊。畢竟,我們追求過,努力過,與狂風暴雨拼搏過。追求就是一種幸福。正如泰戈爾所說過的一句話:“天空中沒有留下鳥的痕跡,但我已飛過”。

8、決定我們幸福與不幸,快樂與否的,不在于我們是誰,我們在什么地方,我們有什么,我們正在做什么,而在于我們怎么想。所以,追求著便是幸福

3、對于我們這些平凡的生命來說,能否贏得別人的賀彩并不重要,只要能在我們生活與生存的空間里,大部人能容納你、接受你,小部分人能善待你、喜歡你,有那么幾個人能真愛你、牽掛你,這便是幸福的人生

(十三)成功與失敗

1、從古至今,成功與失敗二詞,永遠都是那么的鮮明。在俗人眼中,成功之人都是高高在上,永遠都是成功的,對于失敗之人,卻是將視為,眼中釘,肉中刺,永無翻身之日。成功沒有永遠的成功,失敗也沒有永遠的失敗!

其實成功與失敗都是對于一個人的考驗。但都有兩個優(yōu)點與兩個缺點!

成功的優(yōu)點在于,試明了人生某一個目標的完成,給于自信之上的自信。證明了,自己的實力與信念!

成功的缺點在于,當一個人成功之后,長時間的生存于,成功的那一刻。而卻不知道,成功與他已經(jīng)慢慢的,產(chǎn)生了距離。

失敗的優(yōu)點在于,真正考驗了一個人的堅韌不拔的意志,和對于失敗的看法。要知道失敗的原因,明白如何對待他!努力戰(zhàn)勝眼前的失敗,戰(zhàn)勝了眼前的失敗,就等于失敗中的成功。因為戰(zhàn)勝自己的成功,是非一般的成功!你才會銘記在心!

失敗的缺點在于,長時間無法從苦海之中,逃離出來。一個人失敗在時候,是需要時間的,但時間的長短就等于,一個人的修為!所以才會在茫茫苦海中,越陷越深,無法自拔!

無論成功還是失敗,都是人生的一個點。就像直線一樣,是用每一個圓點,而點出來的。每個點,可以說是成功,也可是說是失敗。但這個圓點,怎么畫,還再于自己。怎么畫才會圓。

人生的直線,不再于直與不直!而在于,每一個點!之夜享受天倫??

2、幸福如此絢麗多彩,如此令人神往,然而又有誰不渴望幸福、等待,享受。

1.天使飛過的地方留下的是快樂

一直以來,我始終堅信我的世界是一片白色,就像霧一樣,只能看到表面,而深處的角落,那是一個謎,一個不知道有沒有答案的謎。或許不知道是否有那樣的一個角落。

總是很習慣性的微笑,笑的很大聲,那是狂笑,發(fā)瘋似的笑,很傻。但我始終覺得那樣的笑容是沒有任何感情色彩的。那是一種模式,是一種習慣,是偽裝。

我說過很多話,也聽到過很多話,但那種語言就仿如吃飯.睡覺,除了必要性,你還能說它有什么價值嗎?沒有!我一直都認為語言是蒼白的。

我一直按著一個古怪的思維,生存著。我想我是單純的活著,只為了活著而活者,并不是為了活者以外的事而活者。但小天的出現(xiàn),給了我一個驚訝的感覺。她是一個一眼就能看出我心中的角落。她說,我一直壓抑著心中的快樂,我一直都不想讓自已快樂。聽到這話的時候,我手中的杯子就不禁滑落。這是我從未想到的,但卻似乎那么真。此時的我,不禁產(chǎn)生了矛盾,對以前的自已產(chǎn)生了疑問。

她告訴我,她不僅想知道我最近是否快樂,并且還想帶給我快樂。聽到這話的時候,我渾身上下有一股暖流在沸騰,它似乎要吞嗤我。那句話是我聽過最美麗的一句話,它似乎是那美妙的音樂,緩慢的,動聽的流遍全身;它似乎是清澈的泉水,流暢在我心中,滋潤我干澀的心田;它似乎是黑夜中的星星,給我了希望與美好,為我點燃指航的燈火。原來當太陽從東邊升起來的時候,厚厚的霧會消失,前方竟如此的清澈,清晰。

2.一張賀卡,就是一份溫馨的友情,一份熱情的祝愿。它把春的信息捎來,它把愛的種子撒播,它把美好的祝福傳達,它把人間的真情傳遞。

3.我們做事不應(yīng)該空眼其大而不屑其小,它會使我們變的好高務(wù)遠,不切實際;也不應(yīng)該念其粗而忘其細;而應(yīng)該腳踏實地,粗中有細,完成任務(wù)。

4.我將是一架護航機,讓所有的劫機者頭破血流,不讓“9.11”的悲劇重演;我將是一個智能法官,讓冤案重洗,讓罪犯束手就擒;我將是一輛無敵坦克,讓所有的來犯者焦頭爛額;我將是一位自由女神,讓所有的人不受壓迫;我將是一個納米醫(yī)生,讓所有的絕病病人起死回生;我將是一只保護森林、河流、自然界的神鷹,讓我們的家園更加美麗。

5.心靈是一方廣袤的天空,它包容著世間的一切;心靈是一片寧靜的湖水,偶爾也會泛起陣陣漣漪;心靈是一塊皚皚的雪原,它輝映出一個繽紛的世界。

5.痛苦是黑暗中的摸索,前進的路途中滿是坎坷;痛苦是無人理解的悲哀,無助的面對一切挫折;痛苦是心靈最深的折磨,無淚且無法直言;痛苦是天生沒有的表情,是煩惱中的惡魔。

6.愚蠢是一種天生的無奈,是一種后天的懶惰,是一顆自己種下的惡果,是一條好果實中的蛀蟲。

7.謊言是一只心靈的蛀蟲,將人的心蛀得面目全非;謊言是一個深深的泥潭,讓人深陷其中無法自拔;謊言是一個無盡的黑洞,讓人墜入罪惡的深淵萬劫不復。

8.陰險,是一條披著羊皮的狼,干著不見天日的勾當;陰險是善良的公敵,嫉妒的朋友;陰險是一座心靈的冰山,讓人透過清澈感到的是陣陣的寒意。

9.自私是一面鏡子,鏡子里永遠只看得到自己;自私是一塊布匹,蒙住了自己的眼睛,看不見別人的痛楚;自私是一層玻璃,看上去透明,卻始終隔開了彼此的距離。

10.愛心是一片照射在冬日的陽光,使貧病交迫的人感到人間的溫暖;愛心是一泓出現(xiàn)在沙漠里的泉水,使瀕臨絕境的人重新看到生活的希望;愛心是一首飄蕩在夜空的歌謠,使孤苦無依的人獲得心靈的慰藉。

11.靜物是凝固的美,動景是流動的美;直線是流暢的美,曲線是婉轉(zhuǎn)的美;喧鬧的城市是繁華的美,寧靜的村莊是淡雅的美。生活中處處都有美,只要你有一雙發(fā)現(xiàn)美的眼睛,有一顆感悟美的心靈。

12.古語云:“不積跬步,無以至千里;不積小流,無以成江海。”凡立功名于世者,無不是從小處做起,注意點點滴滴的積累,有意識地培養(yǎng)自己的品德才能,不斷自我完善的。若無每日聞雞起舞堅持不懈的毅力,那么祖逖又怎能北伐中原而名垂千古!若無長年筆走龍蛇墨染池水的工夫,那么王羲之又怎能揮毫蓋世被尊為書圣呢?若無半生鉆研演算草稿盈筐的血汗,那么陳景潤又怎能摘取明珠享譽世界呢?

13.伽利略、牛頓、愛迪生是人不是神,其缺點錯誤在所難免,但這并不妨礙他們成為“巨人”。試問,有誰能否認物理學中的落體定律、慣性定律、拋物體運動規(guī)律、擺振動的等時性現(xiàn)象是伽利略建立或發(fā)現(xiàn)的呢?有誰能否定牛頓作為經(jīng)典物理學創(chuàng)立者的地位呢?有誰能否定愛迪生是對人類物質(zhì)文明有重大貢獻的大發(fā)明家呢?

14.徒有萬般“羨魚”心,而無一絲“結(jié)網(wǎng)”意,結(jié)果定會一事無成。這道理雖然淺顯,但實際上卻不是每個人都能清楚認識到的。有的人希望成為愛迪生式的“發(fā)明大王”,可是卻畏于鉆研科學知識之難;有的人想繼莫泊桑之后,再奪“短篇小說之王”的桂冠,但又懾于常年練筆之艱辛;有的人想一鳴驚人成為“音樂巨匠”,卻惰于在五線譜的田地上埋首耕耘;有的人愿自己成為體育明星,卻怠于“聞雞起舞”進行訓練。如此心懷鴻鵠之志,而身屬燕雀之行,連一條小小的魚都會捉不到,更何況要實現(xiàn)那恢宏的大志呢!

15.選擇是一個嶄新的開端,選擇高聳入云的峭崖便需有“路漫漫其修遠兮,吾將上下而求索”的信念;選擇波涌浪滾的大海便需有“直掛云帆濟滄海”的壯志豪情;選擇寒風勁厲的荒漠便需有“醉臥沙場君莫笑,古來征戰(zhàn)幾人回”的博大胸懷-----

16.生活是什么?不同的人有不同的看法。有人說生活如酒。童年就像雞尾酒,色彩斑斕,甜美之味令人回味;青年就像冰鎮(zhèn)的啤酒,色彩濃黑,清涼的同時又讓人覺得苦澀;中年就像烈性酒,純凈無色,辛辣之味使你五臟六腑都會灼熱;老年就像葡萄酒,久存彌香,滴滴讓你感受到香中之甜。(《生活是什么》)

17.如果黑板就是浩淼的大海,那么,老師便是海上的水手。鈴聲響起那刻,你用教職工鞭作漿,劃動那船只般泊在港口的課本。課桌上,那難題堆放,猶如暗礁一樣布列,你手勢生動如一只飛翔的鳥,在講臺上揮一條優(yōu)美弧線——船只穿過??天空飄不來一片云,猶如你亮堂堂的心,一派高遠。

18.痛苦是黑暗中的摸索,前進的路途中滿是坎坷;痛苦是無人理解的悲哀,無助的面對一切挫折;痛苦是心靈最深的折磨,無淚且無法直言;痛苦是天生沒有的表情,是煩惱中的惡魔。

19、希望源于失望,奮起始于憂患,正如一位詩人所說:有饑餓感受的人一定消化好,有緊迫感受的人一定效率高,有危機感受的人一定進步快。

20、別在樹下徘徊,別在雨中沉思,別在黑暗中落淚。向前看,不要回頭,只要你勇于面對抬起頭來,就會發(fā)現(xiàn),分數(shù)的陰霾不過是短暫的雨季。向前看,還有一片明亮的天,不會使人感到彷徨。

21、柔和的陽光斜掛在蒼松翠柏不凋的枝葉上,顯得那么安靜肅穆,綠色的草坪和白色的水泥道貌岸然上,腳步是那么輕起輕落,大家的心中卻是那么的激動與思緒波涌。

22、生活的海洋并不像碧波漣漪的西子湖,隨著時間的流動,它時而平靜如鏡,時而浪花飛濺,時而巨浪沖天??人們在經(jīng)受大風大浪的考驗之后,往往會變得更加堅強。

23、當你身臨暖風拂面,鳥語花香,青山綠水,良田萬頃的春景時,一定會陶醉其中;當你面對如金似銀,碩果累累的金秋季節(jié)時,一定會欣喜不已。你可曾想過,那盎然的春色卻是歷經(jīng)嚴寒洗禮后的英姿,那金秋的美景卻是接受酷暑熔煉后的結(jié)晶。

24、倘若希望在金色的秋天收獲果實,那么在寒意侵人的早春,就該卷起褲腿,去不懈地拓荒、播種、耕耘,直到收獲的那一天。

25、生活是蜿蜒在山中的小徑,坎坷不平,溝崖在側(cè)。摔倒了,要哭就哭吧,怕什么,不心裝模作樣!這是直率,不是軟弱,因為哭一場并不影響趕路,反而能增添一份小心。山花爛漫,景色宜人,如果陶醉了,想笑就笑吧,不心故作矜持!這是直率,不是驕傲,因為笑一次并不影響趕路,反而能增添一份信心。

26、愛心是冬日的一片陽光,使用饑寒交迫的人感受到人間的溫暖;愛心是沙漠中的一泓清泉,使用權(quán)瀕臨絕境的人重新看到生活的希望;愛心是灑在久旱大地上的一場甘霖,使孤苦無依的人即刻獲得心靈的慰藉。

27、日子總是像從指尖渡過的細紗,在不經(jīng)意間悄然滑落。那些往日的憂愁和誤用傷,在似水流年的蕩滌下隨波輕輕地逝去,而留下的歡樂和笑靨就在記憶深處歷久彌新。

28、憂郁的心情蒸發(fā)了。

29、褪色的記憶。

30、硝煙又在和平的家中燃燒。

31、有些記憶被焚燒掉,有些記憶被埋在心底,純真年代如流水劃過金色年代。

32、我,要融化在粉紅的桃花瓣里,拭去整日在你心頭的牽掛。

1、意志倒下的時候/生命也就不再屹立。(汪國真《旅程》)

【感悟與聯(lián)想】意志若倒下,生命就像鳥兒折斷翅膀,再也不能飛翔。意志一但死亡,生命就像荒蕪的田野,冰封雪覆,萬物不再生長。

生命應(yīng)當是漫天風雪中的一剪紅梅,盡管深山寂寂萬木蕭蕭,也要在枝頭燃燒!生命應(yīng)當是挺立于懸崖一側(cè)的樹根,用智慧和力量去熔化山巖,頑強且韌勁十足地去開墾堅硬的土地;生命應(yīng)當是游魚,尋找激流,尋找飛浪,尋找銀鱗的閃光,笑仰于波濤之上。

2、只要春天還在/我就不會悲哀/縱使黑夜吞噬了一切/太陽還可以重新回來。/只要生命還在/我就不會悲哀/縱使陷身茫茫沙漠/還有希望的綠洲存在。/只要明天還在/我就不會悲哀/冬雪終會悄悄融化/春雷定將滾滾而來。(汪國真《只要明天還在》)

【感悟與聯(lián)想】遭遇挫折,不應(yīng)該沉溺在痛苦的泥淖,堅信明天的陽光!正如詩人舒婷所言:不是一切大樹都被風暴折斷;不是一切種子都找不到生根的土壤;不是一切真情都流失在人心的沙漠里;不是一切夢想都甘愿被折掉翅膀。??不是一切火焰都只燃燒自己而不把別人照亮;不是一切星星都僅指示黑暗而不報告曙光;不是一切歌聲都只掠過耳旁而不留在心上??不是一切呼吁都沒有回響;不是一切失卻都無法補償;不是一切深淵都是滅亡;不是一切滅亡都覆蓋在弱者頭上;不是一切心靈都可以踩在腳下,爛在泥里;不是一切后果都是眼淚血印,而不展現(xiàn)歡容。??

旅途不總是布滿陷阱,栽倒不總是跌斷脊梁,惡夢不會緊連著惡夢,總有一天醒來是滿眼晨光。不是每顆心都長滿老繭,不是每根血管都注滿泥漿。??要相信,總有一朵花是香的,總有一滴血是暖的,總有一種情是真的。

詩人沙葉新說得好:即使命運從不發(fā)芽,我不惋惜千百次播種;即使花朵結(jié)不成果實,我不遺憾千百次凋零。信念告訴我的人生:沒有比腳再長的道路,沒有比人更高的山峰。即使永遠找不到大海,我不停息尋覓的歌聲;即使腳印被風雪掩埋,我也珍愛走過的路程。無愧無悔才是人生:朝著地平線匆匆走去,讓世界評說我的背影。(沙葉新《我的人生》)

3、不愿攀登天堂的階梯/就要跌進地獄的牢門。(《生命的詮釋》)【感悟與聯(lián)想】不要等到壽終正寢之后再去攀登,而是自呱呱落地之日起,就要自強不息,不斷進取。攀登人生的每一級臺階,都要歷經(jīng)艱辛,付出汗水,這樣才能逐步登堂入室,造福人類。否則,誤入歧途,隨時有墜入深淵的危險。

蘋果因陽光而紅暈,人生因攀登而精彩!

4、不倦的眺望,便是心靈的翅膀。/有時,人生的風雨,會折落幾支羽毛/但,向往是倔強的/會穿越歲月的迭障/眺望是一只思想鳥/越是沉重/越是奮力飛翔。(潘萬提《眺望》)

【感悟與聯(lián)想】人受困現(xiàn)實,不應(yīng)消沉頹唐,要有不懈的精神追求。人,只要眺望不倦,就會掙脫禁錮拘禁;人,只要不倦的眺望,就會飛越現(xiàn)實的苦難,進入精神的天空翱翔。

你有了遠方,只能風雨兼程,你有了地平線,只能看見你越來越小的背影。

5、腳步/僅僅流連于春的原野/這只能算作春游/腳步/如果邁不出秋季的果園/便可稱為采摘/腳步/深深嵌刻與峭壁與堅冰之上/便有權(quán)解釋跋涉。(潘萬提《關(guān)于跋涉》)

【感悟與聯(lián)想】每個人都走在人生的路上。因人生態(tài)度、人生目的、終極關(guān)懷不同,“走”的步態(tài)便有差異。陶然于春日原野美景的人,會忘記播種;掇拾他人或自己果園的果實的人,因掇拾太多背負太重,始終邁不出新的腳步;至于把腳印“嵌刻與峭壁與堅冰之上”的跋涉者,他們是走向未來的哨探,是人類進步的先行者。

6、沒有羅盤的風帆/只能四處流浪/如果你是魚,/不要迷戀天空/如果你是鳥,/不要癡情海洋。(汪國真《選擇》)

【感悟與聯(lián)想】人生的路,有砂礫坑洼,有荊棘裝潢風雨包裹;人生的路,沒有風標,沒有腳印,沒有車轍,沒有盡頭;但人生的路不能沒有自己的方向。

你若生為魚,就當癡情海洋;你若生為鳥,就當迷戀天空;你若生為夏花,就當郁郁燦爛;你若生為小草,就當有著大樹般接近藍天的夢想;你若生為林木,就當欣欣向榮。

7、“只有經(jīng)歷地獄般的磨練,才能煉出創(chuàng)造天堂的力量;只有流血的手指,才能彈出世間的絕唱。”(泰戈爾)

【感悟與聯(lián)想】成功都是苦瓜上結(jié)出的甜果,風雨摧折后的彩虹,經(jīng)歷磨難后的收獲。沒有冰雪的洗禮,就不會有青松的傲岸;沒有人生的挫折,就無法彰顯英雄的本色。冰心說:“成功的花兒,人們只驚羨它現(xiàn)時的明艷,然而當初它的芽兒,曾經(jīng)浸透了奮斗的淚泉,灑遍了犧牲的血雨。”

8、人生并非只有一處/繽紛爛漫/那凋零的是花/----不是春天。(汪國真《那凋零的是花》)

【感悟與聯(lián)想】不因一朵花的凋零而否認春天的絢麗,不因一朵浪花而否認海洋的澎湃,不因沉舟而看不見側(cè)畔的千帆競渡,不因病樹而看不見前頭的萬木逢春。最美的風景,是在人生之河的上游,是在山的那邊!

9、不站起來/才不會倒下/更何況/我們要浪跡天涯/跌倒是一次紀念/紀念是一朵溫馨的花"(汪國真《致友人》)

【感悟與聯(lián)想】跌倒并不可怕,可怕的是爬起來手里沒有泥沙。

10、我讓信念扎入地下/我讓理想升向藍天/我——愈是深深地扎下/愈是高高地伸展/愈是同泥土為伍/愈是有云彩作伴/根須牽著枝梢/勿讓它/走向縹緲的夢幻/枝梢挽著根須/使得它/堅持清醒的實踐/我于是有了/粗壯的樹干/美麗的樹冠/我于是長出了/累累果實/具有泥土的芳香/像云霞一樣/彩色斑斕(屠岸《樹的哲學》)

【感悟與聯(lián)想】做人要像樹那樣有“升向藍天”的理想,否則,混混沌沌,盲目生存。這樣的生命之樹,是結(jié)不出什么果實來的!

11.它的彎曲的身體,留下了風的形狀,它似乎即將傾跌進深谷里,卻又象是要展翅飛翔??(曾卓《懸崖邊的樹》)

【感悟與聯(lián)想】狂風可以改變樹的身軀,使它由俊秀變得彎曲傾斜,但始終無法征服不屈的靈魂。生命能在死亡的邊緣扎根,并出現(xiàn)奇跡,全靠意志的倔強。愿我們都能像這樣的一棵樹一樣,在風雨中把自己的姿勢寫意成飛翔。

12、站在城市里/永遠也不會摔倒/還不是因為有根嗎/行人是要趕路的/他們不會停下來/讓腳下生出根子/站成樹/樹有樹的悲哀/一輩子不知道什么是路/一輩子邁不出一步。(鄧萬鵬《樹》)

【感悟與聯(lián)想】生長在“城市里”的“樹”,雖說沒有奔忙之勞,跋涉之苦,坎坷之虞,但對于不斷延伸的道路上的變換的風景,卻是無法領(lǐng)略的;對于穿越過程,征服道路、抵達目標的快樂,也是無從體驗的。

停留在生命的原點,永遠也畫不出生命新的軌跡。做一棵安穩(wěn)的樹還是做一個人生路上的匆匆行人,看你選擇什么?

做一個閱讀的有心人,常收集整理一些閃光的語句,這就是考試作文中的“熒火蟲”。另外,要仔細琢磨這123句哲理與意義,相信,無論是在日常寫作還是在臨場寫作中一定會對你有所幫助的。

一、高分作文中引用較多的現(xiàn)代詩文

01、讓我怎樣感謝你/當我走向你的時候/我原想收獲一縷春風/你卻給了我整個春天(《感謝》汪國真)

02、愿所有的幸福都追隨著你/仰首是春,俯首是秋/愿所有的快樂都陪伴著你/月圓是畫,月缺是詩(《旅行》汪國真)

03、我不去想是否能夠成功/既然選擇了遠方/便只顧風雨兼程//我不去想身后會不會襲來寒風冷雨/既然目標是地平線/留給世界的只能是背影《熱愛生命》汪國真)

04、沒有比腳更長的路/沒有比人更高的山(《山高路遠》汪國真)

05、如果你是魚/不要迷戀天空/如果你是鳥/不要癡情海洋(《選擇》汪國真)

06、如果你因失去了太陽而流淚,那么你也將失去群星了(《飛鳥集》泰戈爾)

07、鳥兒愿為一朵云/云兒愿為一只鳥(《飛鳥集》泰戈爾)

08、不要因為你自己沒有胃口而去責備你的食物(《飛鳥集》泰戈爾)

09、小草呀,你的足步雖小,但是你擁有你足下的土地(《飛鳥集》泰戈爾)

10、使生如夏花之絢爛,死如秋葉之靜美(《飛鳥集》泰戈爾)

11、不是槌的打擊,乃是水的載歌載舞,使鵝卵石臻于完美(《飛鳥集》泰戈爾)

12、天空不留下鳥的痕跡,但我已飛過(《飛鳥集》泰戈爾)

13、墻角的花/你孤芳自賞時/天地便小了(《繁星》冰心)

14、成功的花/人們只驚慕她現(xiàn)時的明艷/然而當初她的芽兒/浸透了奮斗的淚泉/灑遍了犧牲的血雨(同上)

15、生命誠可貴,愛情價更高,若為自由故,兩者皆可拋(《自由》裴多菲)

16、黑夜給了我黑色的眼睛/我卻用它尋找光明(顧城《一代人》)

17、為什么我的眼里常含淚水?因為我對這土地愛得深沉??(艾青《我愛這土地》)

18、卑鄙是卑鄙者的通行證,高尚是高尚者的墓志銘(北島《回答》)

19、假如生活欺騙了你/不要悲傷,不要心急/憂郁的日子里須要鎮(zhèn)靜/相信吧,快樂的日子將會來臨/心兒永遠向往著未來/現(xiàn)在卻常是憂郁,一切都是瞬息/一切都將會過去/而那過去了的,就會成為親切的回憶(普希金《假如生活欺騙了你》)

20、你在橋上看風景/看風景的人在樓上看你//明月裝飾了你的窗子/你裝飾了別人的夢(《斷章》卞之琳)

21、世上本來沒有路/走的人多了/也便成了路(《故鄉(xiāng)》魯迅)

22、有的人活著/他已經(jīng)死了/有的人死了/他還活著(《有的人》藏克家)

23、從明天起,做一個幸福的人/喂馬,劈柴,周游世界/從明天起,關(guān)心糧食和蔬菜/我有一所房子,面朝大海,春暖花開(《春暖花開》海子)

24、老是把自己當作珍珠/就時時有被埋沒的痛苦//把自己當作泥土吧/讓眾人把你踩成一條道路(魯藜《泥土》)

25、附著在大地上/你是土壤//沉浮在空間里/你是塵埃。(林希《土》)

26、真的猛士,敢于直面慘淡的人生,敢于正視淋漓的鮮血。(魯迅《紀念劉和珍君》)

二、古代哲理名句集

01、古之成大事業(yè)者,不惟有超世之才,亦有堅韌不拔之志!(蘇軾)

02、古今來許多世家,無非積德;天地間第一人品,還是讀書。

03、寵辱不驚,閑看庭前花開花落;去留無意,漫隨天外云卷云舒。(《菜根譚》)

04、水至清則無魚,人至清則無徒。(韓非子)05、居高聲自遠,非是藉秋風。(虞世南)

06、夕云乍起日沉閣,山雨欲來風滿樓。(許渾)07、老驥伏櫪,志在千里,烈士暮年,壯心不已。(曹操)

08、寧可枝頭抱香死,何曾吹落北風中(鄭思肖)09、落紅不是無情物,化作春泥更護花(龔自珍)

10、看似尋常最奇崛,成如容易卻艱辛(王安石)

11、紙上得來終覺淺,絕知此事要躬行(陸游)

12、問渠那得清如許,為有源頭活水來(朱熹)

13、長風破浪會有時,直掛云帆濟滄海(李白)

14、身無彩鳳雙飛翼,心有靈犀一點通(李商隱)

15、江山代有才人出,各領(lǐng)風騷數(shù)百年(趙翼)

16、與其臨淵羨魚,不如退而結(jié)網(wǎng)。

17、長風破浪會有時,直掛云帆濟滄海。(李白)

18、古今之成大事業(yè)、大學問者,必經(jīng)過三種之境界:“昨夜西風凋碧樹。獨上高樓,望盡天涯路”。此第一境也。“衣帶漸寬終不悔,為伊消得人憔悴。”此第二境也。“眾里尋他千百度,驀然回首,那人卻在,燈火闌珊處”。此第三境也。(王國維)

三、網(wǎng)絡(luò)俏皮話精選集

01、人長得漂亮不如活得漂亮!

02、有些事,明知是錯的也要去堅持,因為不甘心;有些人,明知是愛的也要去放棄,因為沒結(jié)局;有時候,明知路沒了卻還在前行,因為習慣了。

03、記住該記住的,忘記該忘記的。改變能改變的,接受不能改變的。

04、我可以選擇放棄,但不能放棄選擇。

05、大事難事,看擔當;逆境順境,看胸襟;是喜是怒,看涵養(yǎng);有舍有得,看智慧;是成是敗,看堅持。

06、人之所以活的累,是因為放不下架子、撕不開面子、解不開情結(jié)。

07、一道幸福之門關(guān)閉時,另一道就會打開。我們經(jīng)常盯著關(guān)閉的門,對開啟的門卻視若無睹。

08、人生最精彩的不是實現(xiàn)夢想的瞬間,而是堅持夢想的過程!

09、微小的幸福就在身邊,容易滿足就是天堂。

10、一個人能走多遠,要看他與誰同行;一個人有多優(yōu)秀,要看他有誰指點;一個人有多成功,要看他有誰相伴。

11、探索的旅程不在于發(fā)現(xiàn)新大陸,而在于培養(yǎng)新視角。

12、忙碌是一種幸福,讓我們沒時間體會痛苦;奔波是一種快樂,讓我們真實的感受生活;疲憊是一種享受,讓我們無暇空虛。

13、把一切平凡的事做好即不平凡,把一切簡單的事做對即不簡單。

14、人生重要的不是你站在什么地方,而是朝什么方向走。

15、沒有風險的人生,好比平川走馬,靜水行船。

16、順利時得意忘形是可怕的,挫折時一蹶不振是可悲的,成功后奮進不止是可敬的,失敗后亡羊補牢是可喜的。

17、仰對父母,我們是“孤本”且不可重復;俯對孩童,我們是至尊至高的唯一;面對友情,我們是密友最珍貴的財富;面對事業(yè),我們是不可或缺的主宰。

18、悲觀者說,希望是地平線,就算看得見,也永遠走不到;樂觀者說,希望是啟明星,即使摘不到,也能告訴人們曙光就在前頭。

19、遺忘是心的縫隙,漏掉了許多珍貴的昨天。

20、真正的成功者,從來不會給自己留退路,相反,倒往往在山重水復中踏出一條新路來。雖遇挫折,但決不氣餒;每次跌倒,隨即站起;別人放手,他仍然堅持抓住;別人后退,他仍然奮勇前行。

21、成功者都是從失敗的煉獄中走出來的。成功與失敗的裁決,不是在起點,而是在終點。

22、你不能左右天氣,但可以改變心情。你不能改變?nèi)菝玻梢哉莆兆约骸D悴荒茴A見明天,但可以珍惜今天。

23、腳不能到達的地方,眼睛可以到達,眼睛不能到達的地方,精神可以飛到。

24、弱者說,逆境是絆腳石,碰上它,會跌下失敗的深淵;強者說,逆境是墊腳石,踩著它,可以登上成功的高峰。

25、命運,其實是公平的,它遵循一條鮮為人知的補償原則:它青睞不斷拼搏的強者,讓在生活中失去最多的強者,也收獲最多。

26、人能走多遠?這話不要問雙腳,而是要問志向。

27、無論命運多么晦暗,人生多么顛簸,都會有擺渡的船,這只船就在我們自己手里。實在無船可渡的人,哪怕用幻想折只小船呢,也要奮力將自己擺渡到對岸。

28、遇到困難時不要抱怨,既然改變不了過去,那么就努力改變未來。

29、如果懼怕前面跌宕的山巖,生命就永遠只能是死水一潭。

30、含淚播種的人一定能含笑收獲。

31、如果上帝給你關(guān)了一扇門,他必定會給你開扇窗。

32、成功是對執(zhí)著者的一種饋贈;失敗是對追求者的一種考驗。

四、優(yōu)秀題記精選

01、最柔軟脆弱的是人性,最厚重剛烈的也是人性。

02、人性的墮落,常常從無視公理開始,社會的尊嚴,常常因權(quán)力濫用萎縮。

03、永遠相信,人世間不只是心靈的沙漠,感情的冰窯,各種至善至真的情懷,筑起了一道道最美的風景。

04、幸福的家庭家家都相似,不幸的家庭卻各有各的不幸。(托爾斯泰《復活》)

05、人生的道路雖然漫長,但緊要處常常只有幾步,特別是當人年輕的時候。沒有一個人的生活道路是筆直的、沒有岔道的。有些岔道口,譬如政治上的岔道口,事業(yè)上的岔道口,個人生活上的岔道口,你走錯一步,可以影響你人生的一個時期,甚至影響你的一生!(路遙《平凡的世界》)

06、生命的意義不在美麗的言辭中,不在空洞的追求里,而在于實實在在的謀求自己的生存,同時也幫助別人生存中。

07、人的一生,如同四季,春種,夏耘,秋收,冬藏。

08、生命如同一幅畫,可以沒有色彩鋪張的轟轟烈烈,但不能缺少美的意境。

09、生活如同一根燃燒的火柴,當你四處巡視以確定自己的位置,它已經(jīng)點完了。

10、當雨季來臨時,許多生命的記憶被雨水淋成褪色的風景,所有不經(jīng)意的回眸都被絢麗成最浪漫的構(gòu)思,在夢醒后的清晨,無奈地投入另一種漂泊??

11、每個人都曾面臨人生的選擇,我們必須決定什么是重要的事??

12、拉開窗簾,陽光只有一種顏色。

13、不要被世俗的塵囂蒙住你的眼睛。

14、把耳朵叫醒,然后,傾聽世界,相信,必有一個聲音屬于成功。

15、苦難對于天才是塊墊腳石,對能干的人是財富,對弱者是一個萬丈深淵。

16、如果把苦難只視為苦難,那它真的就只是苦難。但是如果你讓它與你精神世界里最廣闊的那片土地去結(jié)合,它就會成為一種寶貴的營養(yǎng),讓你在苦難中如鳳凰涅盤,體會到特別的甘甜和美好。

17、惟寬可以容人,惟厚可以載物。

18、一個不容置疑的哲理,一個令人銘心的命題,一個內(nèi)涵豐富的象征,沒有不為名利的世紀超人,只有善待名利的智者。

19、只要心里有陽光,眼睛看到的就都是溫暖。

20、給心情涂上顏色,我們便有了七彩的人生,我們才真正地把握了自己。

21、樂觀者和悲觀者之間的差別十分微妙:樂觀者看到的是甜甜圈,而悲觀者看到的則是甜甜圈中間的小小空洞。

22、倘若你想改變你的世界,首先就應(yīng)該改變你自己。

23、就像向日葵追尋太陽,人總是追求崇高與完美,而人生偏是一個在苦難中不斷雕塑自我的過程。

24、冬天,從這里奪去的,春天會一絲不少的變換著形式交還給你。

25、有許多的人,一直在苦苦地尋找著上帝賜予自己的“寶石”,但當“寶石”已經(jīng)拾在自己的手中時,卻又被自己輕而易舉地拋棄了。

26、兒時的歲月總是有母愛相伴,長大的我覺得與母親漸遠。驀然回首,才發(fā)現(xiàn)陽光依舊——母愛就在身邊。

27、幸福的定義,珍惜你所擁有的每一樣東西,你會發(fā)現(xiàn),幸福簡單的讓你無法置信。

28、一忍可以成百勇,一靜可以制百動。

29、獨善其身者難成大事,越利他,就越利己

30、我睡去,感覺生命之美麗,我醒來,感覺生命之責任。

31、一個人到了忘記得失的時候,他實際上已有所得。

32、每個人都有自己的一畝三分地,永遠的守望可能只會收獲糊口的玉米,如果跳出了這一畝三分地,你可能成為乞丐,但更有機會發(fā)現(xiàn)遠方的金子。

33、蠟燭的美,是絕唱的美。它以自焚的痛苦將自己化為光和熱,照亮了別人。

34、我們可以失望,但決不能盲目。

35、人生沒有不可逾越的天塹,只要永不懈怠地一步一步走下去,前面就是幸福的彼岸。

36、為人處世的原則就是多為對方留下一些余地,留給別人的同時,也留給了自己。

37、許多時候,能讓我們超越極限的力量,不是名利,不是財富,甚至連自己的生命都不是,而是在血管里涌動的,一次次漫過心底的愛!

38、許諾通常分為兩種,一種如清茶,倒一杯是一杯,一種如啤酒,才倒半杯,就已經(jīng)泡沫翻騰。

39、肉體是精神居住的花園,而意志則是這個花園的園丁,意志既能夠使肉體“貧瘠”下去,也能用“勤勞”使它“肥沃”起來。

40、一種顏色,生命的一瞬。執(zhí)著地追求著永恒,一路失落,一路遺失,一路惘然,仍舊夢想,夢想??

41、打開心的窗口,睜開敏銳的眼睛,莫讓一切都隨風。

42、別忘了,愛有多深路就有多長,只要有一個明天,就會有無窮無盡的希望。

43、溫暖是無處不在的,溫暖著自己,也溫暖著別人。正如:送人玫瑰,手有余香。

44、我不一定在快樂地活著,但我一定是在追逐生活中的快樂。

45、記取昨天,是為了把握今天,更是為了掌握明天。

46、如果敵人讓你生氣,那說明你還沒有勝他的把握。如果朋友讓你生氣,那說明你仍然在意他的友情。

47、日出東海落西山,愁也一天,喜也一天;遇事不鉆牛角尖,人也舒坦,心也舒坦。

48、高三生活就是游離于滿足與不滿足之間的某種綜合癥!

49、過去在消逝,未來,才剛剛開始。無所謂對與錯!50、時間是最大的小偷。當不能再擁有時,唯一能做的就是令自己不要忘記!

51、在幻變的生命里,歲月,原來是最大的小偷。

52、我們每個人每天都不知不覺失去些東西,與時間賽跑的我們永遠是輸家,也許應(yīng)該坦然面對人生中失去的東西,在時 間的長河里我們其實抓不住任何東西。

53、世界上唯一你可以擁有的東西就是過程,而時間永遠是流逝的。

54.無論是誰,所謂幸福,也只存在眼下一時。

有 人說愛是垣久忍耐,是奉獻,是包容,是柔軟地包裹一切的夢的外衣。是因為所愛的是天使而自己也要變得美好。可沒有 人想過,溫柔不能保護溫柔,天真不能縱容天真,我的愛不高尚,不完美的。我站在黑暗里,永世也洗不掉身上的血腥,但我卻仍驕傲,因為我守護的是一位微笑的天使

第四篇:精妙SQL語句收集

SQL編程經(jīng)典-精妙SQL語句收集

一、基礎(chǔ)

1、說明:創(chuàng)建數(shù)據(jù)庫

CREATE DATABASE database-name

2、說明:刪除數(shù)據(jù)庫

drop database dbname

3、說明:備份sql server---創(chuàng)建 備份數(shù)據(jù)的 device USE master

EXEC sp_addumpdevice ’disk’, ’testBack’, ’c:mssql7backupMyNwind_1.dat’

---開始 備份

BACKUP DATABASE pubs TO testBack

4、說明:創(chuàng)建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根據(jù)已有的表創(chuàng)建新表:

A:create table tab_new like tab_old(使用舊表創(chuàng)建新表)

B:create table tab_new as select col1,col2… from tab_old definition only

5、說明:刪除新表

drop table tabname

6、說明:增加一個列

Alter table tabname add column col type 注:列增加后將不能刪除。DB2中列加上后數(shù)據(jù)類型也不能改變,唯一能改變的是增加varchar類型的長度。

7、說明:添加主鍵: Alter table tabname add primary key(col)說明:刪除主鍵: Alter table tabname drop primary key(col)

8、說明:創(chuàng)建索引:create [unique] index idxname on tabname(col….)

刪除索引:drop index idxname

注:索引是不可更改的,想更改必須刪除重新建。

9、說明:創(chuàng)建視圖:create view viewname as select statement 刪除視圖:drop view viewname

10、說明:幾個簡單的基本的sql語句

選擇:select * from table1 where 范圍

插入:insert into table1(field1,field2)values(value1,value2)刪除:delete from table1 where 范圍

更新:update table1 set field1=value1 where 范圍

查找:select * from table1 where field1 like ’%value1%’---like的語法很精妙,查資料!排序:select * from table1 order by field1,field2 [desc] 總數(shù):select count as totalcount from table1 求和:select sum(field1)as sumvalue from table1 平均:select avg(field1)as avgvalue from table1 最大:select max(field1)as maxvalue from table1 最小:select min(field1)as minvalue from table1

11、說明:幾個高級查詢運算詞

A: UNION 運算符

UNION 運算符通過組合其他兩個結(jié)果表(例如 TABLE1 和 TABLE2)并消去表中任何重復行而派生出一個結(jié)果表。當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重復行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來 自 TABLE2。

B: EXCEPT 運算符

EXCEPT 運算符通過包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重復行而派生出一個結(jié)果表。當 ALL 隨 EXCEPT 一起使用時(EXCEPT ALL),不消除重復行。

C: INTERSECT 運算符

INTERSECT 運算符通過只包括 TABLE1 和 TABLE2 中都有的行并消除所有重復行而派生出一個結(jié)果表。當 ALL 隨 INTERSECT 一起使用時(INTERSECT ALL),不消除重復行。

注:使用運算詞的幾個查詢結(jié)果行必須是一致的。

12、說明:使用外連接 A、left outer join:

左外連接(左連接):結(jié)果集幾包括連接表的匹配行,也包括左連接表的所有行。

SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

B:right outer join:

右外連接(右連接):結(jié)果集既包括連接表的匹配連接行,也包括右連接表的所有行。

C:full outer join:

全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。

二、提升

1、說明:復制表(只復制結(jié)構(gòu),源表名:a 新表名:b)(Access可用)法一:select * into b from a where 1<>1 法二:select top 0 * into b from a

2、說明:拷貝表(拷貝數(shù)據(jù),源表名:a 目標表名:b)(Access可用)insert into b(a, b, c)select d,e,f from b;

3、說明:跨數(shù)據(jù)庫之間表的拷貝(具體數(shù)據(jù)使用絕對路徑)(Access可用)insert into b(a, b, c)select d,e,f from b in ‘具體數(shù)據(jù)庫’ where 條件

例子:..from b in ’“&Server.MapPath(”.“)&”data.mdb“ &”’ where..4、說明:子查詢(表名1:a 表名2:b)

select a,b,c from a where a IN(select d from b)或者: select a,b,c from a where a IN(1,2,3)

5、說明:顯示文章、提交人和最后回復時間

select a.title,a.username,b.adddate from table a,(select max(adddate)adddate from table where table.title=a.title)b

6、說明:外連接查詢(表名1:a 表名2:b)

select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

7、說明:在線視圖查詢(表名1:a)

select * from(SELECT a,b,c FROM a)T where t.a > 1;

8、說明:between的用法,between限制查詢數(shù)據(jù)范圍時包括了邊界值,not between不包括

select * from table1 where time between time1 and time2

select a,b,c, from table1 where a not between 數(shù)值1 and 數(shù)值2

9、說明:in 的使用方法

select * from table1 where a [not] in(‘值1’,’值2’,’值4’,’值6’)

10、說明:兩張關(guān)聯(lián)表,刪除主表中已經(jīng)在副表中沒有的信息

delete from table1 where not exists(select * from table2 where table1.field1=table2.field1)

11、說明:四表聯(lián)查問題:

select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where.....12、說明:日程安排提前五分鐘提醒

SQL: select * from 日程安排 where datediff(’minute’,f開始時間,getdate())>5

13、說明:一條sql 語句搞定數(shù)據(jù)庫分頁

select top 10 b.* from(select top 20 主鍵字段,排序字段 from 表名 order by 排序字段 desc)a,表名 b where b.主鍵字段 = a.主鍵字段 order by a.排序字段

14、說明:前10條記錄

select top 10 * form table1 where 范圍

15、說明:選擇在每一組b值相同的數(shù)據(jù)中對應(yīng)的a最大的記錄的所有信息(類似這樣的用法可以用于**每月排行榜,每月熱銷產(chǎn)品分析,按科目成績排名,等等.)

select a,b,c from tablename ta where a=(select max(a)from tablename tb where tb.b=ta.b)

16、說明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重復行而派生出一個結(jié)果表

(select a from tableA)except(select a from tableB)except(select a from tableC)

17、說明:隨機取出10條數(shù)據(jù)

select top 10 * from tablename order by newid()

18、說明:隨機選擇記錄

select newid()

19、說明:刪除重復記錄

Delete from tablename where id not in(select max(id)from tablename group by col1,col2,...)

20、說明:列出數(shù)據(jù)庫里所有的表名 select name from sysobjects where type=’U’

21、說明:列出表里的所有的

select name from syscolumns where id=object_id(’TableName’)

22、說明:列示type、vender、pcs字段,以type字段排列,case可以方便地實現(xiàn)多重選擇,類似select 中的case。

select type,sum(case vender when ’A’ then pcs else 0 end),sum(case vender when ’C’ then pcs else 0 end),sum(case vender when ’B’ then pcs else 0 end)FROM tablename group by type 顯示結(jié)果:

type vender pcs 電腦 A 1 電腦 A 1 光盤 B 2 光盤 A 2 手機 B 3 手機 C 3

23、說明:初始化表table1

TRUNCATE TABLE table1

24、說明:選擇從10到15的記錄

select top 5 * from(select top 15 * from table order by id asc)table_別名 order by id desc

三、技巧1、1=1,1=2的使用,在SQL語句組合時用的較多

“where 1=1” 是表示選擇全部 “where 1=2”全部不選,如:

if @strWhere!=’’

begin

set @strSQL = ’select count(*)as Total from *’ + @tblName + ’+ where ’ + @strWhere end else begin

set @strSQL = ’select count(*)as Total from *’ + @tblName + ’+’ end

我們可以直接寫成

set @strSQL = ’select count(*)as Total from *’ + @tblName + ’+ where 1=1 安定 ’+ @strWhere

2、收縮數(shù)據(jù)庫--重建索引

DBCC REINDEX

DBCC INDEXDEFRAG--收縮數(shù)據(jù)和日志

DBCC SHRINKDB DBCC SHRINKFILE

3、壓縮數(shù)據(jù)庫

dbcc shrinkdatabase(dbname)

4、轉(zhuǎn)移數(shù)據(jù)庫給新用戶以已存在用戶權(quán)限

exec sp_change_users_login ’update_one’,’newname’,’oldname’

go

5、檢查備份集

RESTORE VERIFYONLY from disk=’E:dvbbs.bak’

6、修復數(shù)據(jù)庫

ALTER DATABASE [dvbbs] SET SINGLE_USER GO

DBCC CHECKDB(’dvbbs’,repair_allow_data_loss)WITH TABLOCK GO

ALTER DATABASE [dvbbs] SET MULTI_USER GO

7、日志清除 SET NOCOUNT ON

DECLARE @LogicalFileName sysname, @MaxMinutes INT, @NewSize INT

USE tablename--要操作的數(shù)據(jù)庫名

SELECT @LogicalFileName = ’tablename_log’,--日志文件名

@MaxMinutes = 10,--Limit on time allowed to wrap log.@NewSize = 1--你想設(shè)定的日志文件的大小(M)

--Setup / initialize

DECLARE @OriginalSize int SELECT @OriginalSize = size FROM sysfiles

WHERE name = @LogicalFileName

SELECT ’Original Size of ’ + db_name()+ ’ LOG is ’ +

CONVERT(VARCHAR(30),@OriginalSize)+ ’ 8K pages or ’ + CONVERT(VARCHAR(30),(@OriginalSize*8/1024))+ ’MB’

FROM sysfiles

WHERE name = @LogicalFileName CREATE TABLE DummyTrans

(DummyColumn char(8000)not null)

DECLARE @Counter INT, @StartTime DATETIME, @TruncLog VARCHAR(255)SELECT @StartTime = GETDATE(),@TruncLog = ’BACKUP LOG ’ + db_name()+ ’ WITH TRUNCATE_ONLY’

DBCC SHRINKFILE(@LogicalFileName, @NewSize)EXEC(@TruncLog)

--Wrap the log if necessary.WHILE @MaxMinutes > DATEDIFF(mi, @StartTime, GETDATE())--time has not expired AND @OriginalSize =(SELECT size FROM sysfiles WHERE name = @LogicalFileName)AND(@OriginalSize * 8 /1024)> @NewSize BEGIN--Outer loop.SELECT @Counter = 0

WHILE((@Counter < @OriginalSize / 16)AND(@Counter < 50000))BEGIN--update

INSERT DummyTrans VALUES(’Fill Log’)DELETE DummyTrans

SELECT @Counter = @Counter + 1 END

EXEC(@TruncLog)END

SELECT ’Final Size of ’ + db_name()+ ’ LOG is ’ + CONVERT(VARCHAR(30),size)+ ’ 8K pages or ’ + CONVERT(VARCHAR(30),(size*8/1024))+ ’MB’ FROM sysfiles

WHERE name = @LogicalFileName DROP TABLE DummyTrans SET NOCOUNT OFF

8、說明:更改某個表

exec sp_changeobjectowner ’tablename’,’dbo’

9、存儲更改全部表

CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch @OldOwner as NVARCHAR(128), @NewOwner as NVARCHAR(128)AS

DECLARE @Name as NVARCHAR(128)DECLARE @Owner as NVARCHAR(128)

DECLARE @OwnerName as NVARCHAR(128)

DECLARE curObject CURSOR FOR select ’Name’ = name,’Owner’ = user_name(uid)from sysobjects

where user_name(uid)=@OldOwner order by name

OPEN curObject

FETCH NEXT FROM curObject INTO @Name, @Owner WHILE(@@FETCH_STATUS=0)BEGIN

if @Owner=@OldOwner begin

set @OwnerName = @OldOwner + ’.’ + rtrim(@Name)exec sp_changeobjectowner @OwnerName, @NewOwner end

--select @name,@NewOwner,@OldOwner

FETCH NEXT FROM curObject INTO @Name, @Owner END

close curObject

deallocate curObject GO

10、SQL SERVER中直接循環(huán)寫入數(shù)據(jù)

declare @i int set @i=1 while @i<30 begin

insert into test(userid)values(@i)set @i=@i+1 end

第五篇:Oracle SQL精妙SQL語句講解

SQL*PLUS界面:

登錄:輸入SQLPLUS回車;輸入正確的ORACLE用戶名并回車;輸入用戶口令并回車,顯示提示符:SQL>

退出:輸入EXIT即可。

2)命令的編輯與運行:

在命令提示符后輸入SQL命令并運行,以分號結(jié)束輸入;以斜杠結(jié)束輸入;以空行結(jié)束輸入;

利用SQL緩沖區(qū)進行PL/SQL塊的編輯和運行;

利用命令文件進行PL/SQL塊的編輯和運行。

數(shù)據(jù)庫查詢

用SELECT語句從表中提取查詢數(shù)據(jù)。語法為

SELECT [DISTINCT] {column1,column2,…} FROM tablename WHERE {conditions} GROUP BY {conditions} ORDER BY {expressions} [ASC/DESC];

說明:SELECT子句用于指定檢索數(shù)據(jù)庫的中哪些列,F(xiàn)ROM子句用于指定從哪一個表或視圖中檢索數(shù)據(jù)。

SELECT中的操作符及多表查詢WHERE子句。(LIKE,IS,…)

WHERE子句中的條件可以是一個包含等號或不等號的條件表達式,也可以是一個含有IN、NOT IN、BETWEEN、LIKE、IS NOT NULL等比較運算符的條件式,還可以是由單一的條件表達通過邏輯運算符組合成復合條件。

ORDER BY 子句

ORDER BY 子句使得SQL在顯示查詢結(jié)果時將各返回行按順序排列,返回行的排列順序由ORDER BY 子句指定的表達式的值確定。

連接查詢

利用SELECT語句進行數(shù)據(jù)庫查詢時,可以把多個表、視圖的數(shù)據(jù)結(jié)合起來,使得查詢結(jié)果的每一行中包含來自多個表達式或視圖的數(shù)據(jù),這種操作被稱為連接查詢。

連接查詢的方法是在SELECT命令的FROM子句中指定兩個或多個將被連接查詢的表或視圖,并且在WHERE子句告訴ORACLE如何把多個表的數(shù)據(jù)進行合并。根據(jù)WHERE子句中的條件表達式是等還是不等式,可以把連接查詢分為等式連接和不等式連接。

子查詢

如果某一個SELECT命令(查詢1)出現(xiàn)在另一個SQL命令(查詢2)的一個子句中,則稱查詢1是查詢2的子查詢。

基本數(shù)據(jù)類型(NUMBER,VARCHAR2,DATE)O

RACEL支持下列內(nèi)部數(shù)據(jù)類型:

VARCHAR2 變長字符串,最長為2000字符。

NUMBER 數(shù)值型。

LONG 變長字符數(shù)據(jù),最長為2G字節(jié)。

DATE 日期型。

RAW 二進制數(shù)據(jù),最長為255字節(jié)。

LONG RAW 變長二進制數(shù)據(jù),最長為2G字節(jié)。

ROWID 二六進制串,表示表的行的唯一地址。

CHAR 定長字符數(shù)據(jù),最長為255。

常用函數(shù)用法:

一個函數(shù)類似于一個算符,它操作數(shù)據(jù)項,返回一個結(jié)果。函數(shù)在格式上不同于算符,它個具有變元,可操作0個、一個、二個或多個變元,形式為:

函數(shù)名(變元,變元,…)

函數(shù)具有下列一般類形:

單行函數(shù)

分組函數(shù)

單行函數(shù)對查詢的表或視圖的每一行返回一個結(jié)果行。它有數(shù)值函數(shù),字符函數(shù),日期函數(shù),轉(zhuǎn)換函數(shù)等。

分組函數(shù)返回的結(jié)果是基于行組而不是單行,所以分組函數(shù)不同于單行函數(shù)。在許多分組函數(shù)中可有下列選項:

DISTRNCT 該選項使分組函數(shù)只考慮變元表達式中的不同值。

ALL該選項使分組函數(shù)考慮全部值,包含全部重復。

全部分組函數(shù)(除COUNT(*)外)忽略空值。如果具有分組函數(shù)的查詢,沒有返回行或只有空值(分組函數(shù)的變元取值的行),則分組函數(shù)返回空值。

5、數(shù)據(jù)操縱語言命令:

數(shù)據(jù)庫操縱語言(DML)命令用于查詢和操縱模式對象中的數(shù)據(jù),它不隱式地提交當前事務(wù)。它包含UPDATE、INSERT、DELETE、EXPLAIN PLAN、SELECT和LOCK TABLE 等命令。下面簡單介紹一下:

1)UPDATE tablename SET {column1=expression1,column2=expression2,…} WHERE {conditions};

例如:S QL>UPDATE EMP

SET JOB =’MANAGER’

WHERE ENAME=’MAPTIN’;

SQL >SELECT * FROM EMP;

UPDATE子句指明了要修改的數(shù)據(jù)庫是EMP,并用WHERE子句限制了只對名字(ENAME)為’MARTIN’的職工的數(shù)據(jù)進行修改,SET子句則說明修改的方式,即把’MARTION’的工作名稱(JOB)改為’MARAGER’.2)INSERT INTO tablename {column1,column2,…} VALUES {expression1,expression2,…};

例如:SQL>SELECT INTO DEPT(DNAME,DEPTNO)

VALUES(‘ACCOUNTING’,10)

3)DELETE FROM tablename WHERE {conditions};

例如:SQL>DELETE FROM EMP

WHERE EMPNO = 7654;

DELETE命令刪除一條記錄,而且DELETE命令只能刪除整行,而不能刪除某行中的部分數(shù)據(jù).4)事務(wù)控制命令

提交命令(COMMIT):可以使數(shù)據(jù)庫的修改永久化.設(shè)置AUTOCOMMIT為允許狀態(tài):SQL >SET AUTOCOMMIT ON;

回滾命令(ROLLBACK):消除上一個COMMIT命令后的所做的全部修改,使得數(shù)據(jù)庫的內(nèi)容恢復到上一個COMMIT執(zhí)行后的狀態(tài).使用方法是:

SQL>ROLLBACK;

創(chuàng)建表、視圖、索引、同義詞、用戶。、表是存儲用戶數(shù)據(jù)的基本結(jié)構(gòu)。

建立表主要指定義下列信息:

列定義

完整性約束

表所在表空間

存儲特性

可選擇的聚集

從一查詢獲得數(shù)據(jù)

語法如下:CREATE TABLE tablename

(column1 datatype [DEFAULT expression] [constraint], column1 datatype [DEFAULT expression] [constraint], ……)

[STORAGE子句] [其他子句…];

例如:

SQL>CREATE TABLE NEW_DEPT(DPTNO NUMBER(2), DNAME CHAR(6), LOC CHAR(13);

更改表作用:

增加列

增加完整性約束

重新定義列(數(shù)據(jù)類型、長度、缺省值)

修改存儲參數(shù)或其它參數(shù)

使能、使不能或刪除一完整性約束或觸發(fā)器

顯式地分配一個范圍

2)、視圖

視圖是一個邏輯表,它允許操作者從其它表或視圖存取數(shù)據(jù),視圖本身不包含數(shù)據(jù)。視圖所基于的表稱為基表。

引入視圖有下列作用:

提供附加的表安全級,限制存取基表的行或/和列集合。

隱藏數(shù)據(jù)復雜性。

為數(shù)據(jù)提供另一種觀點。

促使ORACLE的某些操作在包含視圖的數(shù)據(jù)庫上執(zhí)行,而不在另一個數(shù)據(jù)庫上執(zhí)行。

3)、索引

索引是種數(shù)據(jù)庫對象。對于在表或聚集的索引列上的每一值將包含一項,為行提供直接的快速存取。在下列情況ORACLE可利用索引改進性能:

按指定的索引列的值查找行。

按索引列的順序存取表。

建立索引: CREATE [UNIQUE] INDEX indexname ON tablename(column ,。。);

例如:SQL>CREAT INDEX IC_EMP

ON CLUSTER EMPLOYEE

4)、同義詞

同義詞:為表、視圖、序列、存儲函數(shù)、包、快照或其它同義詞的另一個名字。使用同義詞為了安全和方便。對一對象建立同義詞可有下列好處:

引用對象不需指出對象的持有者。

引用對象不需指出它所位于的數(shù)據(jù)庫。

為對象提供另一個名字。

建立同義詞:

CREATE SYNONYM symnon_name FOR [username.]tablename;

例如:CREAT PUBLIC SYNONYM EMP

FOR SCOTT.EMP @SALES

5)、用戶

CREATE USER username IDENTIFIED BY password;

例如:SQL>CREATE USER SIDNEY

IDENTIFIED BY CARTON;

Oracle擴展PL/SQL簡介

PL/SQL概述。

PL/SQL是Oracle對SQL規(guī)范的擴展,是一種塊結(jié)構(gòu)語言,即構(gòu)成一個PL/SQL程序的基本單位(過程、函數(shù)和無名塊)是邏輯塊,可包含任何數(shù)目的嵌套了快。這種程序結(jié)構(gòu)支持逐步求精方法解決問題。一個塊(或子塊)將邏輯上相關(guān)的說明和語句組合在一起,其形式為:

DECLARE

---說明

BEGIN

---語句序列

EXCEPTION

---例外處理程序

END;

它有以下優(yōu)點:

支持SQL;

生產(chǎn)率高;

性能好;

可稱植性;

與ORACLE集成.PL/SQL體系結(jié)構(gòu)

PL/SQL運行系統(tǒng)是種技術(shù),不是一種獨立產(chǎn)品,可認為這種技術(shù)是PL/SQL塊和子程序的一種機,它可接收任何有效的PL/SQL塊或子程序。如圖所示:

PL/SQL機可執(zhí)行過程性語句,而將SQL語句發(fā)送到ORACLE服務(wù)器上的SQL語句執(zhí)行器。在ORACLE預編譯程序或OCI程序中可嵌入無名的PL/SQL塊。如果ORACLE具有PROCEDURAL選件,有名的PL/SQL塊(子程序)可單獨編譯,永久地存儲在數(shù)據(jù)庫中,準備執(zhí)行。

PL/SQL基礎(chǔ):

PL/SQL有一字符集、保留字、標點、數(shù)據(jù)類型、嚴密語法等,它與SQL有相同表示,現(xiàn)重點介紹。

1)、數(shù)據(jù)類型:如下表所示

數(shù)據(jù)類型 子類型

純量類型 數(shù)值 BINARY_INTEGER NATURAL,POSITIVE

NUMBER DEC,DECIMAL,DOUBLE PRECISION,PLOAT,INTEGER,INT,NUMERIC,REAL,SMALLINT

字符 CHAR CHARACTER,STRING

VARCHAR2 VARCHAR

LONG

LONG RAW

RAW

RAWID

邏輯 BOOLEAN

日期 DATE

組合 類型 記錄 RECORD

表 TABLE

2)、變量和常量

在PL/SQL程序中可將值存儲在變量和常量中,當程序執(zhí)行時,變量的值可以改變,而常量的值不能改變。

3)、程序塊式結(jié)構(gòu):

DECLARE

變量說明部分;

BEGIN

執(zhí)行語句部分;

[EXCEPTION

例外處理部分;] END;控制語句:

分支語句:

IF condition THEN

Sequence_of_statements;

END IF;

IF condition THEN

Sequence_of_statement1;

ELSE

Sequence_of_statement2;

END IF;

IF condition1 THEN

Sequence_of_statement1;

ELSIF condition2 THEN

Sequence_of_statement2;

ELSIF condition3 THEN

Sequence_of_statement3;

END IF;

循環(huán)語句:

LOOP

Sequence_of_statements;

IF condition THEN

EXIT;

END IF;

END LOOP;

WHILE condition LOOP

Sequence_of_statements;

END LOOP;

FOR counter IN lower_bound..higher_bound LOOP

Sequence_of_statements;

END LOOP;

子程序:

存儲過程:

CREATE PROCEDURE 過程名(參數(shù)說明1,參數(shù)說明2,[局部說明]

BEGIN

執(zhí)行語句;

END 過程名;

。)IS。

存儲函數(shù):

CREATE FUNCTION 函數(shù)名(參數(shù)說明1,參數(shù)說明2。。)RETURN 類型 IS [局部說明] BEGIN

執(zhí)行語句;

END 函數(shù)名

Oracle SQL精妙SQL語句講解

好東西,大家趕緊收藏吧~~~

--行列轉(zhuǎn)換 行轉(zhuǎn)列

DROP TABLE t_change_lc;CREATE TABLE t_change_lc(card_code VARCHAR2(3), q NUMBER, bal NUMBER);

INSERT INTO t_change_lc

SELECT '001' card_code, ROWNUM q, trunc(dbms_random.VALUE * 100)bal FROM dual CONNECT BY ROWNUM <= 4 UNION

SELECT '002' card_code, ROWNUM q, trunc(dbms_random.VALUE * 100)bal FROM dual CONNECT BY ROWNUM <= 4;

SELECT * FROM t_change_lc;

SELECT a.card_code,SUM(decode(a.q, 1, a.bal, 0))q1,SUM(decode(a.q, 2, a.bal, 0))q2,SUM(decode(a.q, 3, a.bal, 0))q3,SUM(decode(a.q, 4, a.bal, 0))q4

FROM t_change_lc a GROUP BY a.card_code ORDER BY 1;

--行列轉(zhuǎn)換 列轉(zhuǎn)行

DROP TABLE t_change_cl;CREATE TABLE t_change_cl AS SELECT a.card_code,SUM(decode(a.q, 1, a.bal, 0))q1,SUM(decode(a.q, 2, a.bal, 0))q2,SUM(decode(a.q, 3, a.bal, 0))q3,SUM(decode(a.q, 4, a.bal, 0))q4

FROM t_change_lc a GROUP BY a.card_code ORDER BY 1;

SELECT * FROM t_change_cl;

SELECT t.card_code,t.rn q,decode(t.rn, 1, t.q1, 2, t.q2, 3, t.q3, 4, t.q4)bal

FROM(SELECT a.*, b.rn

FROM t_change_cl a,(SELECT ROWNUM rn FROM dual CONNECT BY ROWNUM <= 4)b)t ORDER BY 1, 2;

--行列轉(zhuǎn)換 行轉(zhuǎn)列 合并

DROP TABLE t_change_lc_comma;CREATE TABLE t_change_lc_comma AS SELECT card_code,'quarter_'||q AS q FROM t_change_lc;

SELECT * FROM t_change_lc_comma;

SELECT t1.card_code, substr(MAX(sys_connect_by_path(t1.q, ';')), 2)q

FROM(SELECT a.card_code,a.q,row_number()over(PARTITION BY a.card_code ORDER BY a.q)rn

FROM t_change_lc_comma a)t1 START WITH t1.rn = 1 CONNECT BY t1.card_code = PRIOR t1.card_code

AND t1.rn1 = PRIOR t1.rn GROUP BY t1.card_code;

SELECT * FROM t_change_cl_comma;SELECT t.card_code,substr(t.q,instr(';' || t.q, ';', 1, rn),instr(t.q || ';', ';', 1, rn)-instr(';' || t.q, ';', 1, rn))q

FROM(SELECT a.card_code, a.q, b.rn

FROM t_change_cl_comma a,(SELECT ROWNUM rn FROM dual CONNECT BY ROWNUM <= 100)b

WHERE instr(';' || a.q, ';', 1, rn)> 0)t ORDER BY 1, 2;

--實現(xiàn)一條記錄根據(jù)條件多表插入 DROP TABLE t_ia_src;CREATE TABLE t_ia_src AS SELECT 'a'||ROWNUM c1, 'b'||ROWNUM c2 FROM dual CONNECT BY ROWNUM<=5;DROP TABLE t_ia_dest_1;CREATE TABLE t_ia_dest_1(flag VARCHAR2(10), c VARCHAR2(10));DROP TABLE t_ia_dest_2;CREATE TABLE t_ia_dest_2(flag VARCHAR2(10), c VARCHAR2(10));DROP TABLE t_ia_dest_3;CREATE TABLE t_ia_dest_3(flag VARCHAR2(10), c VARCHAR2(10));

SELECT * FROM t_ia_src;SELECT * FROM t_ia_dest_1;SELECT * FROM t_ia_dest_2;SELECT * FROM t_ia_dest_3;

INSERT ALL WHEN(c1 IN('a1','a3'))THEN

INTO t_ia_dest_1(flag,c)VALUES(flag1,c2)WHEN(c1 IN('a2','a4'))THEN

INTO t_ia_dest_2(flag,c)VALUES(flag2,c2)ELSE INTO t_ia_dest_3(flag,c)VALUES(flag1||flag2,c1||c2)SELECT c1,c2, 'f1' flag1, 'f2' flag2 FROM t_ia_src;

--如果存在就更新,不存在就插入用一個語句實現(xiàn) DROP TABLE t_mg;CREATE TABLE t_mg(code VARCHAR2(10), NAME VARCHAR2(10));

SELECT * FROM t_mg;

MERGE INTO t_mg a USING(SELECT 'the code' code, 'the name' NAME FROM dual)b ON(a.code = b.code)WHEN MATCHED THEN

UPDATE SET a.NAME = b.NAME WHEN NOT MATCHED THEN

INSERT(code, NAME)VALUES(b.code, b.NAME);

--抽取/刪除重復記錄

DROP TABLE t_dup;CREATE TABLE t_dup AS SELECT 'code_'||ROWNUM code, dbms_random.string('z',5)NAME FROM dual CONNECT BY ROWNUM<=10;

INSERT INTO t_dup SELECT 'code_'||ROWNUM code, dbms_random.string('z',5)NAME FROM dual CONNECT BY ROWNUM<=2;

SELECT * FROM t_dup;

SELECT * FROM t_dup a WHERE a.ROWID <>(SELECT MIN(b.ROWID)FROM t_dup b WHERE a.code=b.code);

SELECT b.code, b.NAME

FROM(SELECT a.code,a.NAME,row_number()over(PARTITION BY a.code ORDER BY a.ROWID)rn

FROM t_dup a)b WHERE b.rn > 1;

--IN/EXISTS的不同適用環(huán)境--t_orders.customer_id有索引 SELECT a.*

FROM t_employees a WHERE a.employee_id IN

(SELECT b.sales_rep_id FROM t_orders b WHERE b.customer_id = 12);

SELECT a.*

FROM t_employees a WHERE EXISTS(SELECT 1

FROM t_orders b

WHERE b.customer_id = 12

AND a.employee_id = b.sales_rep_id);

--t_employees.department_id有索引 SELECT a.*

FROM t_employees a WHERE a.department_id = 10

AND EXISTS(SELECT 1 FROM t_orders b WHERE a.employee_id = b.sales_rep_id);

SELECT a.*

FROM t_employees a WHERE a.department_id = 10

AND a.employee_id IN(SELECT b.sales_rep_id FROM t_orders b);

--FBI DROP TABLE t_fbi;CREATE TABLE t_fbi AS SELECT ROWNUM rn, dbms_random.STRING('z',10)NAME , SYSDATE + dbms_random.VALUE * 10 dt FROM dual

CONNECT BY ROWNUM <=10;

CREATE INDEX idx_nonfbi ON t_fbi(dt);

DROP INDEX idx_fbi_1;CREATE INDEX idx_fbi_1 ON t_fbi(trunc(dt));

SELECT * FROM t_fbi WHERE trunc(dt)= to_date('2006-09-21','yyyy-mm-dd');

--不建議使用

SELECT * FROM t_fbi WHERE to_char(dt, 'yyyy-mm-dd')= '2006-09-21';

--LOOP中的COMMIT/ROLLBACK DROP TABLE t_loop PURGE;create TABLE t_loop AS SELECT * FROM user_objects WHERE 1=2;

SELECT * FROM t_loop;

--逐行提交 DECLARE BEGIN

FOR cur IN(SELECT * FROM user_objects)LOOP

INSERT INTO t_loop VALUES cur;

COMMIT;

END LOOP;END;

--模擬批量提交 DECLARE

v_count NUMBER;BEGIN

FOR cur IN(SELECT * FROM user_objects)LOOP

INSERT INTO t_loop VALUES cur;

v_count := v_count + 1;

IF v_count >= 100 THEN

COMMIT;

END IF;

END LOOP;

COMMIT;END;

--真正的批量提交 DECLARE

CURSOR cur IS

SELECT * FROM user_objects;

TYPE rec IS TABLE OF user_objects%ROWTYPE;

recs rec;BEGIN

OPEN cur;

WHILE(TRUE)LOOP

FETCH cur BULK COLLECT

INTO recs LIMIT 100;

--forall 實現(xiàn)批量

FORALL i IN 1..recs.COUNT

INSERT INTO t_loop VALUES recs(i);

COMMIT;

EXIT WHEN cur%NOTFOUND;

END LOOP;

CLOSE cur;END;

--悲觀鎖定/樂觀鎖定

DROP TABLE t_lock PURGE;CREATE TABLE t_lock AS SELECT 1 ID FROM dual;

SELECT * FROM t_lock;

--常見的實現(xiàn)邏輯,隱含bug DECLARE

v_cnt NUMBER;BEGIN

--這里有并發(fā)性的bug

SELECT MAX(ID)INTO v_cnt FROM t_lock;

--here for other operation

v_cnt := v_cnt + 1;

INSERT INTO t_lock(ID)VALUES(v_cnt);

COMMIT;END;

--高并發(fā)環(huán)境下,安全的實現(xiàn)邏輯 DECLARE

v_cnt NUMBER;BEGIN

--對指定的行取得lock

SELECT ID INTO v_cnt FROM t_lock WHERE ID=1 FOR UPDATE;

--在有l(wèi)ock的情況下繼續(xù)下面的操作

SELECT MAX(ID)INTO v_cnt FROM t_lock;

--here for other operation

v_cnt := v_cnt + 1;

INSERT INTO t_lock(ID)VALUES(v_cnt);

COMMIT;--提交并且釋放lock END;

--硬解析/軟解析

DROP TABLE t_hard PURGE;CREATE TABLE t_hard(ID INT);

SELECT * FROM t_hard;

DECLARE

sql_1

VARCHAR2(200);BEGIN

--hard parse

--java中的同等語句是 Statement.execute()

FOR i IN 1..1000 LOOP

sql_1 := 'insert into t_hard(id)values(' || i || ')';

EXECUTE IMMEDIATE sql_1;

END LOOP;

COMMIT;

--soft parse

--java中的同等語句是 PreparedStatement.execute()

sql_1

:= 'insert into t_hard(id)values(:id)';

FOR i IN 1..1000 LOOP

EXECUTE IMMEDIATE sql_1

USING i;

END LOOP;

COMMIT;END;

--正確的分頁算法

SELECT *

FROM(SELECT a.*, ROWNUM rn

FROM(SELECT * FROM t_employees ORDER BY first_name)a

WHERE ROWNUM <= 500)WHERE rn > 480;

--分頁算法(why not this one)SELECT a.*, ROWNUM rn

FROM(SELECT * FROM t_employees ORDER BY first_name)a WHERE ROWNUM <= 500 AND ROWNUM > 480;

--分頁算法(why not this one)SELECT b.*

FROM(SELECT a.*, ROWNUM rn

FROM t_employees a

WHERE ROWNUM < = 500

ORDER BY first_name)b WHERE b.rn > 480;

--OLAP--小計合計 SELECT CASE

WHEN a.deptno IS NULL THEN

'合計'

WHEN a.deptno IS NOT NULL AND a.empno IS NULL THEN

'小計'

ELSE

'' || a.deptno

END deptno,a.empno,a.ename,SUM(a.sal)total_sal

FROM scott.emp a GROUP BY GROUPING SETS((a.deptno),(a.deptno, a.empno, a.ename),());

--分組排序 SELECT a.deptno,a.empno,a.ename,a.sal,--可跳躍的rank

rank()over(PARTITION BY a.deptno ORDER BY a.sal DESC)r1,--密集型rank

dense_rank()over(PARTITION BY a.deptno ORDER BY a.sal DESC)r2,--不分組排序

rank()over(ORDER BY sal DESC)r3

FROM scott.emp a

ORDER BY a.deptno,a.sal DESC;

--當前行數(shù)據(jù)和前/后n行的數(shù)據(jù)比較 SELECT a.empno,a.ename,a.sal,--上面一行

lag(a.sal)over(ORDER BY a.sal DESC)lag_1,--下面三行

lead(a.sal, 3)over(ORDER BY a.sal DESC)lead_3

FROM scott.emp a ORDER BY a.sal DESC;

一、數(shù)據(jù)表設(shè)計圖

二、創(chuàng)建語句

/*================*/ /* DBMS name: ORACLE Version 9i */ /* Created on: 2008-11-10 23:39:24 */ /*================*/

alter table “emp”

drop constraint FK_EMP_REFERENCE_DEPT;

drop table “dept” cascade constraints;

drop table “emp” cascade constraints;

drop table “salgrade” cascade constraints;

/*================*/ /* Table: “dept” */ /*================*/

create table dept(deptno NUMBER(11)not null, dname VARCHAR2(15)not null, loc VARCHAR2(15)not null, constraint PK_DEPT primary key(deptno));

/*================*/ /* Table: “emp” */ /*================*/

create table emp(empno NUMBER(11)not null, deptno NUMBER(11), ename VARCHAR2(15)not null, sal NUMBER(11)not null, job VARCHAR2(15)not null, mgr NUMBER(11)not null, hirdate DATE not null, comm NUMBER(11)not null, constraint PK_EMP primary key(empno));

/*================*/ /* Table: salgrade */ /*================*/

create table salgrade(grade NUMBER(11)not null, losal NUMBER(11)not null, hisal NUMBER(11)not null, constraint PK_SALGRADE primary key(grade));

alter table emp add constraint FK_EMP_REFERENCE_DEPT foreign key(deptno)references dept(deptno);

三、測試要求及語句

/** *公司工資最高的員工列表 子查詢 */

select t.ename,t.sal from emp t where t.sal =(select max(sal)from emp)

/** *查詢每一個員工的經(jīng)理人及自己的名字 */

select e1.ename,e2.ename from emp e1 join emp e2 on(e1.mgr = e2.empno)

/** *查詢公司平均薪水的等級 */

select s.grade from salgrade s where(select avg(t.sal)from emp t)between s.losal and s.hisal

/** *求部門中那些人的工資最高 */

select d.dname,ename,sal from(select t.deptno,ename,sal from(select deptno,max(sal)as max_sal from emp group by deptno)e join emp t on(e.deptno = t.deptno and t.sal = max_sal))et join dept d on(d.deptno = et.deptno)

/** *查詢部門平均薪水的等級 */

select d.dname,avg_sal,grade from(select deptno,avg_sal,grade from(select deptno,avg(sal)as avg_sal from emp group by deptno)e join salgrade s on(e.avg_sal between s.losal and s.hisal))es join dept d on(es.deptno = d.deptno)

/** *求部門的平均薪水等級 */

select deptno,avg(grade)from(select deptno,grade from emp e join salgrade s on(e.sal between s.losal and s.hisal))t group by t.deptno

/** * 求那些人是經(jīng)理人 */

select ename from emp e where empno in(select distinct mgr from emp)

/** *不準用組函數(shù) 求薪水的最高值 */

select ename from emp where empno not in(select distinct e1.empno from emp e1 join emp e2 on(e1.sal

/** *平均薪水最高的部門編號與名稱 */

select d.deptno,dname from(select deptno,avg(sal)avg_sal from emp group by deptno)t1 join dept d on(d.deptno = t1.deptno)where avg_sal =(select max(avg_sal)from(select deptno,avg(sal)avg_sal from emp group by deptno)t2)

/** *求平均薪水的等級最低的部門名稱 */

select dname from dept d where d.deptno in(select deptno from(select deptno,grade from(select deptno,avg(sal)avg_sal from emp group by deptno)t1 join salgrade g on(avg_sal between g.losal and g.hisal))t2 where t2.grade =(select min(grade)from(select deptno,grade from(select deptno,avg(sal)avg_sal from emp group by deptno)t1 join salgrade g on(avg_sal between g.losal and g.hisal))t3))

/** *求部門經(jīng)理人中平均薪水最低的部門名稱 */

select d.dname,t1.avg_sal from dept d join(select deptno,avg(sal)avg_sal from(select e2.deptno,e2.ename,e2.sal from emp e1 join emp e2 on(e1.mgr = e2.empno))t group by deptno)t1 on(d.deptno = t1.deptno)where avg_sal =(select min(avg_sal)from(select deptno,avg(sal)avg_sal from(select e2.deptno,e2.ename,e2.sal from emp e1 join emp e2 on(e1.mgr = e2.empno))t group by deptno))/** *求必普通員工的最高薪水還要高的經(jīng)理人名稱 */

select ename from(select e2.ename,e2.empno,e2.sal from emp e1 join emp e2 on(e1.mgr = e2.empno))t where t.sal >(select max(e.sal)from emp e where e.empno not in(select e1.mgr from emp e1 join emp e2 on(e1.mgr = e2.empno)))

/** *求薪水最高的第6名到10名雇員 */

SELECT * FROM(SELECT A.*, ROWNUM RN FROM(SELECT * FROM(select e1.ename,e1.sal from emp e1 order by e1.sal desc))A WHERE ROWNUM <= 10)WHERE RN >= 6

下載人生哲理小品十篇精妙語句word格式文檔
下載人生哲理小品十篇精妙語句.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    Oracle-SQL精妙SQL語句講解

    Oracle: SQL精妙SQL語句講解 一、重復操作查詢 --where條件得distinct systemdicid作為唯一標識 select * from dmis_zd_systemdic t WHERE typeid = '06012' and t.syst......

    經(jīng)典人生哲理語句

    1.如果你不喜歡現(xiàn)在的工作,要么辭職不干,要么就閉嘴不言。初出茅廬,往往眼高手低,心高氣傲,大事做不了,小事不愿做。不要養(yǎng)成挑三揀四的習慣。不要雨天煩打傘,不帶傘又怕淋雨,處處......

    SQL高手篇精妙SQL語句介紹

    說明:復制表(只復制結(jié)構(gòu),源表名:a 新表名:b) SQL: select * into b from a where 11 說明:拷貝表(拷貝數(shù)據(jù),源表名:a 目標表名:b) SQL: insert into b(a, b, c) select d,......

    經(jīng)典人生哲理語句5篇

    人生感悟http://www.tmdps.cn/ 1.如果你不喜歡現(xiàn)在的工作,要么辭職不干,要么就閉嘴不言。初出茅廬,往往眼高手低,心高氣傲,大事做不了,小事不愿做。不要養(yǎng)成挑三揀四的習......

    關(guān)于有趣人生哲理語句

    導語:如果敵人讓你生氣,那說明你還沒有勝他的把握。以下小編為大家介紹關(guān)于有趣人生哲理語句文章,歡迎大家閱讀參考!關(guān)于有趣人生哲理語句1.人生像一束鮮花,仔細觀賞,才能看到......

    經(jīng)典人生哲理語句2018

    安樂給人予舒適,卻又給人予早逝;勞作給人予磨礪,卻能給人予長久。 下面,小編為大家分享經(jīng)典人生哲理語句,快來看看吧!1、今生今世,每個人要如何定位自己,要如何看待生命的價值與意義......

    具有人生哲理英語語句

    Death it but crossing the world, as friends do the seas; they live in one another still。死亡僅僅是世界的穿梭——如同朋友穿越海洋一樣——他們在另外的世界里依然永......

    Oracle SQL精妙SQL語句講解(5篇材料)

    好東西,大家趕緊收藏吧~~~ 轉(zhuǎn)自junsansi --行列轉(zhuǎn)換 行轉(zhuǎn)列 DROP TABLE t_change_lc; CREATE TABLE t_change_lc (card_code VARCHAR2, q NUMBER, bal NUMBER); INSERT......

主站蜘蛛池模板: 丰满爆乳无码一区二区三区| 欧美伊人色综合久久天天| 亚洲国产人在线播放首页| 国产精品无码一区二区三级| 亚洲成av人片不卡无码手机版| 欧美日韩亚洲tv不卡久久| 永久免费观看的毛片手机视频| 日韩国产亚洲欧美成人图片| 少妇人妻综合久久中文| 成人午夜精品久久久久久久| 国产亚洲精品久久久久久国模美| 被粗大的?巴捣出白浆江澄| 欧美超级乱婬视频播放| 午夜免费啪视频在线观看| 色婷婷综合久久久久中文一区二区| 18精品久久久无码午夜福利| 亚洲一区 日韩精品 中文字幕| 国产精品爽爽v在线观看无码| 国产精品自产拍在线观看免费| 亚洲成av人片在线观看无app| 免费欧洲美女牲交视频| 日本阿v片在线播放免费| 久久久久久国产精品美女| 欧美丰满大爆乳波霸奶水多| 午夜理论欧美理论片| 亚洲一区二区三区av天堂| 2019午夜三级网站理论| 亚洲国产欧美中文手机在线| 国内2020揄拍人妻在线视频| 婷婷色婷婷开心五月四房播播久久| 人妻少妇精品专区性色av| 亚洲精品区午夜亚洲精品区| 97视频热人人精品免费| 性欧美乱妇高清come| 国产成人精选视频在线观看不卡| 性xxxx欧美老妇胖老太269| 国产福利在线永久视频| 极品粉嫩嫩模大尺度无码| 成年片色大黄全免费软件到| 国产无遮挡18禁无码网站| 日产精品高潮呻吟av久久|