第四章 数据的处理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第四章数据处理回顾•SQL和T-SQL的区别•数据库完整性的概念•数据的完整性(4种)•通过约束来保证数据的完整性(5种)•主键约束和唯一约束的区别•如何在创建表之后给特定的列添加约束?目标•使用SQLServer中的逻辑表达式和运算符•使用T-SQL向表中插入数据•使用T-SQL更新表中的数据•使用T-SQL删除表中的数据概述、专业术语•数据库是用来存放应用数据的仓库,对数据的操作都是通过SQL语言的DML命令语句来完成的•本章的内容将讲述SQLServer数据库的SQL语言概述及SQL的DML语句操作SQL概述•SQL—结构化查询语言•SQL的标准–SQL89–SQL92–SQL99SQL概述•SQL语言的特点–一体化的语言,包括数据定义、数据查询、数据操纵和数据控制的功能–高度非过程化的语言–语言简洁,切近英语自然语言–可以直接以命令方式交互使用,也可以嵌入到应用程序中SQL概述•SQL语言分类–数据查询(SELECT):用于检索数据库数据–数据定义(DDL):用于建立、删除修改数据库对象•CREATE、DROP、ALTER–数据操纵(DML):用于改变数据库数据•INSERT--增加新数据•UPDATE--修改已有数据•DELETE--删除已有数据–数据控制(DCL):用于执行权限的授权和回收工作•GRANT--授权•REVOKE--回收权限•SQL语言的核心是查询--SELECTSQL概述•SQL语句编写规则(1)SQL关键字不区分大小写(2)对象名和列名不区分大小写(3)字符和日期值区分大小写(4)一条SQL语句可单行书写,也可多行书写。使用缩进和跳格提高可读性SQL概述•T-SQL简介–T-SQL语言是TransactSQL的缩写,是微软公司对ANSI标准的SQL语言的一种扩展,是一种动态数据库编程语言,专用于MircrosoftSQLServer的数据驱动–T-SQL提供如下的命令:•创建和管理数据库对象。•访问和修改数据。•数据聚合。•管理安全性和权限。T-SQL中的运算符运算符含义=等于大于小于=大于或等于=小于或等于不等于!非与C语言中的一样,很难写错通配符通配符解释示例‘_’一个字符ALike'C_'%任意长度的字符串BLike'CO_%'[]括号中所指定范围内的一个字符CLike'9W0[1-2]'[^]不在括号中所指定范围内的一个字符DLike‘%[A-D][^1-2]'通配符使用说明•通常与LIKE关键字一起来使用•可以用在检查约束中使用LIKE•在后面的查询语句中还会经常使用到思考:身份证号码的约束表达式怎么写?逻辑表达式逻辑表达式说明示例AND逻辑与1AND1=1;1AND0=0;0AND0=0;OR逻辑或1OR1=1;1OR0=1;0OR0=0;NOT逻辑非NOT1=0;NOT0=1;NOT(付款方式='信用卡')OR(信用卡'阳光卡')讲述T-SQL之前…语法检查执行选择数据库数据库对象T-SQL执行结果使用INSERT新增数据库记录•使用INSERT命令语句的语法规则INSERT[INTO]{table_name[WITH(table_hint_limited[…n])]|view_name|rowset_function_limlted}{[column_list]{VALUES({DEFAULT|NULL|expression}[…n])|derived_table|execute_statement}}|DEFAULTVALUESINTO:可用在INSERT和目标表之间。table_name:需要插入数据的目标表。view_name:视图的名称,该视图必须是可以更新的。column_list:要在其中插入数据的一列或多列的名称列表。VALUES:为column_list列表中的各列指定值。使用INSERT新增数据库记录•给表的所有列增加数据•例:往EBuy数据库表customer中增加记录–首先确定需要输入的数据字段–然后确定需要输入的客户数据表customer输入的数据字段输入值客户帐号1001客户密码888888客户姓名张飞客户性别1电子邮箱zhangfei@wish-edu.com联系电话13900010001地址浦东、金桥镇、x1888号邮政编码200109身份证号098210210111111110使用INSERT新增数据库记录•打开“新查询编辑器窗口”,输入如图所示INSERT语句insertintoebuy.dbo.customervalues(‘1001’,‘888888’,‘张飞’,‘1’,‘zhangfei@wish-edu.com’,‘13900010001’,‘浦东、金桥镇、x1888号’,‘200109’,‘098210210111111110’)演示在表中插入记录使用INSERT新增数据库记录•给表的部分列增加数据•例:往表customer中插入一条记录,其中“电子邮箱”和“邮政编码”不填入数据输入的数据字段输入值客户帐号1002客户密码888888客户姓名关于客户性别1电子邮箱联系电话13988910566地址滨海、河东区、x1889号邮政编码身份证号688210210111111190表customer使用INSERT新增数据库记录•在查询编辑器窗口输入INSERT语句insertintoebuy.dbo.customer(cusid,cuspassword,cusname,cussex,telephoneno,address,passcardno)values(‘1002’,‘888888’,‘关于’,‘1’,‘13900010011’,‘浦东、金桥镇、x1889号’,‘098210210111111190’);使用INSERT新增数据库记录•DEFAULT约束对数据库增加记录的影响•从网上电子商城下商品购买订单,需要往Orders表里头增加数据记录输入的数据字段输入值订单号1客户号1001商品号8001数量付款金额10000.00付款方式现金日期2006-10-27是否确认1是否派货1表orders数量字段使用默认值使用INSERT新增数据库记录•在查询编辑器窗口输入INSERT语句订单产品的数量为10,这是数据库默认约束的值查询结果窗口insertintoebuy.dbo.orders(OrdID,CusID,ComID,PayAmount,PayWay,DTime,IsAfirm,IsSendGoods)values(1,1001,8001,10000.00,‘现金’,‘2006-10-27’,1,1);使用INSERT新增数据库记录•主键对新增数据库数据记录的影响•例:往orders表里再增加的一条记录,包含ordid主键字段数据“1”输入的数据字段输入值订单号1客户号1002商品号8002数量50付款金额10000.00付款方式现金日期2006-10-26是否确认0是否派货0表ordersinsertintoebuy.dbo.orders(OrdID,CusID,ComID,Amount,PayAmount,PayWay,DTime,IsAfirm,IsSendGoods)values(1,1002,8002,50,10000.00,‘现金’,‘2006-10-26’,0,0);使用INSERT新增数据库记录•查询编辑器窗口输入INSERT语句并执行执行时出错,主键字段不能重复使用INSERT新增数据库记录•其他约束对新增数据库记录的影响–外键约束–检查约束–唯一约束–非空约束•查询新增数据在查询编辑器窗口输入select*from表名可以查看前面所做操作的结果使用UPDATE更新记录•使用update命令语句的语法规则UPDATE{tablename[WITH](table_hintlimited[..n]|view_name|rowset_function_limited}SET{column_name={EXPRESSION|DEFAULT|NULL}|@variable=expression|@variable=column=expression}[…n]{{[FROM{table_source[…n]][WHEREsearch-condition]}|WHERECURRENTOF{{[GLOBAL]cursor_name}|cursor_variable_name}]}table_name:需要修改数据的表的名称SET:指定要修改的列或变量名称的列表column_name={EXPRESSION|DEFAULT|NULL}由表达式的值、默认值或空值去修改指定的列值WHEREsearch-condition:指明只对满足条件的行进行修改,若省略该子句则对表中所有行作修改使用UPDATE更新记录•更新数据库表中所有的行•例:修改customer表中的cuspassword(客户密码)为统一的初始密码“999999”updatecustomersetcuspassword=‘999999’;使用UPDATE更新记录•更新数据库表中特定的行•例:把customer表中cusid(客户号)为“1001”的cuspassword(客户密码)修改为“666666”updatecustomersetcuspassword=‘666666’wherecusid=‘1001’;使用UPDATE更新记录•更新数据库表中多个数据列•例:把customer表中cusid(客户号)为“1001”的cuspassword(客户密码)改为“666666”,同时修改其“邮件地址”为“e1001@sina.com”updatecustomersetcuspassword=‘666666’,email=‘e1001@sina.com’wherecusid=‘1001’;使用UPDATE更新记录•更新含有约束的列的数据值在对数据库数据作修改的时候,如果UPDATE语句违反了完整性约束,则更新将会失败并显示一条错误消息使用DELETE删除数据•DELETE命令语句的语法规则DELETE[FROM]{table_nameWITH{table_hint_limited[…n]}|view_name|rowset_function_limited}[FROM{table_spirce}[…n]][WHERE{search_condition|{[CORRENTOF{[GLOBAL]cursor_name]}}]使用DELETE删除数据•使用DELETE删除满足查询条件的库表行集•例:删除以上客户号为“测试2”的数据记录deletefromcustomerwherecusname=‘测试2’;使用DELETE删除数据•使用DELETE删除整个表数据•例:把customer表中的数据清空DELETEFROMcustomer•使用TRUNCATETABLE删除整个表数据TRUNCATETABLEcustomer总结•熟悉SQL的特点•熟悉SQL的分类–DML–DDL–DCL•深入掌握SQLServer2005中DML命令语句在应用系统中的用法–insert–update–delete作业(1)使用update对数据库表的主键列值进行修改一定不能成功吗?为什么?(2)简述delete与truncate在删除数据库数据的异同?(3)要修改基本表中的某一列的数据类型,如何做?作业完成订单管理数据库的增,删,改操作1,创建“订单管理”(OrderManager)数据库2,在订单管理数据库中创建“订单表”(Order),主键为“订单编号”,订单表结构如表所示作业字段名称数据类型说明订单编号(OrderId)整型非空业务员ID(UserId)整型空订购日期(OrderDate)日期空发货日期(SendDate)日期空运费(Price)货币空货主名称(PeopleName)可变长字符空地址可变长字符空作业3,在“订单管理”库中,向

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功