数据库基础培训SQL语言培训_第1页
数据库基础培训SQL语言培训_第2页
数据库基础培训SQL语言培训_第3页
数据库基础培训SQL语言培训_第4页
数据库基础培训SQL语言培训_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库基础:SQL语法(1)第1页,共22页。北明软件员工培训讲义2章节查询数据的SQL语句修改数据的SQL语句管理数据定义的SQL语句第2页,共22页。3查询数据的SQL语句SELECT语句第3页,共22页。4查询数据的SQL语句--SELECT本章讲述如何使用SELECT语句的五个子句。在SELECT语句中,你必须按以下顺序使用这些子句:SELECT子句FROM子句WHERE子句ORDERBY子句SELECT

字段1,字段2…字段nFROM

表1,表2…表n第4页,共22页。5SELECT语句基础可以用多种方法来查询数据库中的一个表。你可以裁剪SELECT语句来达到以下目的:检索所有的或指定的列 selectid,namefromstudent(查询编号,姓名) select*fromstudent (查询所有字段)对检索所得的数据执行计算或其它函数 selectid,name,sum(mark)fromstudentgroupbyid,name

(按照编号、姓名为分组,对“成绩”进行汇总) (简单的说,就是查询每个学生的总成绩)第5页,共22页。6Where子句Where子句用于限制数据 selectid,namefromstudentwhereid=222233444

上句查找出编号为222233444的学生的学生编号和姓名

selectid,namefromstudentwherenamelike‘张%’

上句查找出姓名为“张”开头的学生的学生编号和姓名其它约束方法:Wherecolumn1like‘_b%’(部分匹配,%为通配符,表示>=0个任意字符,_表示一个任意字符)Whereidbetween10000and20000(范围匹配)Whereid>=10000andid<=20000Whereidin(100001,100005,133434)(集合匹配)WherenameisNULL (空值匹配)WherenameisnotNULL(非空值匹配)Wherecolumn1=column2(字段间匹配)(=,<=,>=,<,>,<>,….)

第6页,共22页。7Where子句(2)多条件限制 1)selectid,namefromstudentwhereid>23456andnamelike‘张%’ 2)selectid,namefromstudentwhereid>23456ornamelike‘张%’ 3)selectid,namefromstudentwhere(id>23456ornamelike‘张%’)

andmark>60

不要考虑条件匹配的先天优先级,在你想优先匹配的地方加上括号,永远是对的第7页,共22页。8Orderby子句(用于排序)单列排序Selectid,namefromstudentorderbyidasc(升序)Selectid,namefromstudentorderbyiddesc(降序)多列排序selectid,name,markfromstudentorderbymarkdesc,idasc (先按照成绩降序,如果成绩相同,则按照编号升序)asc可以省略,因为默认是按照升序排列但是desc不可以如:selectid,namefromstudentorderbyid(升序)第8页,共22页。9Groupby(用于汇总计算)GROUP中文意思:分组selectid,name,sum(mark)fromstudentgroupbyid,name

(上句按照id,name为分组,计算mark的汇总值)Selectid,name,avg(mark),sum(mark)fromstudentgroupbyid,name(上句按照id,name为分组,计算mark的平均值)Selectid,name,avg(mark)fromstudentgroupbyid(上一句语法是错误的,因为有一个字段name在分组之外,数据库不知道怎么归类计算)Selectid,name,mark1+mark2fromstudentgroupbyid,name(上一句也是错误的,mark1+mark2是两个字段间的计算,没有汇总计算,分组没有意义)第9页,共22页。10UNION组合查询结果1)Union–组合查询结果,合并重复记录Selectid,namefromstudentUnionSelectid,namefromteacher2)UnionAll–组合查询结果,不合并重复记录Selectid,namefromstudentUnionAllSelectid,namefromteacher第10页,共22页。11多表关联(1)内连接(innerjoin)

写法一:selecta.id,,b.id,fromstudenta,teacherbwherea.techer_id=b.id

写法二:selecta.id,,b.id,fromstudentainnerjointecherbona.techer_id=b.id(写法二是标准语法)第11页,共22页。12多表关联(2)外连接(outerjoin)左外连接(leftouterjoin)

写法一:selecta.id,,b.id,fromstudenta,teacherbwherea.techer_id*=b.id

写法二:selecta.id,,b.id,fromstudentaleftouterjointecherbona.techer_id=b.id(写法二是标准语法)右外连接(rightouterjoin)

写法一:selecta.id,,b.id,fromstudenta,teacherbwherea.techer_id=+b.id

写法二:selecta.id,,b.id,fromstudentarightouterjointecherbona.techer_id=b.id(写法二是标准语法)第12页,共22页。13子查询子查询的结果相当于一张tableSelectA.id,A.name,sum(A.mark)from(

selectid,name,markfromstudentwheremark>60)AGroupbyA.id,A.name子查询的结果相当于一个集合Selectid,namefromstudentwhereidin(

selectidfromstudentwheremark>60)很多数据库支持:Selectid,namefromstudentwhere(id,name)in(selectid,namefromstudentwheremark>60)第13页,共22页。14TeaBreak!第14页,共22页。15修改数据的SQL语句修改数据的SQL语句Insert(插入)Delete(删除)Update(修改)第15页,共22页。16INSERT语句基本语法:INSERTINTOtable(column1,column2,…columnN)Values(value1,value2,…valueN)例子:Insertintostudent(id,name,subject,mark)Values(25,‘李四’,‘语文’,60)第16页,共22页。17INSERT语句(2)根据查询结果插入数据 Insertintotable1( selectcolumn1,column2,…,columnNfromtable2 )

Insertintostudent( selectid,name,subject,markfromstudent2)注意:student表一定要刚好有id,name,subject,mark四个字段第17页,共22页。18DELETE语句–-删除数据情况一:全表删除Deletefromtable1(删除table1的全部数据)建议用truncate语句进行删除

truncatetablestudent情况二:组合Where子句 Deletefromstudentwhereid=2234343第18页,共22页。19UPDATE语句—修改数据语法:

UPDATEtablesetcolumn1=xxx,column2=xxx…,columnN=xxxxwhereconditionSample:Updatestudentsetid=333wherename=‘张三’第19页,共22页。20TeaBreak!第20页,共22页。21管理数据定义的SQL语句CREATE(创建数据库对象)DROP (删除数据库对象)ALTER(修改数据库对象)第21页,共22页。内容梗概数据库基础:SQL语法(1)。selectid,name,sum(mark)fromstudentgroupbyid,name。(部分匹配,%为通配符,表示>=0个任意字符,_表示一个任意字符)。selectid,name,markfromstudentorderbymarkdesc,idasc。Selectid,name,avg(mark),sum(mark)fromstudentgroupbyid,name。Selectid,name,a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论