[计算机软件及应用]SQL第三天ppt课件_第1页
[计算机软件及应用]SQL第三天ppt课件_第2页
[计算机软件及应用]SQL第三天ppt课件_第3页
[计算机软件及应用]SQL第三天ppt课件_第4页
[计算机软件及应用]SQL第三天ppt课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

1、表数据操作表中数据的操作有四条根本语句insert:向数据表中添加记录delete:删除数据表中的记录update:修改数据表中的记录select :选择数据表中的记录DMLData Manipulation Language 数据操纵语言DML 利用 INSERT、SELECT、UPDATE 及 DELETE 等语句来操作数据库对象所包含的数据。DDL 用于定义和管理对象,例如数据库、数据表以及视图。DDL 语句通常包括每个对象的CREATE、ALTER 以及 DROP 命令。举例来说,CREATE TABLE、ALTER TABLE 以及 DROP TABLE 这些语句便可以用来建立新数据

2、表、修改其属性如新增或删除资料行、删除数据表等使用 INSERT 和 VALUES 插入行l必须遵守表的约束,否那么 INSERT 事务将失败l使用字段列表指定用于保存新数据的列 l指定相应的值列表lVALUES:引入要插入的数据值的列表 使用 INSERT 和 VALUES 插入行l为northwind数据库中的customers表增加一行新数据USE northwindINSERT into customerscustomerid, companyname, contactname, contacttitle,address, city, region, postalcode, count

3、ry, phone,faxVALUES PECOF, Pecos Coffee Company,Michael Dunn,Owner, 1900 Oak Street, Vancouver, BC,V3F 2K1, Canada,604 555-3392,604 555-7293GO使用 INSERT 和 SELECT 插入行l所有满足 SELECT 语句的行都被插入最外层l必须检验被插入了新行的表是否存在数据库中l确保数据类型是兼容的 l是否存在缺省值,或所有被忽略的列是否允许空值使用 INSERT 和 SELECT 插入行l为northwind数据库中的customers表增加新数据USE

4、 northwindINSERT customersSELECT substringfirstname, 1, 3+ substring lastname, 1,2,lastname, firstname, title, address, city,region, postalcode, country, homephone, NULLFROM employeesGO使用 SELECT INTO 语句l可使用 SELECT INTO 语句创立一个表并在同一操作中往表里插入行l可以创立部分的或全局的临时性表 l当前会话完毕,部分临时性表的空间会被收回l当表不再被任何会话使用,全局临时性表的空间会

5、被收回l在选择列表中,必须为列起一个别名或指定新表的列的名字使用 SELECT INTO 语句l从northwind数据库中的products表中查询部分数据,并插入到临时表中,列包括: productname AS products, unitprice AS price, unitprice * 0.1 AS taxUSE northwindSELECT productname AS products,unitprice AS price,unitprice * 0.1 AS taxINTO #pricetableFROM productsGO使用 TOP 限制插入的行l使用TOP语句限制

6、插入的行数USE northwindSELECT top 10 productname AS products,unitprice AS price,unitprice * 1.1 AS taxINTO #pricetableFROM productsGOSelect * from #pricetable插入部分数据l假如列有缺省值或允许空值,就可以在 INSERT 语句中忽略该列,SQL Server 将自动插入该值l要插入部分数据时,请注意:l只需列出正为 INSERT 语句提供数据所在列的名l在字段列表中指定要提供值的列l假如具有 IDENTITY 属性、允许缺省值或空值,那么不必在字段

7、列表中指定列l不使用单引号,而是通过输入 NULL 来输入空值插入部分数据l为northwind数据库中的shippers表增加新数据l只插入Companyname字段的数据USE northwindINSERT shippers companynameVALUES Fitch & MatherGOSELECT * FROM shippersWHERE companyname = Fitch & MatherGO练习练习-创立表要求:为?SAIKO教学管理系统?SAIKOTeachSystemDB数据库中的表添加信息:院校信息表Schoolsschoolidschoolname

8、1郑州大学软件学院2郑州轻工业学院软件学院3郑州师范学院4郑州商专班级信息表Classesclassidclassdata2020011012020/01/152020071012020/07/10练习-创立表班级信息表studentsStuidstunameBirthdaySexmobiletel classidshoolid20200110101张三1990/05/150134545454547878787812345aa.163 202001101120200110102李四1989/12/05113654545454bb.163 202001101220200110103王五1991/

