第一篇:语法试卷A
系 别班 级姓 名准 考 证 号
………………………………密………………………………封…………………………………线…………………………
I.Multiple Choice(40%.1 point for each)
Directions: There are 40 incomplete sentences in this part.For each sentence there are four choices marked A, B, C and D.Choose the one that best completes the sentence.Write your answers on the answer sheet.1.It is necessary that an efficient worker _______ his work on time,A.accomplishesB.can accomplishC.accomplishD.will accomplish
2.I know this is the right train, the ticket agent said it would be on _______.A.Platform ThreeB.the Platform ThreeC.Third PlatformD.the Three Platform
3.William is very hardworking, but his pay is not _______ for his work.A.enough goodB.good enoughC.as good enoughD.good as enough
4.I won't take Susan’s pen because I don’t like _______.A.that pen of hersB.that her penC.her that penD.that pen of her
5.I didn’t call the hotel to make a room reservation, but I _______.A.may haveB.must haveC.should haveD.shall have
6.My sister will be here tomorrow, but at first I thought that she _______ today.A.was comingB.is comingC.must comeD.may come
7.Land belongs to the city;there is _______ thing as private ownership of land.A.no such aB.not suchC.not such anyD.no such
8.The flats I have looked at so far were too expensive.So I’m better off _______ where I am.A.stayB.stayingC.to stayD.stayed
9.Since the family are moving to a new house, they have to buy _______ new furniture.A.a lot ofB.manyC.a fewD.quite a few
10.My son walked ten miles today.We never guessed that he could walk _______ far.A./B.suchC.thatD.as
11.If the temperature of the reactor _______ 500 degrees higher, meltdown would have occurred.A.wasB.had beenC.was beingD.had
12.The more acid you add to the solution, _______ it becomes.A.cloudierB.the cloudiestC.more cloudyD.the cloudier
13.The lecturer said “It’s time you _______ the literature review.”
A.beganB.should beginC.beginD.are beginning
14.After _______ your results, you should make an appointment with your tutor.A.you receivingB.you have received
C.you would have receivedD.you received
15.You _______ the experiment twice, not once.A.haven’t carried outB.shouldn’t have carried out
C.should have carried outD.might have carried out
16.It looks _______ you've made a serious mistake.A.asB.ifC.thoughD.as though
17._______ the right answer I would have got full marks in the exam.A.If I would have knownB.If I’ll knowC.Had I knownD.If I was knowing
18._______ way you do it, the answer is always the same.A.HoweverB.WhicheverC.WhoeverD.Why ever
19._______ producing methane, the process also produces carbon monoxide.A.ApartB.As wellC.BesidesD.In addition
20.He appears _______ some minor problems.A.to have hadB.havingC.was havingD.had
21.Tom studies harder than _______ in our class.………………………………密………………………………封…………………………………线…………………………
A.allB.everyoneC.anyone elseD.any other
22._______ our dear sister rest in peace.A.CanB.MayC.MustD.Will
23.Nobody saw the CEO at the conference;he _______ at it.A.couldn't have spokenB.couldn't speakC.mustn't have spokenD.shouldn't have spoken
24.Who _______ it be at the door?
A.mayB.canC.mustD.need
25.The line is busy;someone _______ the telephone.A.must useB.must be usingC.must have been usingD.has been using
26.If there were no subjunctive mood, English _______ much easier.A.would beB.could have beenC.will beD.would have been
27._______ for his timely help, I could not have completed my project in time.A.If it was notB.If it were notC.Had it not beenD.Were it not
28.I wish I _______ you yesterday.A.did telephoneB.telephoned
C.had telephonedD.were to telephone
29.How about us _______ a concert at the weekend?
A.to go toB.going toC.go toD.to be going to
30.I would appreciate _______ to see me in my office.A.your comingB.you to come
C.you comeD.you to be coming
31.These photos will show you _______.A.what does our university look likeB.what our university looks like
C.how does our university look likeD.how our university looks like
32.Go and get your suitcase.It is _______ you left it.A.whenB.whetherC.howD.where
33._______ John won the first prize at the speech contest made the whole class very excited.A.HowB.WhatC.ThatD.Whether
34.I guess Patricia will invite _______ you want.A.whomeverB.whateverC.whoeverD.whichever
35.Mr.Johnson said that Beijing was the first city _______ he had visited in China.A.whereB.whichC.thatD.what
36.Tomorrow will be Monday._______.A.So will itB.So it willC.Neither it willD.Neither will it
37.Neither Tim nor I had overheard of, let alone _______ such a fascinating book.A.seeB.to seeC.seeingD.seen
38.One of her longest _______ dreams was to visit her birthplace again.A.heldB.holdingC.holdD.being held
39.You must have waited for me for a long time, _______?
A.mustn't youB.needn't youC.didn't youD.haven't you
40.---Many of us thought that last night's play was generally poor.---I didn't find _______.A.it soB.itC.it beD.it is
II.Transformation(20%.2 points for each)
Directions: In this part of the examination, you are required to rewrite the following sentences as required.Write your answers on the answer sheet.1.Rewrite the following sentence, using “it”:
Many citizens believed that the fire had been caused by foreigners.2.Turn the singular nouns or noun phrases into plural forms wherever possible with other necessary changes:
………………………………密………………………………封…………………………………线…………………………
He was anxious to increase his knowledge.3.Combine sentences using comparative degree(more...than...):
He works carefully.I don't work carefully enough
4.Write a counter-factual conditional based on the given facts:
Tom doesn’t travel because he doesn't have enough money.5.Combine the following sentences into one sentence, using coordination.Tom speaks Chinese fluently.He can't write in it.6.Use-ed participle as a complement:
He felt that his spirit was lifted after hearing the news.7.Combine sentences using a relative clause:
She was dancing with a student.He had a slight limp.8.Combine the sentences into a sentence with an objective clause:
Will there be a lot of people at the party? Do you know?
9.Turn the sentence into a simple one:
All this proves that the decision was correct.10.Put the following into the passive:
They often made fun of her in school.III.Error Identification and Correction(20%.2 points for each)
Directions: There are 15 sentences in this part.In each sentence there is an error.You are expected to identify and mark out the underlined part of the sentence that is incorrect and write out your correction.Write your answers on the answer sheet.ABCDABCDABCDABCDABCDABCDABCDABCD
ABCD
wanted.ABCD
IV.Blank Filling(20%.10% for Part A and 10% for Part B)
Part A(10%.1 point for each)
………………………………密………………………………封…………………………………线…………………………
Directions: There are 15 incomplete sentences in this part.For each sentence a word is given in the bracket.You arerequired to fill in the blanks with the proper forms of the words given.Write your answers on the answer sheet.1.It is recommended that a lawyer ________(be)present when you begin to negotiate the terms in the contract.2.It is only typical of you.You ________(always lose)things.3.If you favour ________(work)on night shift, you may sign up here.4.He felt very ________(depress)when he heard the story.5.It seems that you are beginning ________(understand)my point.6.Mary negotiates ________(skillfully)than her boss.7.Please tell us about your ________(experience)in Tibet.8.We'd better hurry.We can't risk __________(miss)the train.9.________(not see)him for no less than ten years, I am not sure whether he is Tony’s cousin or not.10.Having lost all his money, Mark had no choice but ________(ask)the police for help.Part B(10%.1 point for each)
Directions: There are 10 sentences in this part.For each sentence there is a blank.You should choose one coordinator or subordinator that best fits into the sentence.Then write your answers on the answer sheet.1.Not everyone can go to Cambridge ________ Oxford.You’re one of the privileged few.2.He is such a sound sleeper ________ you wouldn’t wake him up even if you remove the bed.3.You are to finish your homework ________ you can watch TV.4.You didn’t need to carry the parcel home ________ the shop has delivery service.5.They became more and more amused at ________ he was doing to the dog.6.________ he does is often at variance with what he says.7.Work harder, ________ you will never pass the comprehensive examination.8.It was an island ________ name I have forgotten.9.John was so disappointed when Susan turned down his proposal ________ he remained single for the rest of his life.10.________ she was on the verge of starvation, her brother was living an extravagant life.
第二篇:语法试卷(模拟二)
语法试卷(模拟二)
一、单项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。每小题1分,共30分)
1、下列词语中不是名词的一项是()A理解 B理想 C理论 D 理由
2、下列词语中能带宾语的是
(A亲自 B安排 C慌 张 D大型
3、笔直、努力、乌溜溜“这三个词都是
(A名词 B动词 C形容词 D代词
4、“男、金、黑白”三个词都是(A动词 B名词 C副词 D区别词
5、下列选项中“没有”是副词的是(A 教师有没有 B没有能力 C没有道理 D吃了没有
6、“在黑板上写字”的“在”是(A动词 B副词 C介词 D方位词
7、下列选项中“和”是连词的是(A 张三和李四是同学。B和李白齐名的是杜甫。C战士和敌人英勇搏斗。D我曾经和他去过那里。
8、下列选项中“的2” 是(A 害羞的女孩 B 坐飞机来的 C 坐在后面的 D时间是有的
9、“妈呀”是(A名词 B语气词 C叹词 D助词
10“一个月三十天”是(A主谓短语 B动宾短语 C中补短语 D偏正短语
11、“乾隆皇帝”是(A联合短语 B同位短语 C偏正短语 D主谓短语
12、“关着不开”是(A动宾短语 B连动短语 C联合短语 D同位短语
)))))))))))
13、“让爱做主”是
()A主谓短语 B偏正短语 C兼语短语 D中补短语
14、在下列选项中,中补短语是
()
A值得纪念 B赢得尊重 C获得赞助 D哭得厉害
15、“亲密爱人”是()
A联合短语 B偏正短语 C主谓短语 D中补短语
16、“一张床睡四个人 ”的“一张床 ”是 A施事主语 B受事主语 C状语 D定语
17、“小狗尾巴摇得欢快。”一句中“谓语”是 A摇得 B欢快 C尾巴摇 D尾巴摇得欢快
18、“我想飞”中的“飞”是
A谓语 B宾语 C补语 D状语
19、含有补语的句子是 A千年等一回!B千年干一杯!C千年做一梦 D千年见一面!
20、下列选项中具有两层修饰语的是 A一所中学的老师 B 非常严重的问题 C一所破旧的学校 D人烟稀少的地方
21、“操场上的人,少说,也有两千”中的“少说”是 A谓语 B状语 C插说语 D定语
22、“西湖风景非常美。”这个句子是 A形容词谓语句 B名词谓语句 C非主谓句 D主谓谓语句
23、下列句子中的名词性非主谓句是
A林城贵阳。B实在精彩!C天哪!D来人啦!
24、“伍子胥过昭关一夜白了头。”是 A双宾句 B连谓句 C兼语句 D存现句
25、下列选项中“兼语句”是 A 请你留下微笑。B 我给你一本书。C我听见他来了。D他有机会上大学。
()
())))()
()
()
()(((
26、下列选项中“双宾句”是()A我托他带一件东西。B我拿给他一件东西。C我把一件东西拿给他。D东西我已经拿给他了。
27、下列选项中“存现句”是()A 大厅里有很多人。B很多人在大厅里。C大厅里的人很多。D 大厅里人挤满了。
28、下列选项中“复句”是()
A我们爱祖国爱人民。B伍子胥过昭关,一夜白了头。
C在船上,我们看日出。D 几百年来,人们都没有解决这个问题。
29、下列选项中没有语病的句子是()
A今天的比赛是最精彩的一天。B 大家都兴趣了这个问题。C我并不把它放在心上。D泪水把眼睛模糊了。
30、下列选项中不是省略句的是()
A看到这一幕,我很感动。B 甲:你说什么?乙:没说什么呀!C放心吧,我会弄好的。D 小心衣服弄脏你的口红!
二、多项选择题:(本大题共5小题,每小题2分,共10分)
(在每小题列出的五个选项中有二至五个选项是符合题目要求的,请将其代码填写在题后的括号内。多选、少选、错选均无分。)
31、下列选项中词语具有形态变化的有()
A家家户户 B轰轰烈烈 C从从容容 D商量商量 E雪白雪白
32、下列句子中具有词语活用现象的有()A河流肥沃了土地。B铁锤锤碗。C.春风绿了大地。
D他画了一幅画。E城市的风景很美丽。
33、下列句子中包含补语的有()
A读万卷书行万里路。B我飞得更高。C我记得很牢。D 等你一万年。E誓言值得相信吗?
34、下列句子中是主谓谓语句的有()
A他个子不高。B他的身体很棒。C东西我准备了。D 我一个人都不认识。E对于这件事,大家都有发言权。
35、下列选项中没有语病的句子有()A一片雪白的盐地。B我记得你曾说过的话。C小王的很多事情你都知道。D 文化知识必须提高。E对于这件事,大家都有发言权。
三、分析题(本大题包含3小题,共45分)
36、用层次分析法分析下列词组的结构层次与结构关系,如果是多义短语请分化。(17分)(1)中国历史图册(2)写出好作品
(3)我请你帮忙(4)越王勾践独自坐着沉思
(5)照顾孩子的妈妈
37分析下列句子(句子的成分、句型、句式。18分)。(1)汉代简册的发现,我们认为很有价值。
(2)听说,他把丢失的孩子找回来了。
(3)学习委员催大家赶快交作业。
(4)儿子带给妈妈一件礼物。
38、用划线加注法分析下列复句中分句间的层次关系。(10分)
(1)没有知识,工人就无法做好工作;有了知识,工人才能更好地完成任务。
(2)我喜欢秋天,因为它是收获的季节,而且气候宜人。
(3)高尔基在自学过程中,既没有名师指点,更没有资料可供查阅,碰到的困难当然就比寻常人更多,但是疑难总是吓不倒他。
四、评改题(10分)
39、下面的句子有语病,指出它们存在的问题并且改正。
(1)在老师的教育下,使我提高了认识。
(2)他为中国军人的杰出代表树立了榜样。
(3)演员们都希望能演好人。
五、简答题(5分)
40、下面两个句子句型是否相同?请说明它们的区别。让爱做主!/ 出去走走吧!
第三篇:语法
一提到语法,许多英语学习者都会紧皱眉头,深深地叹气,同时也会马上联想到高中厚厚的语法书,还有一堆做不完搞不明白的语法题,那么对于雅思写作,语法的重要性在哪里呢?其实如果对雅思作文有所了解的同学会发现,雅思对语法的要求和高中语法完全不一样,其主要讲求实用性以及基本的语法要点,不会从细节上考察语法。本文中,朗将对雅思写作中的常见的语法错误进行分析,帮助考生们在今后的写作中避免这些错误。
一、名词的单复数
在雅思写作中,考生常常分不清可数名词和不可数名词,从而导致一系列的语法错误: The number of fruit in summer is larger than in winter.“fruit”是一个不可数名词,往往考生们受母语的影响,误认为其为可数名词。与汉语不同,英语中名词要区分可数与不可数。
笼统地讲,物质名词,如:water(水), iron(铁), wood(木头)等和抽象名词,如:democracy(民主), freedom(自由), happiness(幸福)等为不可数。以下名词为不可数名词:
news(消息)information(信息)furniture(家具)equipment(设备)advice(劝告)weather(天气)work(工作)clothing(衣服)baggage(行李)
work作“工作”解释时为不可数名词,“找工作”不能说to find a work, 应为to find a job;work作“著作”、“作品”解时是可数名词,如:Deng Xiaopin's works(邓小平著作)/a work about Deng Xiaopin(一件关于邓小平的作品);作“工厂”解释时,单复数同形:a steel works(一个钢铁厂)/two chemical works(两家化工厂)以下名词单复数同形:
means(手段)headquarters(司令部)works(工厂)species(物种)aircraft(飞机)Chinese(中国人)sheep(羊)fish(鱼)
中国的计量单位:li(里), yuan(元), mu(亩)等 实例:Every means has been tried out, but without satisfactory results.(每个方法都试过了,但结果不令人满意。)
形式上是复数的学科名称,如physics, statistics, dynamics作单数看待;时间、距离、钞票、重量等复数,可以看作一个整体作单数处理,如:Two days is not enough for me to finish the task.(要我完成此项任务两天是不够的。)
二、主谓一致
主谓一致也是雅思考生经常犯的语法错误之一,在许多同学的作文中,主谓一致的错误比比皆是,大量的主谓一致错误一定会导致比较低的语法分数,所以想要取得高分的同学一定不能忽略这个问题。
主谓一致指“人称”和“数”方面的一致关系,如:He is going abroad.They are playing football.可分为:语法一致,内容一致,就近一致。
语法一致原则:即主语为单数,谓语用单数,主语为复数,谓语也用复数。以下为注意事项: 1.单数主语即使后面带有with, along with, together with, like(像),but(除了),except, besides, as well as, no less than, rather than(而不是),including, in addition to引导的短语,谓语动词仍用单数。
如:Air as well as water is matter.空气和水都是物质。
No one except two servants was late for the dinner.除了两个仆人外,没有一个人迟来用餐。
2.用and连接的并列主语,如果主语是同一个人、同一事、同一概念,谓语动词用单数,否则用复数。如:
The poet and writer has come.那位诗人兼作家来了。(一个人)
A hammer and a saw are useful tools.锤子和锯都是有用的工具。(两件物品)3.用and连接的成对名词习惯上被看成是一个整体,如:bread and butter(黄油抹面包),knife and fork(刀叉)等作主语时,谓语动词用单数。
4.不定式(短语),动名词(短语),或从句作主语时,谓语动词用单数。如: Serving the people is my great happiness.为人民服务是我最大的幸福。
When we’ll go out for an outing has been decided.我们什么时候出去郊游已决定了。
5.当连接的并列主语被each, every或no修饰时,谓语动词用单数。Every boy and every girl likes to go swimming.每个男孩和每个女孩都喜欢去游泳。No teacher and no student was absent from the meeting.没有老师也没有学生开会缺席。
Each man and(each)woman is asked to help.每个男人和每个女人都被请去帮忙。each of + 复数代词,谓语动词用单数。复数代词+each, 谓语动词用单数,如: Each of us has something to say.我们每个人都有话要说。
6.若主语中有more than one或many a/an, 尽管从意义上看是复数,但它的谓语动词仍用单数。但more+复数名词+than one做主语时,谓语动词仍用复数,如: Many a boy likes playing basketball.许多男生都喜欢打篮球。More than one student was late.不只一个学生迟到了。
More persons than one come to help us.不止一个人来帮助我们。
7.none做主语时,谓语动词可用单数,也可用复数;但在代表不可数的东西时总是看作单数,因而谓语动词要用单数。如: None of us are(is)perfect.人无完人。None of this worries me.这事一点不使我着急。
8.名词如:trousers, scissors, clothes, goods, glasses等作主语时,谓语动词必须用复数,如:
His clothes are good.但这些名词前若出现a pair of , 谓语一般用单数,如: A pair of glasses is on the desk.桌上有一副眼镜。
9.形复意单名词如:news;以ics结尾的学科名称如:physics, mathematics, economics;国名如:the United States;报纸名如:the New Times;书名如:Arabian Night <天方夜谈>;以及The United Nations<联合国>等作主语时,谓语动词用单数。10.“a+名词+and a half”, “one and a half+名词”,“the number of+名词”等作主语时,谓语动词要用单数,如:
Only one and a half apples is left on the table.注意:one or two+复数名词作主语,谓语动词用复数形式,如: One or two places have been visited.参观了一两个地点。内容一致原则: 1.主语中有all, half, most, the rest等,以及“分数或百分数+名词”做主语时,谓语动词单复数取决于连用的名词,如:
The rest of the bikes are on sale today.剩下的自行车今天出售。
60% of the apple was eaten by little boy.这个苹果的60%都被这个小男孩吃了。Most of the apples were rotten.大部分的苹果都是烂的。
Most of the apple was eaten by a rat.这个苹果的大部分被老鼠吃了。
2.不定数量的词组,如:part of, a lot of, lots of, one of, a number of, plenty of等作主语时,谓语动词的单复数取决于量词后面名词的数,如: A part of the textbooks have arrived.一小部分教科书已运到。
A part of the apple has been eaten up by the pig.这个苹果的一部分被猪吃光了。3.加减乘除用单数,如:
Fifteen minus five is ten.15减去5等于10。
4.表示时间,金钱,距离,度量等的名词做主语时,尽管是复数形式,它们做为一个单一的概念时,其谓语动词用单数,如:
Ten miles is a good distance.十英里是一个相当的距离。
5.(1)通常作复数的集体名词:包括police, people, cattle等,这些集体名词通常用作复数,如:
The British police have only very limited powers.(2)通常作不可数名词的集体名词:包括equipment, furniture, clothing, luggage等。(3)可作单数也可作复数的集体名词:包括audience, committee, government, family, enemy, group, party, team, public等,如:
The committee has/have decided to dismiss him.委员会决定解雇他。6.“the+形容词/过去分词形式”表示一类人或事物,作主语时,谓语动词用复数,如: The injured were saved after the fire.就近原则:
1.由here, there, where等引导的倒装句中(有时主语不止一个时),谓语动词与靠近它的主语在数上一致,如:
Here comes the bus.公共汽车来了。Here is a pen and some pieces of paper for you.给你一支钢笔和几张纸。Where is your wife and children to stay while you are away? 你不在这儿的时候,你爱人和孩子呆在哪儿呢?
2.用连词or, either....or, neither….nor, not only….but also等连接的并列主语,谓语动词与靠近它的主语在数上一致,如:
Neither the students nor the teacher knows anything about it.学生和老师都不知道这事。
He or you have taken my pen.他或你拿了我的钢笔。
注意:one of+复数名词+who/that/which引导的定语从句中,定语从句的动词为复数,如:
Mary is one of those people who keep pets.玛丽是饲养宠物者之一。
The only one of+复数名词+who/that/which引导的定语从句中,定语从句的动词应为单数。
Mary is the only one of those people who keeps pets.玛丽是唯一一个饲养宠物的人。
三、时态
时态是雅思作文中至关重要的一部分,如果时态出现错误会导致整篇文章的错误。主要需要掌握的时态为一般现在时,过去时和将来时,掌握好这三种时态对于雅思写作来说已经足够。提醒考生注意,Task One的第一段肯定是一般现在时态,中间段落的时态要由图表中的时间来决定,但是基本上不会出现进行时态,而对于流程图,只能使用一般现在时态。Task Two基本上以一般现在时态为主,根据所写内容决定是否应该使用其他时态。一般现在时态主要就是注意主谓一致的问题,一般过去时态需要特别注意动词过去式的拼写,特别是不规则动词过去式的变化,而将来时态需要注意的是在小作文中只能使用will+do的形式而不能使用be going to。
第四篇:语法
初、高中英语知识的有效衔接
河北盐山中学
田宝葵
高中是初高中阶段承前启后的一年,初高中英语的有效衔接关系到学生整个高中阶段英语学习成绩的好坏和教师教学任务是否能够顺利完成。然而许多高一新生由于不适应高中英语教学,经过一段时间的学习,英语学习成绩愈来愈差,以至于失去学习信心,造成学习上的困难,而英语教师由于对学生初中英语学习的知识点和起始能力了解不足,缺乏足够的调研分析,结果学生英语学习越来越困难,兴趣也越来越低落。究其原因,一是:学生存在知识和能力的缺陷,以至于初高中的英语知识衔接上产生了一定的困难;二是:有些学生没搞清楚初高中英语不同阶段的学习特点及其知识差异,缺少高中阶段有效的英语学习策略。为帮助学生搞好初高中英语知识的有效衔接,使学生能对英语产生持久浓厚的兴趣,使老师的衔接教学更有针对性,我们进行了研究。
一、辨析初高中英语词汇的异同,形成有效的单词记忆策略。
1.激发兴趣,提高对词汇教学的认识。在长期的初中英语词汇教学中,“教师领读,学生跟读”已成模式。在这种模式中,口拼与书写脱离,单词与上下文脱离,重语言的语法解释,轻单词本身的记忆。许多学生常常死记硬背,不注意将词汇的音、形、义有机地联系起来记忆,因而往往记了忘,忘了记,记了又忘,收效甚微,磨灭了学生学英语的兴趣。所以,高中教师应采用灵活多样的词汇教学方法开展教学。同时,对学生阐明初高中词汇存在的差异,进行词汇学习重要性的教育,使他们做好充分的心理准备。新课程标准中对情感态度也作出明确的描述,引导学生将兴趣转化为稳定的学习动机,以使他们树立较强的自信心,形成克服困难的意志,努力让尽可能多的学生参与到词汇教学中来,引导学生逐步由“要我学”到“我要学”。2. 改善单一的词汇教学方法
第一,词汇的意义由语境决定,极少孤立存在。一个词通常会有几种意义,若要学习它,切忌把所有的词汇意义死记硬背,必须要在不同的语境中理解以后,其学习和记忆的效果才更好。
第二,帮助学生在语境中运用词汇。新课程倡导学生用语言做事的能力,要培养这种能力,教师就要创设有意义的教学情景,让学生置身于真正的交际情景中体会词汇的意义、搭配和用法。教师应打破“教师领读,学生跟读”的词汇教学模式,彻底改变词汇教学与语境相脱节的局面。
第三,根据发音记忆词形,根据语境学习词义,根据构词法巧记词性词义,运用中理解巩固短语及单词的用法。强调高中英语词汇与初中词汇相比,具有的两个典型的特征。一是高中词汇的一词多义,如单词run在初中英语中学生只知道跑得意思,而在高中英语中它常用的意思就有跑、管理,经营,褪色,融化等意思。二是利用构词法来拓宽词汇,辨析词性,如单词devote在初中它的意思是献身,而在高中的devotion就可以由名词后缀tion 判断出它的词性为名词,词义是名词献身。并要有效利用字典,对单词进行音、形、义相结合的有效词汇记忆。
第四,强化语音教学,为词汇教学打好基础。词汇教学一般采取由音到形再到义的顺序,语音是学生接触一个词的最初印象,如果读不出音就不易记住形,无音无形就谈不上什么义。学好语音不但有利于正确地以声音形式表达思想,而且对词汇学习和记忆大有帮助。因此,要牢记一个单词首先应把音念准。重视语境教学,帮助学生在语境中理解和运用词汇。
二、区别初高中听力、阅读、写作的异同,培养学生应用能力的提高
第一,初中和高中英语完形填空的区别在初中英语中,鉴于学生的词汇量不大、知识面较窄和逻辑推理能力不够健全等因素,选作完形填空的文章往往都是一些故事性的短文或是学生非常熟悉的话题,且对学生的文章的整体理解、上下文的段落衔接、情节分析及推理判断能力的考查虽然有所体现,但要求不算太高。学生进入高中以后,除了在单词掌握的数量上要有明显的提升外,还要有语言交际、文化背景和社会风俗习惯等知识的拓展与积累。高中英语完形填空题更突出考查语篇的完整性,强调段与段、句与句之间的逻辑性。高中英语完形填空的文章偏重于理性的分析和情感的交融,出现的科普、文化及议论性的文章偏多,往往还夹叙夹议,在议论中升华。这就要求学生既要有较好的运用词汇、语法和理解语篇的能力,还要擅于让自己进入文章的角色,感悟人物的内心世界,领会人物的心理活动,把握文章。
第二.初中英语阅读教学重视对学生基础语言知识和基本语言技能的培养,重视对阅读内容的理解,关注学生获取有效信息的能力;而高中英语阅读教学除了以上要求,更强调对学生进行阅读方法的指导和阅读技能的训练,更关注他们处理阅读材料不同信息的过程和整合相关信息的能力,同时着力培养学生情感与态度等,从而逐步提高学生对英语语言的理解力和掌控力。因此要使高中英语阅读教学顺畅衔接,教师就很有必要了解初高中英语阅读课的特点及教学要求,有效地利用教材提供的各种语言材料和各项活动任务,重视学生的词汇积累、培养学生的阅读习惯、强化阅读技能,从而提高学生的整体英语水平,让学生“掌握方法、养成习惯、形成能力”,顺利实现初高中的衔接。也为学生将来进一步学好英语奠定坚实的基础。
第三.初高中写作要求特点及训练的差异及应对的策略,初中英语作文重在简单的情景运用或喜好评论,且因为分值和乡村中学英语基础薄弱,大多数学生忽视英语写作。高中英语重在实际应用和观点评论,且因为分值和以后学习生活中的实际应用,应重点诱发学生英语写作能力的提高。对比初高中英语写作要求的差异,并鉴于中考作文中出现的一些问题,高中英语写作应强化书写的规范性和整洁度,狠抓学生的书写规范,主要包括书写字迹的工整,标点符号的正确使用,大小写,写完后要检查的习惯等。强化句子的训练,句子是构建短文重要的单位,因此高中教师必须在高一阶段进行连词成句的强化训练,为短文写作打下良好的基础。教师可以利用每单元中的重点句型结构,充分利用新教的单词或词组让学生做连词成句练习,并要求学生注意时态、语态、名词单复数、冠词等。强化阅读和背诵,教师从高一开始就要有意识地将课文原文或是经过改写后的文章让学生读背,重视经典句子的收集和模仿并以默写的形式予以巩固,这样既帮助学生打下扎实的语言基础,同时也为学生积累了写作的素材。
三、、分析初高中语法学习框架,降低高中语法的难度
初中生和高一学生对复杂句的概念很模糊,而这就给学生从句的学习带来了很大的困难。定语从句是高一上学期的重点语法项目,也是整个高中语法的难点,且影响以后名词性从句的学习。虽然学生在初三学过定语从句,但却是一知半解,不少学生无法判断先行词、关系代词、关系副词。为了让学生学习定语从句不至于那么困难,教师应做好大量的衔接工作。教师可先从学生熟悉的简单句入手,每天2-3个句子让学生划分句子成分,判断基本句型。在学生分清句子成分,牢固掌握了简单句的五种基本句型后慢慢渗透并列句和主从复合句的概念,从而过渡到定语从句的学习。也可结合初中英语中定语从句的讲解,先重点引出which, that和who, whom的定语从句用法,再引出高中语法中where, when , why和whose等从句的用法,学生既易于理解,也降低了高中语法的难度。这对于普通中学的学生来讲是必不可少的,所谓“磨刀不误砍柴工”就是这个道理。
总之,只要教师能正确引导,帮助学生调整好心态,逐步掌握高中英语的特点,形成适合自己的学习策略和学习方法,就一定能顺利地做好初高中的衔接,出色地完成高中英语学习。
第五篇:oracle语法
第一篇 基本操作
--解锁用户 alter user 用户 account unlock;--锁定用户 alter user 用户 account lock;alter user scott account unlock;
--创建一个用户yc 密码为a create user 用户名 identified by 密码; create user yc identified by a;
--登录不成功,会缺少create session 权限,赋予权限的语法 grant 权限名 to 用户; grant create session to yc;
--修改密码 alter user 用户名 identified by 新密码; alter user yc identified by b;
--删除用户 drop user yc;
--查询表空间
select *from dba_tablespaces;--查询用户信息
select *from dba_users;--创建表空间
create tablespace ycspace datafile 'E:oracleappproduct11.2.0dbhome_1oradataycspace.dbf' size 2m autoextend on next 2m maxsize 5m offline;
--创建临时表空间
create temporary yctempspace tempfile 'E:oracleappproduct11.2.0dbhome_1oradataycspace.dbf' size 2m autoextend on next 2m maxsize 5m offline;
--查询数据文件
select *from dba_data_files;
--修改表空间
--
1、修改表空间的状态
--默认情况下是online,只有在非离线情况下才可以进行修改
alter tablespace ycspace offline;--离线状态,不允许任何对象对该表空间的使用,使用情况:应用需要更新或维护的时候;数据库备份的时候 alter tablespace ycspace read write;--读写状态 alter tablespace ycspace online;alter tablespace ycspace read only;--只读,可以查询信息,可以删除表空间的对象,但是不能创建对象和修改对象。使用情况:数据存档的时候
--
2、修改表空间的大小--增加文件的大小
alter database datafile 'E:oracleappproduct11.2.0dbhome_1oradataycspace.dbf' resize 10m;--增加数据文件
alter tablespace ycspace add datafile 'E:oracleappproduct11.2.0dbhome_1oradataadd.dbf' size 2m;
--删除表空间的数据文件
alter tablespace 表空间的名字 drop datafile 数据文件名;
--删除表空间
drop tablespace ycspace;
--删除表空间且表空间中的内容和数据文件
drop tablespace ycspace including contents and datafiles;
--指定表空间 的 创建用户的语法
create user yc1 identified by a default tablespace ycspace temporary tablespace temp;
--删除用户 drop user yc1;
--权限
--赋予创建会话的权限 grant create session to yc1;
--创建一个表
create table studentInfo(sid int, sname varchar2(10));
--赋予yc1用户创建表的权限 grant create table to yc1;--赋予yc1使用表空间的权限 grant unlimited tablespace to yc1;
--系统权限
--对象权限
--插入
insert into studentInfo values(2,'abcd');--查询
select *from studentInfo;--修改
update studentInfo set sid=1;--删除
delete studentInfo;drop table studentInfo;--系统权限删除表
--赋权的语法
--系统权限
grant 权限名(系统权限或对象权限,角色,all)to 用户(角色,public)with admin option;
--对象权限
grant 权限名(系统权限或对象权限,角色,all)on 用户(角色,public)with grant option;
--收权语法--系统权限
revoke 权限名(系统权限或对象权限,角色,all)from 用户(角色,public)with admin option;--对象权限
revoke 权限名(系统权限或对象权限,角色,all)from 用户(角色,public)with grant option;
--赋予创建用户的权限并且把这个权限传递下去,即yc1可以给别人赋权 grant create user to yc1 with admin option;
--收回权限,只能收回scottd ,不能收回由scott赋权的yc1的权限 revoke create user from scott;
--查看用户所具有的权限 select *from user_sys_privs;
--对象权限详解 select * from emp;--使用yc1来查询scott里面的emp表 select * from scott.emp;
--赋予yc1查询emp表和插入的权限 grant select on emp to yc1;grant insert on emp to yc1;grant update(empno,ename)on emp to yc1;
grant delete on emp to yc1;
--对scott的emp表添加数据
insert into scott.emp(empno,ename)value(111,'acv');update scott.emp set ename='yc'where empno=111;
--赋予查询、赋予删除、添加、修改 grant select on 表名 to 用户
--grant select,delete,update,insert on 表名 to 用户 grant select,delete,update,insert on emp to yc1;grant all on dept to yc1;--all代表所有的对象权限
select *from scott.emp;
select *from scott.dept;insert into scott.dept values(50,'企事业文化部','bumen');
--查看角色
--dba:数据库管理员,系统最高权限,可以创建数据结构(表空间等)--resource:可以创建实体(表、视图),不可以创建数据库的结构
--connect:连接的权限,可以登录数据库,但是不可以创建实体和不可以创建数据库结构
select *from role_sys_privs;
grant connect to yc1;
--将可以连接的角色赋予给yc1,则yc1就是应该可以连接数据库的人,类似于 create session。create table StuInfos(sid int);
select *from StuInfos;
create table stuInfo(sid int primary key ,--主键 primary key 非空且唯一(主键约束)sname varchar2(10)not null,--姓名不能为空,(非空约束)sex char(2)check(sex in('男','女')),--(检查约束),check, age number(3,1)constraint ck_stuInfo_age check(age>10 and age<100),--也可以用varchar ;age between 10 and 100 ,在10和100之间,是一个闭区间 tel number(15)unique not null,--唯一约束,address varchar2(200)default '什么鬼')
insert into stuInfo values(3,'大大','男',18,4321543,default);insert into stuInfo values(1,'张三','男',10);select *from stuInfo;
drop table stuInfo;
create table classInfo(cid int primary key,--班级id cname varchar2(20)not null unique--班级名)create table stuInfo(sid int primary key, sname varchar2(20), cid int constraint fofk_stuInfo_cid references classInfo(cid)on delete cascade)insert into classInfo values(1,'1班');insert into classInfo values(2,'2班');insert into classInfo values(3,'3班');insert into classInfo values(4,'4班');
select *from classInfo;select *from stuInfo;
insert into stuInfo values(1001,'张三',2);insert into stuInfo values(1002,'张四',4);
update classInfo set cid=1 where cid=8;
drop table stuInfo;--要先删除这个 drop table classInfo;--再删除这个
delete classInfo where cid=4;--同时删除这两个表中的4
--删除用户的时候
drop user yc1 [cascade]--删除用户的同时把它创建的对象都一起删除
--修改表
--
1、添加表中字段
--alter table 表名 add 字段名 类型
alter table classInfo add status varchar2(10)default '未毕业'
--
2、修改已有字段的数据类型
--alter table 表名 modify 字段名 类型 alter table classInfo modify status number(1)
--
3、修改字段名
--alter table 表名 rename column 旧字段名 to 新的字段名 alter table classInfo rename column cname to 班级名;
--
4、删除字段--alter table 表名 drop column 字段名 alter table classInfo drop column status;
--
5、修改表名
--rename 旧表名 to 新表名 rename classInfo to 班级信息;
--删除表
--
1、截断表效率高,每删除一次会产生一次日志
2、截断会释放空间,而delete不会释放空间
--删除表结构和数据 drop table 表名;--删除表中所有数据 truncate table classInfo;delete classInfo;
create table classInfo(cid int primary key,--班级id cname varchar2(20)not null unique ,--班级名 stasuts varchar2(100));select *from classInfo;
--数据的操作
--增加数据语法
--insert into 表名[(列名,....)] values(对应的数据的值);
insert into classInfo values(1,'一班','未毕业');--需要按照表结构的顺序插入 insert into classInfo values(4,'六班','未毕业');insert into classInfo(cname,cid)values('二班',2);--需要按照括号中的顺序插入,但是 not null primary key 必须插入的。
insert into classInfo(cname,cid)values('三班',3);
--删除的语法
--delete 表名 [where 条件] delete classInfo where cid>=2;
--修改记录的语法
--update 表名 set [字段='值' ] [where 条件] update classInfo set cname='三班';--会修改所有该字段 update classInfo set cname='四班' where cid=1;update classInfo set cname='五班', stasuts ='未毕业' where cid=3;
--alter table classInfo drop constraint SYS_C0011213;
--添加多个时可以使用序列--用序列来做自动增长
create sequence seq_classInfo_cid start with 1001 increment by 1;
insert into classInfo values(seq_classInfo_cid.Nextval,'七班','未毕业');insert into classInfo values(seq_classInfo_cid.Nextval,'八班','未毕业');insert into classInfo values(seq_classInfo_cid.Nextval,'九班','未毕业');insert into classInfo values(seq_classInfo_cid.Nextval,'十班','未毕业');
create table classInfo2(cid int primary key,--班级id cname varchar2(20)not null unique ,--班级名 stasuts varchar2(100));select *from classInfo2;drop table classInfo2;
insert into classInfo2 select *from classInfo;insert into classInfo(cname,cid)select cname,cid from classInfo;alter table classInfo2 drop constraint SYS_C0011213;
select seq_classInfo_cid.nextval from dual;select seq_classInfo_cid.Currval from dual;
--直接创建一个新表,并拿到另一个表其中的数据 create table newTable as select cname,cid from classInfo;create table newTable1 as select *from classInfo;
select *from newTable;select *from newTable1;insert into newTable1 values(1008,'dg','');
直接在使用scott登陆,进行查询操作
----------------------简单查询
select *from emp;
select empno as id,ename as name from emp;
select empno 编号,ename 姓名 from emp;
--去除重复
select job from emp;select distinct job from emp;select job,deptno from emp;select distinct job,deptno from emp;
--字符串的连接
select '员工编号是' ||empno || '姓名是' ||ename ||'工作是'||job from emp;
--乘法
select ename,sal *12 from emp;--加减乘除都类似
---------限定查询
--奖金大于1500的
select *from emp where sal>1500;--有奖金的
select *from emp where comm is not null;--没有奖金的
select *from emp where comm is null;--有奖金且大于1500的
select *from emp where sal>1500 and comm is not null;--工资大于1500或者有奖金的
select *from emp where sal>1500 or comm is not null;--工资不大于1500且没奖金的
select *from emp where sal<=1500 and comm is null;select *from emp where not(sal >1500 or comm is not null);--工资大于1500但是小于3000的
select *from emp where sal>1500 and sal<3000;select *from emp where sal between 1500 and 3000;--between是闭区间,是包含1500和3000的
--时间区间
select *from emp where hiredate between to_date('1981-01-01','yyyy-MM-dd')and to_date('1981-12-31','yyyy-MM-dd');--查询雇员名字
select *from emp where ename='SMITH';--查询员工编号
select *from emp where empno=7369 or empno=7499 or empno=7521;select *from emp where empno in(7369,7499,7521);select *from emp where empno not in(7369,7499,7521);--排除这3个,其他的都可以查
--模糊查询
select *from emp where ename like '_M%';--第2个字母为M的 select *from emp where ename like '%M%';select *from emp where ename like '%%';--全查询
--不等号的用法
select * from emp where empno!=7369;select *from emp where empno<> 7369;
--对结果集排序--查询工资从低到高
select *from emp order by sal asc;select *from emp order by sal desc,hiredate desc;--asc 当导游列相同时就按第二个来排序--字符函数
select *from dual;--伪表 select 2*3 from dual;select sysdate from dual;--变成大写
select upper('smith')from dual;--变成小写
select lower('SMITH')from dual;--首字母大写
select initcap('smith')from dual;--连接字符串
select concat('jr','smith')from dual;--只能在oracle中使用 select 'jr' ||'smith' from dual;--推荐使用--截取字符串
select substr('hello',1,3)from dual;--索引从1开始--获取字符串长度 select length('hello')from dual;--字符串替换
select replace('hello','l','x')from dual;--把l替换为x-------通用函数--数值函数--四舍五入
select round(12.234)from dual;--取整的四舍五入 12 select round(12.657,2)from dual;--保留2位小数 select trunc(12.48)from dual;--取整
select trunc(12.48675,2)from dual;--保留2位小数--取余
select mod(10,3)from dual;--10/3取余 =1
--日期函数
--日期-数字=日期 日期+数字=日期 日期-日期=数字
--查询员工进入公司的周数
select ename,round((sysdate-hiredate)/7)weeks from emp;--查询所有员工进入公司的月数
select ename,round(months_between(sysdate,hiredate))months from emp;--求三个月后的日期
select add_months(sysdate,6)from dual;select next_day(sysdate,'星期一')from dual;--下星期 select last_day(sysdate)from dual;--本月最后一天
select last_day(to_date('1997-1-23','yyyy-MM-dd'))from dual;
--转换函数 select ename , to_char(hiredate,'yyyy')年,to_char(hiredate,'mm')月,to_char(hiredate,'dd')日 from emp;
select to_char(10000000,'$999,999,999')from emp;
select to_number('20')+to_number('80')from dual;--数字相加
--查询员工年薪
select ename,(sal*12+nvl(comm,0))yearsal from emp;--空和任何数计算都是空
--Decode函数,类似if else if(常用)
select decode(1,1,'one',2,'two','no name')from dual;--查询所有职位的中文名 select ename, decode(job, 'CLERK', '业务员', 'SALESMAN', '销售', 'MANAGER', '经理', 'ANALYST', '分析员', 'PRESIDENT', '总裁', '无业')from emp;
select ename, case when job = 'CLERK' then '业务员' when job = 'SALESMAN' then '销售' when job = 'MANAGER' then '经理' when job = 'ANALYST' then '分析员' when job = 'PRESIDENT' then '总裁' else '无业' end from emp;
-----------------------------
--多表查询
select *from dept;select *from emp,dept order by emp.deptno;select *from emp e,dept d where e.deptno=d.deptno;select e.*,d.dname,d.loc from emp e,dept d where e.deptno=d.deptno;
--查询出雇员的编号,姓名,部门编号,和名称,地址
select e.empno,e.ename,e.deptno,d.dname,d.loc from emp e,dept d where e.deptno=d.deptno;
--查询出每个员工的上级领导
select e.empno,e.ename,e1.empno,e1.ename from emp e,emp e1 where e.mgr=e1.empno;
select e.empno,e.ename,d.dname from emp e,dept d ,salgrade s, emp e1 where e.deptno=d.deptno and e.sal between s.losal and s.hisal and e.mgr=e1.empno;
select e.empno,e.ename,e1.empno,e1.ename from emp e,emp e1 where e.mgr=e1.empno(+);
--外连接
select *from emp order by deptno;--查询出每个部门的员工 /* 分析:部门表是全量表,员工表示非全量表,在做连接条件时,全量表在非全量表的哪端,那么连接时全量表的连接条件就在等号哪断 */--左连接
select * from dept d,emp e where d.deptno=e.deptno(+)order by e.deptno;--右连接
select * from emp e,dept d where e.deptno(+)=d.deptno order by e.deptno;
-----------------------------作业
--查询与smith相同部门的员工姓名和雇佣日期 select *from emp t where t.deptno=(select e.deptno from emp e where e.ename='SMITH')and t.ename<> 'SMITH';
--查询工资比公司平均工资高的员工的员工号,姓名和工资 select t.empno,t.ename,t.sal from emp t where t.sal>(select avg(sal)from emp);
--查询各部门中工资比本部门平均工资高的员工号,姓名和工资 select t.empno,t.ename,t.sal from emp t,(select avg(e.sal)avgsal,e.deptno from emp e group by e.deptno)a where t.sal>a.avgsal and t.deptno=a.deptno;--查询姓名中包含字母u的员工在相同部门的员工的员工号和姓名 select t.empno,t.ename from emp t where t.deptno in(select e.deptno from emp e where e.ename like '%U%')and t.empno not in(select e.empno from emp e where e.ename like '%U%');
--查询管理者是king的员工姓名和工资 select t.ename,t.sal from emp t where t.mgr in(select e.empno from emp e where e.ename='KING');
--------------------------sql1999语法
select *from emp join dept using(deptno)where deptno=20;select *from emp natural join dept;select *from emp e join dept d on e.deptno=d.deptno;select *from dept;select *from dept d left join emp e on d.deptno=e.deptno;select *from dept d,emp e where d.deptno=e.deptno(+);
---分组
select count(empno)from emp group by deptno;select deptno,job,count(*)from emp group by deptno,job order by deptno;select *from EMP for UPDATE;
--group by 后面有的字段,select后才可以有,group by后面没有的字段,select后面绝对不能有
select d.dname, d.loc, count(e.empno)from emp e, dept d where e.deptno = d.deptno group by d.dname, d.loc;
---------子查询
select *from emp t where t.sal>(select *from emp e where e.empno=7654);
select rownum ,t.* from emp t where rownum <6;
--pagesize 5 select *from(select rownum rw,a.* from(select *from emp)a where rownum <16)b where b.rw>10;select *from(select *from emp)where rownum>0;--索引
create index person_index on person(p_name);
--视图
create view view2 as select *from emp t where t.deptno=20;select *from view2;
-------------pl/sql--plsql是对sql语言的过程化扩展-----declare begin dbms_output.put_line('hello world');end;-------declare age number(3);marry boolean := true;--boolean不能直接输出 pname varchar2(10):= 're jeknc';begin age := 20;dbms_output.put_line(age);if marry then dbms_output.put_line('true');else dbms_output.put_line('false');end if;dbms_output.put_line(pname);end;
--常量和变量
--引用变量,引用表中的字段的类型
Myname emp.ename%type;--使用into来赋值
declare pname emp.ename%type;begin select t.ename into pname from emp t where t.empno=7369;dbms_output.put_line(pname);end;
--记录型变量
Emprec emp%rowtype;--使用into来赋值
declare Emprec emp%rowtype;begin select t.* into Emprec from emp t where t.empno=7369;dbms_output.put_line(Emprec.empno || ' '||Emprec.ename||' '||Emprec.job);end;
--if分支
语法1:
IF 条件 THEN 语句1;语句2;END IF;语法2:
IF 条件 THEN 语句序列1; ELSE 语句序列 2; END IF; 语法3:
IF 条件 THEN 语句;ELSIF 条件 THEN 语句;ELSE 语句;END IF;--1 declare pname number:=# begin if pname = 1 then dbms_output.put_line('我是1');else dbms_output.put_line('我不是1');end if;end;--2 declare pname number := # begin if pname = 1 then dbms_output.put_line('我是1');elsif pname = 2 then dbms_output.put_line('我是2');else dbms_output.put_line('我不是12');end if;end;
--loop循环语句 语法2: Loop EXIT [when 条件];…… End loop
--1 declare pnum number(4):=0;
begin while pnum < 10 loop dbms_output.put_line(pnum);pnum := pnum + 1;end loop;end;
--2(最常用的循环)declare pnum number(4):=0;begin loop exit when pnum=10;pnum:=pnum+1;dbms_output.put_line(pnum);end loop;end;--3 declare pnum number(4);begin for pnum in 1..10 loop dbms_output.put_line(pnum);end loop;end;
-----游标 语法:
CURSOR 游标名 [(参数名 数据类型,参数名 数据类型,...)] IS SELECT 语句;例如:cursor c1 is select ename from emp;
declare cursor c1 is select * from emp;emprec emp%rowtype;begin open c1;loop fetch c1 into emprec;exit when c1%notfound;dbms_output.put_line(emprec.empno || ' ' || emprec.ename);end loop;close c1;--要记得关闭游标 end;
--------例外
--异常,用来增强程序的健壮性和容错性--no_data_found(没有找到数据)--too_many_rows(select …into语句匹配多个行)--zero_pide(被零除)--value_error(算术或转换错误)--timeout_on_resource(在等待资源时发生超时)
--写出被0除的例外程序 declare pnum number(4):= 10;begin pnum := pnum / 0;exception when zero_pide then dbms_output.put_line('被0除了');when value_error then dbms_output.put_line('算术或转换错误');when others then dbms_output.put_line('其他异常');end;
--自定义异常
--No_data exception;--要抛出raise no_data;
declare cursor c1 is select * from emp t where t.deptno = 20;no_data exception;emprec emp%rowtype;begin open c1;loop fetch c1 into emprec;if c1%notfound then raise no_data;else dbms_output.put_line(emprec.empno || ' ' || emprec.ename);end if;end loop;close c1;
exception when no_data then dbms_output.put_line('无员工');when others then dbms_output.put_line('其他异常');end;
--存储过程 语法:
create [or replace] PROCEDURE 过程名[(参数名 in/out 数据类型)] AS begin PLSQL子程序体; End;
或者
create [or replace] PROCEDURE 过程名[(参数名 in/out 数据类型)] is begin PLSQL子程序体; End 过程名;
-----创建一个存储过程helloworld create or replace procedure helloworld is begin dbms_output.put_line('hello world');end helloworld;
------创建一个涨工资的
create or replace procedure addsal(eno in emp.empno%type)is emprec emp%rowtype;begin select * into emprec from emp t where t.empno = eno;
update emp t set t.sal = t.sal + 100 where t.empno = eno;dbms_output.put_line('涨工资前是' || emprec.sal || ',涨工资后是' ||(emprec.sal + 100));end addsal;
-----------------java代码调用存储过程和函数--存储过程--create or replace procedure acc_yealsal(eno in emp.empno%type,yearsal out number)is pcomm emp.comm%type;psal emp.sal%type;begin select t.sal,t.comm into psal,pcomm from emp t where t.empno=eno;yearsal :=psal*12 +nvl(pcomm,0);end;----存储函数
create or replace function 函数名(Name in type, Name in type,...)return 数据类型 is 结果变量 数据类型;begin
return(结果变量);end函数名;--存储函数计算年薪
create or replace function accf_yearsal(eno in emp.empno%type)return number is Result number;psal emp.sal%type;pcomm emp.comm%type;begin select t.sal, t.comm into psal, pcomm from emp t where t.empno = eno;Result := psal * 12 + nvl(pcomm, 0);return(Result);end accf_yearsal;
-------触发器
--触发语句:增删改: 语法:
CREATE [or REPLACE] TRIGGER 触发器名 {BEFORE | AFTER} {DELETE | INSERT | UPDATE [OF 列名]} ON 表名
[FOR EACH ROW [WHEN(条件)] ] begin PLSQL 块 End 触发器名
---插入一个新员工则触发
create or replace trigger insert_person after insert on emp begin dbms_output.put_line('插入新员工');end;select *from emp;insert into emp values(1001,'李四','管理',7902,sysdate,100,100,20);
--raise_application_error(-20001, '不能在非法时间插入员工')
--================================ SQL> @ E:powerDesignerA_脚本user.sql--导入脚本文件
select *from H_USER;
insert into h_user valuer(sequserid.nextval,'a','a',sysdate,'北京',1);
--数据库建模
--一对多:多的一端是2,箭头指向的是表1,即少的一端
--在实体类中一的一端的实体类有多的一端的实体类的集合属性
--使用powerDesiger进行数据库建模,然后将数据导入,导入到plsql中进行使用
--------------------连接远程数据库--方法1,修改localhost的地址 ORCL =(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl.lan)))--方法2--或者直接在登陆界面在database中输入远程数据库的ip地址和端口号进行远程登陆 1.create user username identified by password;//建用户名和密码oracle ,oracle
2.grant connect,resource,dba to username;//授权 grant connect,resource,dba,sysdba to username;
3.connect username/password//进入。
4.select table_name,column_name from user_tab_columns where table_name='TABLE_NAME';//查询表中的表名,字段名等等。最后的table_name要大写。
5.如何执行脚本SQL文件? SQL>@PATH/filename.sql;
7.查询用户下的所有表 select distinct table_name from user_tab_columns;===仅显示一列表名。
8.如何搜索出前N条记录?
select * from tablename where rownum 9.查找用户下的所有表:select * from tab;--查询该用户下的所有表及视图(显示表名tname,类型tabname和clusterid) 2、显示当前连接用户 SQL> show user –不能用在sql窗口 只能用在command命令窗口。 3、查看系统拥有哪些用户 SQL> select * from all_users; 4、新建用户并授权 SQL> create user a identified by a;(默认建在SYSTEM表空间下) SQL> grant connect,resource to a; 5、连接到新用户 SQL> conn a/a –或者是connect a/a 6、查询当前用户下所有对象 SQL> select * from tab;--table或是view 7、建立第一个表 SQL> create table a(a number); 8、查询表结构 SQL> desc a 9、插入新记录 SQL> insert into a values(1); 10、查询记录 SQL> select * from a; 11、更改记录 SQL> update a set a=2; 12、删除记录 SQL> delete from a; 13、回滚 SQL> roll; SQL> rollback; 14、提交 SQL> commit; select * from (select t.*,dense_rank()over(order by cardkind)rank from cardkind t) where rank = 2; 46.如何在字符串里加回车? select 'Welcome to visit'||chr(10)||'www.CSDN.NET' from dual;--‘||chr(10)||’作为换行符 53.如何使select语句使查询结果自动生成序号? select rownum COL from table;--主要就是oracle中引入了rownum 54.如何知道数据裤中某个表所在的tablespace? select tablespace_name from user_tables where table_name='TEST';--table_name名称要大写。 select * from user_tables中有个字段TABLESPACE_NAME,(oracle); select * from dba_segments where …; 55.怎么可以快速做一个和原表一样的备份表? create table new_table as(select * from old_table); 59.请问如何修改一张表的主键? alter table aaa drop constraint aaa_key; alter table aaa add constraint aaa_key primary key(a1,b1); 60.改变数据文件的大小? 用 ALTER DATABASE....DATAFILE....; 手工改变数据文件的大小,对于原来的 数据文件有没有损害。 61.怎样查看ORACLE中有哪些程序在运行之中? 查看v$session表 62.怎么可以看到数据库有多少个tablespace? select * from dba_tablespaces; 72.怎样查看哪些用户拥有SYSDBA、SYSOPER权限? SQL>conn sys/change_on_install –登不上去 SQL>select * from V_$PWFILE_USERS;76.如何显示当前连接用户? SHOW USER 77.如何查看数据文件放置的路径 ? col file_name format a50 SQL> select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id; 79.如何改变一个字段初始定义的Check范围? SQL> alter table xxx drop constraint constraint_name; 之后再创建新约束: SQL> alter table xxx add constraint constraint_name check(); 83.如何执行脚本SQL文件? SQL>@所在的文件路径 /filename.sql;例如放在E盘的根目录下则应该是 @E:a.sql;回车就OK了。 84.如何快速清空一个大表? SQL>truncate table table_name; 85.如何查有多少个数据库实例? SQL>SELECT * FROM V$INSTANCE; 86.如何查询数据库有多少表? SQL>select * from all_tables; 87.如何测试SQL语句执行所用的时间? SQL>set timing on; SQL>select * from tablename; 89.字符串的连接 SELECT CONCAT(COL1,COL2)FROM TABLE; SELECT COL1||COL2 FROM TABLE; 90.怎么把select出来的结果导到一个文本文件中? SQL>SPOOL C:ABCD.TXT; SQL>select * from table; SQL >spool off; 91.怎样估算SQL执行的I/O数 ? SQL>SET AUTOTRACE ON; SQL>SELECT * FROM TABLE; OR SQL>SELECT * FROM v$filestat; 可以查看IO数 92.如何在sqlplus下改变字段大小? alter table table_name modify(field_name varchar2(100)); 改大行,改小不行(除非都是空的) 93.如何查询某天的数据? select * from a where trunc(日期字段)=to_date('2003-05-02','yyyy-mm-dd');若是date型数据 insert into bsyear values(to_date('20130427','yyyymmdd'));或者是insert into bsyear values('27-4月-2013'); 94.sql 语句如何插入全年日期? create table BSYEAR(d date);insert into BSYEAR select to_date('20030101','yyyymmdd')+rownum-1 from all_objects where rownum <= to_char(to_date('20031231','yyyymmdd'),'ddd');--在表后直接插入365行数据日期。 紧急插入几条重要的: 如何在Oracle中复制表结构和表数据 1.复制表结构及其数据: create table table_name_new as select * from table_name_old 2.只复制表结构: create table table_name_new as select * from table_name_old where 1=2;或者: create table table_name_new like table_name_old 3.只复制表数据: 如果两个表结构一样: insert into table_name_new select * from table_name_old 如果两个表结构不一样: insert into table_name_new(column1,column2...)select column1,column2...from table_name_old 创建带主键的表: create table stuInfo(stuID int primary key,stuName varchar2(20),age int);或是不直接增加主键 alter table stuInfo add constraint stuInfo _PK primary key(stuID) 95.如果修改表名? alter table old_table_name rename to new_table_name; 97.如何知道用户拥有的权限? SELECT * FROM dba_sys_privs;--一个权限对应一条数据,这样对于同一个用户就有多条数据了。 98.从网上下载的ORACLE9I与市场上卖的标准版有什么区别? 从功能上说没有区别,只不过oracle公司有明文规定;从网站上下载的oracle产品不得用于商业用途,否则侵权。 101.如何搜索出前N条记录? SELECT * FROM empLOYEE WHERE ROWNUM < n ORDER BY empno;Select * from a where rownum 104.如何统计两个表的记录总数? select(select count(id)from aa)+(select count(id)from bb)总数 from dual;--总数那是没有单引号的,双引号可以。 106.如何在给现有的日期加上2年?(select add_months(sysdate,24)from dual;--2015/4/27 9:28:52 110.tablespace 是否不能大于4G? 没有限制.111.返回大于等于N的最小整数值? SELECT CEIL(N)FROM DUAL; 112.返回小于等于N的最小整数值? SELECT FLOOR(N)FROM DUAL; 113.返回当前月的最后一天? SELECT LAST_DAY(SYSDATE)FROM DUAL; ; 115.如何找数据库表的主键字段的名称? SQL>SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' and table_name='TABLE_NAME';--我没有查出来。 116.两个结果集互加的函数? SQL>SELECT * FROM BSEMPMS_OLD INTERSECT SELECT * FROM BSEMPMS_NEW; SQL>SELECT * FROM BSEMPMS_OLD UNION SELECT * FROM BSEMPMS_NEW; SQL>SELECT * FROM BSEMPMS_OLD UNION ALL SELECT * FROM BSEMPMS_NEW; 117.两个结果集互减的函数? SQL>SELECT * FROM BSEMPMS_OLD MINUS SELECT * FROM BSEMPMS_NEW; 139.如何查找重复记录? SELECT * FROM TABLE_NAME WHERE ROWID!=(SELECT MAX(ROWID)FROM TABLE_NAMe WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2); 140.如何删除重复记录? DELETE FROM TABLE_NAME WHERE ROWID!=(SELECT MAX(ROWID)FROM TABLE_NAME D WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2); 162.如何知道表在表空间中的存储情况? select segment_name,sum(bytes),count(*)ext_quan from dba_extents where tablespace_name='&tablespace_name' and segment_type='TABLE' group by tablespace_name,segment_name;--把&tablespace_name改成相应的表空间名称。