版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQL教程1) SQL简介SQL(Structured Query Language ,结构查询语言)是一个功能强大的数据库语言。SQLffi常使用于数据库的通讯。ANSI (美国国家标准学会)声称,SQL是关系数据库管理系统的 标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或 者从数据库中检索数据。使用 SQLB常见关系数据库管理系统有:Oracle、Sybase、Mi crosoft SQL Server 、Access、Ingres 等等。虽然绝大多数的数据库系统使用 SQL但 是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL#令,
2、比如"Select"、"Insert" 、"Update"、"Delete" 、"Create"和"Drop"常常被用于完成绝 大多数数据库的操作。但是,不像其它的语言,如 G Pascal等,SQLS有循环结构(比如if-then-else 、d o-while )以及函数定义等等的功能。而且 SQL只有一个数据类型的固定设置,换句话说, 你不能在使用其它编程语言的时候创建你自己的数据类型。SQL功能强大,但是概括起来,它可以分成以下几组:DML( Data Manipul
3、ation Language ,数据操作语言):用于检索或者修改数据;DDL (Data Definition Language ,数据定义语言):用于定义数据的结构,比如 创建、修改或者删除数据库对象;DCL(Data Control Language ,数据控制语言):用于定义数据库用户的权限。2) SQL常用语句3) 1 ?SELECT 语句作用:SELECT语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。语法:SELECT目标表的一个或多个列名称,列名前可加表达式,如:avg(年龄)FROM目标表的名称;以及:SELECT * FROMft名称;注释:*代表选取全部。示
4、例: 卜面是示范在一个表中选取自己想要的信息,例如我只想要老师们的联系电话。耳土, 照 画薮 运判福亭丁姓石,性M土万郑 F帚电诘盛田解育194-Z-13 克房二阳二7。-团子制较授 中文 (3LC)655L2百近就师泊翼机 EE 612111EL5L41E(CIO) 6551Z丰芸立啜*世女分198:二 23 凭员19E7 10强回员109? 2-12 更工1969-12-24 克反1989±12 国及2QU0-1-IS 兑反-育(OLO) 655IE (HO) 65511 心,55EE(M12J 55ECH £9356(CLO 65346(.4:5 5n七24江小部里一
5、次早男19 胴-E-35 1957-T-8 :0|加7-23劄性2(0971) 555E(0379 356S 刚。65345 (010)6534+ (CLD) 65343这是原表(教师表),里面包含了教师编号等等信息,在这个表中工作时间、政治面目等 等都是我们不需要知道的信息所以我们要有选择的选取1学生 课程:,雷丽”苴出题编j学教峙善意端5ELEC1教师编号,姓名,性别,联系电话FR0IM教师,这个是在SQL视图中输入的代码(如何打开 SQL视图不在这里列举)代码的含义是:选取“教师编号,姓名,性别,联系电话“这四个列,列的来源是“教师”这个表口 学生 等提 一蓼E i二1选渠成填 ji聊用
6、表查迪性别联系电话(Eg S551211L213 14L5 23丈女女女女男男女男男男丈6551Z 65512 6551255535553633 3713 5553356965343 fi534i £5343这个是最终的结果,可以看到只有我们要的“教师编号 ,姓名,性别,联系电话“列,政治面目等并没有在里面。拓展1:SELECT DISTINCT语句作用:在一个表中,可能会包含重复值。这并不成问题,不过,有时你也许希望仅仅列出不同(distinct )的值。关键词DISTINCT作用就是用于返回唯一不同的值。语法:SELECT DISTINC创名称FROM表名称示例:在教师表中有两个
7、人的名字是江小洋,这里示范只选取江小洋国选独遍 工救麻表苴询教怵编弓叶姓名 性别 工作时间T19畀 21990-9-122000-12-12该泊百目 学历 员黄良党团党典050607J 1, j73 U-197-7-EW , 副教授 高辗顿师 副救援 副教,授 副教投 高辗教师 用币比09101112131415 的母畔鹏 灵芬丽洋揩小大程由大源网小因女男男女女女女里iyyy-12-zt 193-12-2S 1996-12-11骐土工1TE 19M0-5-2317-10-14 199-2-121969-12-24余员员次员员员员A界党团监党团党党群2 2一载!币高盛教怵期授载师裆师悬级教师沏币
8、阳 机 机 系文文真语律医理学学算语律医理学理 中如Tt英法中物野数计英法中物药物,联系电活-希藕籥010)65512(01 Oj EG2 5m1010. £5阻E(13昂3TLS(。9口) 5558(0372: 3EB9(010J 65245(010'j 曲冽 4(以 633-tS(010)65512f 010)1 65512(010: 6&bl265*512(0412: 5556 (0412) 5559 0101 而 3M在原表中可以看到“教师编号”为 09, 16的两个人的名字都是江小洋。这是SQL代码。代码解析是:选取列名为“姓名”中的唯一值,列的来源是”教师
9、“这个 表。这是结果,可以看到他只选取了一个江小洋。并没有显示两个江小洋。拓展2:SELECT表达式(列名)语句作用:往往我们在选取信息的时候希望能够直接得到一些间接信息。如,我想要知道班级 的平均分。语法:SELECT表达式(列名)FORM表名示例:这是一个“选课成绩”表里面有一个”成绩“列,我希望直接得到成绩的平均值。这是原表。SQL代码图,名词解释:AVG为每一组中的指定字段求平均值。(更多的函数和逻辑运算 符会在附录中列出)AS:为指定的列或表指定一个别名。(因为AS内容并不多就不再单独列出一个拓展了 )代码解析:选取“成绩”歹I,并计算这个字段的平均值,同时为这个字段重新命名为:成绩
10、平均值,这个列的来源表是“选课成绩”表。这是结果图,通过计算可以得知成绩列的平均值是72.46.课堂作业:为每个学生计算平均成绩和为每门课程计算平均成绩,并把结果字段更名为“平均值”。2. 2? WHERE?旬作用:WHER皆句用于规定选择的标准。 WHER后面接的是条件表达式,如需有条件地从 表中选取数据,可将 WHERE?句添加到SELECT语句语法:SELECT列名称FROM表名称 WHER舔件表达式示例:例如我想知道一个名字叫“洪智伟”的学生的信息。这是原表,里面拥有多条学生信息,我们可以看到第一个就是“洪智伟”同学的信息,我 们的目的就是选取他的信息。代码图,代码解析:选取所有字段名
11、,字段的来源表是“学生”表,选取的条件是“姓名”等于“洪智伟”的记录。结果图,可以看到虽然来源表中有 N条记录当选取到的记录只有一条。其姓名叫洪智伟。拓展:AND & OR运算符作用:AND和OR运算符用于基于一个以上的条件对记录进行过滤。AND和OR运算符AND和OR可在WHERE?语句中把两个或多个条件结合起来。 如果第一个条件和第二个条件都成立,则AND运算符显示一条记录。如果第一个条件和第二个条件中只要有一个成立,则OR运算符显示一条语法:SELECT列名称FROM表名称 WHER舔件AND/OR条件注释:AND&OR以嵌套使用!示例:我想选取“所有山东省的男生”或“所
12、有北京市的女生”这是原表,数据非常多而且杂乱,用刷选来查找记录的话非常麻烦,所以选用SQL查询。代码图,代码解析:选取所有字段,字段的来源是“学生”表。选取的条件是“性别是男的并且简历是山东省的学生”或者“性别是女的并且简历是北京市的学生”(本来想先做一个简单AND/OR句再做多个拓展来介绍嵌套的使用,不过觉得太浪费篇幅,并且嵌套不难理解,注意一下嵌套需要用 括号()括住就可以了!)课堂作业:选取是团员的男生和简历是山东省的女生。2. 3? GROUP BYf旬作用:GROUP B书句用于结合合计函数,根据一个或多个列对结果集进行分组。语法:SELECT 一个或多个列名,可接函数FROM
13、74;1名WHER条件表达式GROUP BYJ 名示例:要求列出“选课成绩”表中的“课程编号”从“ 110-120”的课程成绩平均值。(呵 呵,好像和之前的作业蛮像得=。=!)原表图,原表中每个课程都有 N个学生选,其成绩也有N项,为了直观的显示我们来求以 整数来表达的平均值。SQL代码图,名词解释:INT:将数值取整数,如把72.2显示为72,四舍五入。BETWEEN?ANEBETWEENM乍符在 WHERE?句中使用,BETWEEN . AND会选取介于两 个值之间的数据范围。这些值可以是数值、文本或者日期。代码解析:选取课程编号和成绩两个字段,并且计算成绩字段的整数平均值和更名为成绩平均
14、值,字段的来源表是“选课成绩”表。选取记录的条件是"课程编号在 110 - 120 这个区间内的记录”,然后根据课程编号来分组。结果图,课程编号中只显示了 110-120的记录,其成绩的平均值也为整数。!拓展:HAVING子句 作用:在SQL中增加HAVING子句原因是,WHER庆键字无法与合计函数一起使用。同时 HAVING是紧跟着GROUP BYS旬出现的,提供一个组的条件表达式。语法:SELECT 一个或多个列名,可接函数FROM®1名WHER条件表达式GROUP BYJ 名HAVING组条件表达式示例:在上一个示例当中更加进一步的精确选取数据,只选取平均分超过75分
15、的记录。因为是延续上个示例,所以原图一样就不再列出。SQL代码图,代码解析:在原有的代码基础上添加了 HAVING?句。使得数据更具有精确性, 为了让大家更加明确了解 WHER和HAVING勺区别在这里在给大家看一个图。可以看到如作用:哪里所说的。WHERE旬当中是不能使用聚合函数的!如果我们希望得 到一个平均值大于某个数的记录的话。我们使用 WHERE句的话是做不到的,这个时候就 必须使用HAVINGT而需要注意的是HAVING在GROUP BY句后使用的。结果图,可以看到110-120区间内只有两门课程的成绩平均值在 75分以上。2. 4?oRDER BY子句作用:ORDER BY5句用于
16、根据指定的列对结果集进行排序。ORDER BY5句默认按照升序对记录进行排序。如果您希望按照降序对记录进行排序,可以使用DESC关键字。语法:SELECT 一个或多个列名,可接函数FROM®1名DRDER BYRJ名示例:让教师表里面的记录按照男女排列。原表图,原表中是根据教师编号来排列的。SQL代码图,代码解析:选取全部字段,字段来源表是“教师”表,表的排序是根据表中的“性别”字段来排序。结果图,可以看到表是根据性别来来排序的,先男后女,因为男的拼音是“nan”而女的拼音是“nv",access中的汉字排序是根据汉字拼音的字母顺序来排序的。拓展:综合应用SELECT 一个
17、或多个列名,可接函数FROM®1名WHER条件表达式GROUP BYJ 名HAVING组条件表达式ORDER BYJ 名 DESC因为ORDER BY句是对结果白重新排序,所以在此就不结合多个语句使用了, 只是告诉大家能结合之前所学内容使用而已!示例:对上个示例的结果进行降序排列。原图一样就不提供了。SQL代码图,代码解析:和之前的示例一样,只是按照降序排列而已。结果图,可以看到和之前的那个结果图的排序刚刚相反,这次是女的排在前。课堂作业:让“教师”表按照性别降序排序,并且“学历”升序排序。2. 5?INSERT INTO语句作用:INSERT INTO语句用于向表格中插入新的记录!
18、 !注意在添加记录之前一定要先查看被添加记录表的字段设置属性,看看字段有没有设置为不能为空或者字段最大值等等之类的。语法:INSERT INTO表名称 VALUES (值 1,值 2,.)注释:因为插入的是一个表的全部列值所以列名可以忽略不写。我们也可以指定所要插入数据的列:INSERT INTO 表名(歹U 1,列 2,.) VALUES ( 值 1,值 2,.)注释:如果插入的知识表的部分列值的话,则必须列出相应的列名。没有的列出的列名则 取空值。示例:向“学生”表添加一个记录原表图,表中的记录排第一的是“洪智伟”。SQL代码图,代码解析:向“学生”表中的“学生编号,姓名,年龄,简历”字段
19、添加一 个新的记录,记录的内容是“学生编号为1991,姓名是黄学宇,年龄为18,简历为广东省”注释:因为添加记录具有不可恢复性所以 access会弹出个警告框来询问你是不是确定要进 行这步操作。结果图,可以看到记录已经成功添加,没有选择的字段为空值。拓展:高级应用作用:向一个表中添加由多个表组合成的新纪录。语法:INSERT INTO添加记录的表名称(列1,列2)SELECT表1.列1,表1.列2,表2.列1,表3.列1FROM®1 1,表 2,表 3WHER条件表达式;示例:制作一个补考人员名单 原表图,这是个空表,在向一个表添加记录时一定要确认这个表的存在而且要确认字段的 属性。
20、这是个我刚刚建立的新表,字段属性都是文本,没有任何限制条件。在这里我是用 SQL建立的这个表。关于建立新表的SQL代码大家可以使用CREATE TABL曲句,因为这 篇教程只是介绍基本SQL内容所以没有在这里列举。有需要的话我会在写多一份相对高级 点的教程。SQL代码图,代码解析:向“补考人员名单”这份表中的“学生编号,姓名,课程名称, 成绩”字段添加记录。添加的新记录来至于“学生”表中的“学生编号”,“学生”表中 的“姓名”,“课程”表中的“课程名称”,“选课成绩”中的“成绩”。选取的条件是“选课成绩”中的“成绩”小于60,且在这些表中“学生”表里面的“学生编号”等于“选 课成绩”中的学生编
21、号”,“课程”表中的“课程编号”等于“选课成绩”中的“课程编 号”。同样的,因为这个操作具有不可恢复性所以一样会弹出警告框!在这里还可以使用INNER JOIN (内连接)语句来连接这3个表的相同字段。在这里并没有列举,理由同上。结果图,可以看到所有成绩低于 60的记录都被选取出来。其显示结果也很直观,联系了 3 个表中的数据。课堂作业:制作一个优秀学员名单,要求选课成绩有两门成绩上80分。2. 6?UPDATE§句作用:Update语句用于更新,修改表中的数据。语法:UPDATES 名称SET列名称=需要改变的新值WHER条件表达式注释:WHERE句用于确认目标列来修改数据。示例:
22、修改错误数据。这是之前的例子用INSERT INTO语句来插入的一条记录,在这里与上个例子不同的是“黄 学宇”在这里是为团员,而且入校日期也没有填写,我们利用UPDAT来补齐。SQL代码图,代码解析:更新“学生”表,更新的设置为:把入校日期更新为“ 2009-4-22 ”,把学生编号修改为“ 0 00000”,团员修改为“非团员”。更新的列是姓名等于“黄学宇”的那个列。注释:关于 “团员=false ”存在疑问,因为我是通过其他语言来类比得出来的,经过 王老师指导,说是错误的。当然在 SQL±使用完全没有问题,在这里只是给大家提供一个参考0结果图,数据已经完全按照我们输入的那样来更新、修改了!拓展:ALTER TABLE®旬作用:ALTER TABLE®句用于在已有的表中添力口、修改或删除列。语法:如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运输车贷款购销合同(2篇)
- 《水浒传》导读-【整本书阅读】名著《水浒传》导读+知识清单+专题探究+新题速递
- 学术认证报告单附件9
- 职业技术学院电子信息工程技术专业人才培养方案
- 危害因素辨识与风险防控专项试卷
- 统编版语文八年级上册 第三单元 课外古诗词诵读 课时练习
- Lesson 3 We are having a sports meet (说课稿)-2024-2025学年接力版英语六年级上册
- 西昌学院《播音主持作品赏析》2021-2022学年第一学期期末试卷
- 西安外国语大学《新媒体视觉设计》2022-2023学年第一学期期末试卷
- Unit 1 Cultural Heritage Discovering Useful Structures 说课稿 -2024-2025学年高中英语人教版(2019)必修第二册
- 五年级上册简易方程练习400题及答案
- 软件技术生涯报告
- 员工安全出行知识培训
- 大数据与会计职业生涯规划
- 眼科护理中的围手术期护理与管理
- 高三英语一轮复习七选五深度剖析课件
- 二次结构施工培训
- 中华民族的形成与发展(原版)
- 乐器租赁市场需求与增长潜力
- 视觉传达专业大学生职业规划
- 铁塔基础施工方案施工方案
评论
0/150
提交评论