- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 结构化查询语言SQL 4.1 SQL数据更新 4.2 检索表中的数据 4.3 高级检索技术 4.4 SQL定义语句 4.1 SQL数据更新 SQL语言的数据更新DML主要包括插入数据、修改数据 和删除数据 三种语句。 一、插入数据记录 插入数据是把新的记录插入到一个存在的表中。插入数据使用语句INSERT INTO,可分为以下几种情况。 1、插入一行新记录 语法格式为: INSERT INTO 表名[(列名1[,列名2……])] VALUES(值1,[值2, ……]) 其中,表名是指要插入新记录的表; 列名是可选项,指定待添加数据的属性列; VALUES子句指定待添加数据的具体值。 列名的排列顺序不一定要和表定义时的顺序一致。 但当指定列名表时VALUES子句值的排列顺序必须和列名表中的列名排列顺序一致,个数相等,数据类型一一对应。 2、插入一行的部分数据值 例4.2 在SC表中插入一条选课记录(’S7’,’C1’)。 INSERT INTO SC (SNO,CNO) VALUES (s7, c1) 将VALUES子句中的值按照INTO子句中指定列名的顺序插入到表中 对于INTO子句中没有出现的列,则新插入的记录在这些列上将取空值。 但在表定义时有NOT NULL约束的属性列不能取空值。 3、 插入多行记录 用于表间的拷贝,将一个表中的数据抽取数行插入另一表中,可以通过子查询来实现。 插入数据的命令语法格式为: INSERT INTO 表名 [(列名1[,列名2…])] 子查询 二、修改数据记录 SQL语言可以使用UPDATE语句对表中的一行或多行记录的某些列值进行修改,其语法格式为: UPDATE 表名 SET 列名=表达式 [,列名=表达式]… [WHERE 条件] 其中: 表名是指要修改的表 SET子句给出要修改的列及其修改后的值 WHERE子句指定待修改的记录应当满足的条件,WHERE子句省略时,则修改表中的所有记录。 1、修改一行 例4.4:把刘伟教师转到信息系。 UPDATE T SET DEPT=信息 WHERE TN=刘伟 2、修改多行 例4.5:将所有学生年龄增加1岁 UPDATE S SET AGE=AGE+1 例4.6 把教师表中工资小于等于1000元的讲师的工资提高20%。 UPDATE T SET SAL=1.2*SAL WHERE PROF=‘讲师’ AND SAL=1000 三、删除数据记录 使用DELETE语句可以删除表中的一行或多行记录,其语法格式为: DELETE FROM 表名 [WHERE 条件] 其中, 表名是指要删除数据的表。 WHERE子句指定待删除的记录应当满足的条件,WHERE子句省略时,则删除表中的所有记录。 1、删除一行记录 例4.7 删除教师号为T0015的记录。 DELETE FROM T WHERE TNO=’T0015’ 2、删除多行记录 例4.8 删除所有教师的授课记录 DELETE FROM TC 执行此语句后,TC表即为一个空表,但其定义仍然存在。 4.2 检 索 表 中 的 数 据 一、 SELECT命令的格式与基本使用 数据查询是数据库中最常见的操作。 SQL语言提供SELECT语句,通过查询操作可得到所需的信息。 SELECT语句的一般格式为: SELECT〈列名〉[{,〈列名〉}] FROM〈表名或视图名〉[{,〈表名或视图名〉}] [WHERE〈检索条件〉] [GROUP BY 列名1[HAVING 条件表达式]] [ORDER BY 列名2[ASC|DESC]]; 查询的结果是仍是一个表。 SELECT语句的执行过程是: 根据WHERE子句的检索条件,从FROM子句指定的基本表或视图中选取满足条件的元组,再按照SELECT子句中指定的列,投影得到结果表。 如果有GROUP子句,则将查询结果按照列名1相同的值进行分组。 如果GROUP子句后有HAVING短语,则只输出满足HAVING条件的元组。 如果有ORDER子句,查询结果还要按照列名2的值进行排序。 例4.9: 查询全体学生的学号、姓名和年龄。 SELECT ALL SNO, SN, AGE FROM S 例4.10: 查询学生的全部信息。 SELECT * FROM S 用‘ * ’表示S表的所有记录的全部列名,而不必逐一列出。 例4.11: 查询选修了课程的学生号。 SELECT DISTINCT SNO FROM SC 查询结果中的重复行被去掉 上述查询均为不使用WHERE子句的无条件查询,也称作投影查询。 另外,利用投影查询可控制列名的顺序,并
文档评论(0)