9、07/05113854545454cc.163 2020011013工程表Projectsprojectidprojectnamedescription1控制台工程实现航空订票客户管理2WinForm工程3ASP.NET工程4综合大工程练习-创立表工程表ProjectItemsitemiditemnameitemgradeProjectid1工程设计文档是否全面完好1012工程整体界面布局合理情况1013代码是否有完好注释,程序命名标准度1014工程全面性,功能实现情况1015工程的整体技术难度1016演示工程是否流畅1027学员的解释是否明晰,谈吐是否流畅,对提问题解答是否正确1028人机交

10、互是否有验证,是否有异常处理1029工程的团队合作成功度10210工程的真实性,可行性,友好性102练习-创立表工程成绩表Projectitemreviewsreviewidreviewgradereviewdateitemidstudentid162020/3/5120200110101272020/3/5220200110101342020/3/5320200110101452020/3/5420200110101582020/3/5520200110101672020/3/5620200110101792020/3/5720200110101862020/3/58202001101019

11、52020/3/59202001101011082020/3/51020200110101练习-创立表工程成绩表Projectitemreviewsreviewidreviewgradereviewdateitemidstudentid1142020/3/51202001101021282020/3/52202001101021392020/3/53202001101021452020/3/54202001101021572020/3/55202001101021672020/3/56202001101021772020/3/57202001101021852020/3/58202001101

12、021952020/3/59202001101022072020/3/51020200110102练习-创立表工程成绩表Projectitemreviewsreviewidreviewgradereviewdateitemidstudentid2172020/3/51202001101032252020/3/52202001101032342020/3/53202001101032482020/3/54202001101032562020/3/55202001101032672020/3/56202001101032782020/3/57202001101032842020/3/5820200

13、1101032962020/3/59202001101033072020/3/51020200110103使用 DELETE 语句l 可在 DELETE 语句中参加 WHERE 语句 , 否那么将删除所有的行l可使用TOP限制删除的行l每个被删去的行都被存入事务日志记录中USE northwinddelete shippers WHERE companyname = Fitch & MatherGO使用 TRUNCATE TABLE 语句l删除表中所有的行,但保存表的构造和与之相关的对象lTRUNCATE TABLE 语句比 DELETE 语句执行速度快l假如表中有 IDENTITY

14、列,TRUNCATE TABLE 语句会重新设置原始数据USE northwindTRUNCATE TABLE ordersGO删除基于其他表的行l使用附加的 FROM 子句l第一个 FROM 子句指示哪一个表中的行被删除l第二个 FROM 语句引入一个连接或准那么,作为 DELETE 语句限制的条件l在 WHERE 子句中指定条件l使用子查询决定应删除哪些行DELETE FROM 表名表名 | 视图名视图名FROM ,nWHERE 搜索条件搜索条件 根据表中数据更新行l使用 WHERE 子句指出哪些行要更新l用 SET 关键字指定新值l输入值的类型必须与所定义的数据类型一致l不能更新违背任何

15、完好性约束的行l每次只能修改一个表中的数据l可以同时把一个或多个列、变量放在一个表达式中根据表中数据更新行l更新northwind数据库中的products表l更新unitprice字段为原有值的1.5倍USE northwindUPDATE products SET unitprice = unitprice * 1.5,列名,列名=新值新值GO面试题有两个表 表A 和表 B 这两个表 表A 中有两个字段 是ID 、Name B表中有两个字段 是ID、Name 写出一个sql语句 用表B的Name更新表A的Name 两个表用ID关联updateAsetA.Name=B.NamefromA,B

16、whereA.ID=B.ID表数据操作Select *域列名 from 表UseAdventureWorksSelect*fromproductUseAdventureWorksSelectname,productnumber,reorderpointfromproduct使用比较运算符使用比较操作符来比较表中的值与指定的值或表达式的值不等于小于或等于=小于等于=描述操作符使用字符串比较符 比较字符串时,可使用 LIKE 和通配符进展查找 查询条件中的字符串内,所有的字符都有效,包括开场和结尾的空格 LIKE 只可用于:char、nchar、varchar、nvarchar 和datetime

