- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10周第2次课—第20章、21章
高级数据处理 主讲人: 许雪峰 Email: 办公地点:C7 二楼 203 计科系 更新和删除数据创建和操纵表 本次课主要内容 更新和删除数据 更新数据 删除数据 更新和删除的指导原则 创建和操纵表 创建表 更新表 删除表 重命名表 更新和删除数据 更新数据 关键字 UPDATE UPDATE使用方式 更新表中特定行 更新表中所有行 UPDATE语句的基本构成 要更新的表 列名和它们的新值 确定哪些行要进行过滤 基本语法形式 UPDATE customers SET cust_email = ‘elmer@’ WHERE cust_id = 10005; 例子 把顾客表中ID号为10001的顾客信息修改为同学本人的信息 删除某个的值 UPDATE customers SET cust_email = null WHERE cust_id = 10005; 例子 删除顾客表中ID号为10001的email信息 注意事项 UPDATE语句可以使用子查询,能用SELECT语句检索出的数据更新列数据 默认情况下,在更新时,如果其中的某一行或多行出现错误,整个UPDATE操纵被取消 如果即使发生错误,也继续进行更新,使用IGNORE关键字: UPDATE IGNORE customers 删除数据 关键字 DELETE DELETE使用方式 从表中删除特定的行 从表中删除所有行 DELETE使用方式 DELETE FROM customers WHERE cust_id = 10006; 例子 删除没有下过订单的顾客记录 注意 DELETE不需要列名或通配符, DELETE删除的是整行而不是删除列 如果要删除指定的列,请使用UPDATE语句 DELETE语句从表中删除行,甚至是删除表中的所有行,但是DELETE不删除表本身 如果想更快地删除表中所有行,可以使用TRUNCATE TABLE 语句 更新和删除的指导原则 除非确实打算更新或删除每一行,否则绝对不使用不带WHERE子句的UPDATE或DELETE 保证每个表都有主键 在对UPDATE或DELETE语句使用WHERE子句之前,先用SELECT语句进行测试 使用强制实施引用完整性的数据库,这样MySQL将不允许删除具有与其他表相关联的数据的行 创建和操纵表 创建表 创建表的方式 使用具有交互式创建和管理表的工具 直接使用MySQL语句 表创建基础 表创建时必须给出的信息 新表的名字 表列的名字和定义,用逗号隔开 关键字 CREATE TABLE 创建表的样例 CREATE TABLE orders IF NOT EXISTS ( order_num int NOT NULL AUTO_INCREMENT, order_date datetime NOT NULL , cust_id int NOT NULL , PRIMARY KEY (order_num) ) ENGINE=InnoDB; 使用NULL值 NULL值就是没有值或缺值 每个表列或者是NULL列,或者是NOT NULL列 NULL为默认设置,如果不指定NOT NULL,则认为指定的是NULL 主键再介绍 主键值必须唯一 如果是由多个列组成的主键,在定义主键时应该以逗号分隔 主键可以在创建表时定义,或者在创建表之后定义 主键中只能使用不允许NULL值的列 使用AUTO_INCREMENT AUTO_INCREMENT 告诉MySQL,本列每当增加一行时自动增量 每个表只允许一个AUTO_INCREMENT,而且它必须被索引 可以覆盖AUTO_INCREMENT 确定AUTO_INCREMENT值 LAST_INSERT_ID使用方法 一是不带参数:LAST_INSERT_ID(),这种方法和AUTO_INCREMENT属性一起使用,当往带有‘AUTO_INCREMENT’属性字段的表中新增记录时,LAST_INSERT_ID()即返回该字段的值 二是带有表达式:如上面介绍的LAST_INSERT_ID(value+1),它返回的是表达式的值,即‘value+1’; 指定默认值 关键字 DEFAULT 使用情况 如果在插入行时没有给出值,MySL允许指定此时使用默认值 语法格式 CREATE TABLE orderitems ( order_num int NOT NULL , order_item int NOT NULL , prod_id char(10) NOT NULL , quantity int NOT NULL DEFAULT 1, it
原创力文档


文档评论(0)