17、 通配符的种类通配符通配符描绘描绘%0或多个字符串或多个字符串_任何单个的字符任何单个的字符在指定区域或集合内的任何单个字符在指定区域或集合内的任何单个字符不在指定区域或集合内的任何单个字符不在指定区域或集合内的任何单个字符使用字符串比较符l查询northwind数据库中customers表中companyname 列的数据l查询companyname列包含Restaurant的数据USE northwindSELECT companynameFROM customersWHERE companyname LIKE %Restaurant%GO使用逻辑运算符l用逻辑操作符 AND、OR 和 N

18、OT 来连接一系列的表达式l使用 AND 返回满足所有条件的行l使用 OR 返回满足任一条件的行l使用 NOT 返回不满足条件的行l使用圆括号l为表达式分组l改变表达式求值顺序l增加表达式的可读性l优先级lNOT、AND、ORl由左到右使用逻辑运算符l查询northwind数据库中products表中的数据l要求一:unitprice大于16l要求二:productname以字母T开头,或者productid为16USE northwindSELECT productid, productname, supplierid, unitprice FROM products WHERE produ

19、ctname LIKE T% OR productid = 16 AND unitprice 16.00 GO检索一定范围内的值l使用 BETWEEN 来查询在一定范围内的值l使用 BETWEEN 时,注意l结果集中,包含范围内的边缘值l尽量使用 BETWEEN,而不用 AND 和比较操作符表示的表达式=x AND x AND 500ORDER BY SUMquantityGO连接连接含义为把来自两个表的信息放置在一个结果集中。分类:内部连接外部连接完全连接1.穿插连接连接内部连接是连接类型中最普通的一种,与大多数连接一样,内部连接根据一个或几个一样的字段将记录匹配在一起,但是内部连接仅仅返回

20、那些存在的字段匹配的记录。Usenorthwindselectproducts.*,suppliers.supplieridfromproductsinnerjoinsuppliersonproducts.supplierid=suppliers.supplieridusepubsselecta.au_lname+,+a.au_fnameasauthor,t.titlefromauthorsajointitleauthortaona.au_id=ta.au_idjointitlestont.title_id=ta.title_id连接外部连接时必需跟上左侧连接还是右侧连接。Usepubssel

21、ectdiscounttype,discount,s.stor_namefromdiscountsdleftouterjoinstoressond.stor_id=s.stor_idselectdiscounttype,discount,s.stor_namefromdiscountsdrightjoinstoressond.stor_id=s.stor_id连接完全连接是将join两侧的数据全部匹配,并返回所有记录。Usepubsselectdiscounttype,discount,s.stor_namefromdiscountsdfulljoinstoressond.stor_id=s.

22、stor_id连接穿插连接不使用on运算符,而将join左侧的所有记录与另一侧的所有记录连接,返回的是join两侧表记录的笛卡尔积。Usepubsselectdiscounttype,discount,s.stor_namefromdiscountsdcrossjoinstoress连接Union是一个特殊的运算符,用于将两个或两个以上的查询产生一个结果集。usenorthwindselectcompanyname ,address,cityfromcustomersunionselectcompanyname,address,cityfromsuppliers子查询IN关键字用来判断一个表中

23、指定列的值是否包含在已定义的列表中,或在另一个表中。usenorthwindselect*fromcustomerswherecustomeridinselectdistinctcustomeridfromorders子查询EXISTS表示子查询不需要返回多行数据,而只需要返回一个真值或假值。作用是在where子句中测试子查询返回的行是否存在。usenorthwindselect*fromorderswhereExistsselect*from customers where customerid=alfki 子查询Any表示,子查询返回值中至少有一个值与条件比较为真,就满足搜索条件。All表

24、示,子查询返回的每个值与条件比较都为真,才满足条件Any只要与一个子查询结果运算是真成立All必须都与子查询的结果运算是真才成立usenorthwindselectorderid,freightfromorderswherefreightanyselectsumunitpricefromorderdetailsgroupbyorderid类型转换函数Castcast是ansi兼容的和Convert都可以执行数据类型转换。大部分情况下,两者执行同样的功能,不同的是convert还提供一些日期格式转换,而cast没有这个功能。语法:Cast expression as data_typeConvertdata_type,expression,styleSelectTheCustomerhasan

温馨提示

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

评论

0/150

提交评论